The Heroku Connect Dashboard
Last updated December 08, 2022
The Heroku Connect dashboard allows you to configure, monitor, and troubleshoot your connection. This article covers the dashboard’s features.
Open the Dashboard
The dashboard is available at connect.heroku.com.
The Heroku CLI command heroku addons:open herokuconnect
also opens the dashboard in your browser.
Overview Tab
The Overview
tab provides a summary of your mappings, connection status, and key associated metrics. Notifications appear in orange near the top of the page if there are errors for reads and writes.
The Activity
section shows a histogram of the data movement from Salesforce to Heroku Postgres. If you have write mappings configured, there’s also a histogram of the data movement from Heroku Postgres to Salesforce. Highlight a data point to see the specific number of rows and errors. You can change the displayed time period using the dropdown list in the top right of the graph.
Mappings Tab
The Mappings
tab lists every mapping in the connection. Click Create Mapping
to add one. See Create a Mapping for more info.
This tab lists the number of each of the following per mapping:
- Mapped fields
- Salesforce rows
- Postgres rows
- Pending writes
- Errored writes
Row Counts
Row counts can differ between Salesforce and your database for a number of reasons, including:
- Errors reading or writing data, such as validation errors in Salesforce or constraints in your database.
- Records are no longer visible to Heroku Connect, such as archived Events and Tasks.
- For mapped objects with over a million records, Heroku Connect uses estimates. It uses the Salesforce API to provide row count estimates rather than the exact number to improve query performance.
- For mapped tables with several million records, Heroku Connect quickly calculates estimates of database row counts. This estimation improves query performance over performing a full row count after every sync operation.
- Record counts can be inaccurate after the first poll following an initial load or reload of data. The subsequent poll operation provides more accurate data.
- Writes shown per mapping always refer to writes from Salesforce to Heroku Postgres. Writes to Salesforce happen at the connection instead of the mapping level. See Writing Data to Salesforce with Heroku Connect for more info.
Missing Row Counts
For mapped objects with a high number of records, some counting operations take too long to succeed. When this happens, Heroku Connect attempts to use a Salesforce API that provides row count estimates instead, but this API isn’t available for all objects. In those situations, such as CaseComment
, Heroku Connect is unable to retrieve a row count at all. Heroku Connect still syncs data successfully under these conditions, even though your Heroku Connect dashboard doesn’t show the number of Salesforce records.
Mapping Actions
The caret icon to the right of each row is a button that opens a list of mapping-specific actions:
- Edit: Opens the mapping edit view. See Edit a Mapping for more info.
- Reload: Forces a reload of all data in the mapped table. See Reload a Mapping for more info.
- Poll Now: Forces a poll for changes in Salesforce outside its normal polling interval. “Poll Now” isn’t a substitute for standard or accelerated polling and is subject to lower rate limits. You can make one “Poll Now” request per minute, up to 100 requests per day. See Mapping Configuration Options for more info on polling.
- Abort: Aborts the current mapping operation. See Abort a Mapping for more info.
- Logs: Opens the
Logs
tab, set to the specific mapping. - Explorer: Opens the
Explorer
tab, set to the specific mapping. - Delete: Deletes the mapping. See Delete a Mapping for more info.
Mapping Details View
This view has mapping-specific data movement graphs and details of each mapped field. On the Mappings
tab, click a mapping’s name from the list to open the mapping detail view.
Logs Tab
This tab allows you to view detailed information about the synchronization operations being performed by Heroku Connect as they happen. You can filter by mapped object, log type, and log level. To see and analyze historical logs, you must configure a log drain. See Heroku Connect Log Messages and Common Errors for more info.
Explorer Tab
This tab provides access to the Sync Explorer tool. Sync Explorer provides a side-by-side comparison of the data held in Salesforce and in the mapped database tables. Use this tool to get detailed information on an individual row’s status.
You can filter by mapping and row synchronization state and search for text contained in the id
, sfid
, _hc_err
and name
fields.
Diagnose and fix sync issues by using the Sync Explorer with the Logs
tab to check the operations performed by Heroku Connect. The most common synchronization error that occurs when reading is insufficient permissions to read the mapped object. The most common synchronization error that occurs when writing is insufficient write permissions for the target Salesforce org. See Heroku Connect Log Messages and Common Errors for more info.
Settings Tab
This tab contains a dropdown list for management options and info.
Manage Connection
Click Manage Connection
to open the connection details view.
Settings
This section shows the following info about your connection:
- App name: The app the Heroku Connect add-on is attached to.
- Add-on plan: The add-on’s current plan. See Available Plans for more info.
- Add-on name: The unique name of your add-on. It’s also the
resource_name
used in the Heroku Connect API. See Add-ons Overview for more info on add-on names. - Tab label: You can optionally assign a custom display label for your connection in your dashboard.
- Database schema: The name of the schema in Heroku Postgres used to store Salesforce data.
- Cell label: The cell refers to the region or subregion that the connection belongs to. For example, Virginia-3 (US).
- Cell URL: The root URL for your cell for the Heroku Connect API.
Write Algorithm
Connect supports two algorithms when writing to Salesforce: Merged Writes and Ordered Writes. See Choose the best write algorithm for your use case for more info.
Pause
Click Pause
to manually pause sync for maintenance or other reasons. See Pause a Connection for more info.
Click Resume
to resume the connection. Resuming a connection is a non-destructive action that allows recovery from manually pauses or unexpected errors. Heroku Connect restarts processes and resumes sync from the last successful poll. See Resume a Connection for more info.
Recover from Error
Click Recover From Error
to clear out an unexpected error state and resume synchronization. See Heroku Connect Log Messages and Common Errors for more info.
Access
The Access
section lists users who can access the add-on and receives notifications. For more info on error notifications, see Errors with associated notifications.
Orphaned Mappings
This section lists objects removed or renamed in your Salesforce org that still have mappings in Heroku Connect. Click Remove Orphaned Mappings
to delete them from your configuration.
Audit Trail
Heroku Connect keeps a record of administrative changes to your connection’s configuration. Click Download Audit Trail
to export to CSV. See Audit Messages for more info.
Manage Salesforce
The Manage Salesforce
page shows your connection details: the Salesforce org ID, authenticating user, and environment. You can reauthorize the user credentials used to access Salesforce. Reauthorizing to a different user doesn’t affect sync if the new user has permissions to the same objects as the previous user.
You can access your Salesforce Storage Usage page from this tab to see additional metrics on your mapped objects. Salesforce Admin privileges are required to view this page.
Database
The Database
page summarizes the Heroku Postgres database connection configuration and provides common psql
commands.
Import/Export Configuration
You can import and export your mapping configuration to or from a JSON file. This method helps when managing your Salesforce orgs or when you want to make bulk changes. See Import and Export of Mappings for more info.
Supported Objects
The Supported Salesforce Standard Objects page lists the objects that can be mapped for the version of the Salesforce API being used by your connection. See Supported Salesforce Objects for more info.