Heroku Connect
Manage Heroku Connect as a stateful sync system between Salesforce and Heroku Postgres.
Start with plugin and connection inspection
Resolve this installed skill's directory first. Do not assume the current workspace contains the skill source repository.
Run the bundled inspection helper from this skill's scripts/ directory:
python3 /path/to/heroku-connect/scripts/plugin_status.py
Use the output to determine:
- whether the Heroku CLI is installed
- whether the Heroku Connect CLI plugin is installed
- whether Connect subcommands are available in the current shell
Preferred workflow
- confirm the app has both Heroku Postgres and Heroku Connect provisioned
- install the Connect plugin if needed with
heroku plugins:install @heroku-cli/heroku-connect-plugin - set the target database with
heroku connect:db:set DATABASE_URL -a <app> [--resource <resource>] - authenticate to Salesforce with
heroku connect:sf:auth -a <app> [--resource <resource>] - inspect the connection with
heroku connect:info - run
heroku connect:diagnosebefore changing mappings or attempting recovery - prefer dashboard-created mappings for new setups, and CLI import/export for repeatable configuration
- verify sync state after every change
Mapping and recovery guidance
- Use
connect:exportandconnect:importfor repeatable config moves. - Prefer
connect:mapping:diagnosebeforeconnect:mapping:reload. - Treat
pause,resume,recover,mapping:delete, and config import as state-changing operations. - If an app has more than one Heroku Connect add-on, specify
--resource. - Treat
connect:db:setandconnect:sf:authas setup operations for new connections, not read-only inspection.
Guardrails
Ask for confirmation before:
- provisioning Heroku Connect or changing plans
- importing mapping configuration into a live connection
- pausing or resuming production sync
- deleting mappings
- running reloads that will repopulate large datasets
Keep API rate limits in mind if scripting against the Connect API.
References
- Read
references/connect-workflows.mdfor plugin commands, API notes, and source links.