Skip Navigation
Show nav
Heroku Dev Center
  • Get Started
  • Documentation
  • Changelog
  • Search
  • Get Started
    • Node.js
    • Ruby on Rails
    • Ruby
    • Python
    • Java
    • PHP
    • Go
    • Scala
    • Clojure
  • Documentation
  • Changelog
  • More
    Additional Resources
    • Home
    • Elements
    • Products
    • Pricing
    • Careers
    • Help
    • Status
    • Events
    • Podcasts
    • Compliance Center
    Heroku Blog

    Heroku Blog

    Find out what's new with Heroku on our blog.

    Visit Blog
  • Log inorSign up
View categories

Categories

  • Heroku Architecture
    • Dynos (app containers)
    • Stacks (operating system images)
    • Networking & DNS
    • Platform Policies
    • Platform Principles
  • Command Line
  • Deployment
    • Deploying with Git
    • Deploying with Docker
    • Deployment Integrations
  • Continuous Delivery
    • Continuous Integration
  • Language Support
    • Node.js
    • Ruby
      • Working with Bundler
      • Rails Support
    • Python
      • Background Jobs in Python
      • Working with Django
    • Java
      • Working with Maven
      • Java Database Operations
      • Java Advanced Topics
      • Working with Spring Boot
    • PHP
    • Go
      • Go Dependency Management
    • Scala
    • Clojure
  • Databases & Data Management
    • Heroku Postgres
      • Postgres Basics
      • Postgres Getting Started
      • Postgres Performance
      • Postgres Data Transfer & Preservation
      • Postgres Availability
      • Postgres Special Topics
    • Heroku Data For Redis
    • Apache Kafka on Heroku
    • Other Data Stores
  • Monitoring & Metrics
    • Logging
  • App Performance
  • Add-ons
    • All Add-ons
  • Collaboration
  • Security
    • App Security
    • Identities & Authentication
    • Compliance
  • Heroku Enterprise
    • Private Spaces
      • Infrastructure Networking
    • Enterprise Accounts
    • Enterprise Teams
    • Heroku Connect (Salesforce sync)
      • Heroku Connect Administration
      • Heroku Connect Reference
      • Heroku Connect Troubleshooting
    • Single Sign-on (SSO)
  • Patterns & Best Practices
  • Extending Heroku
    • Platform API
    • App Webhooks
    • Heroku Labs
    • Building Add-ons
      • Add-on Development Tasks
      • Add-on APIs
      • Add-on Guidelines & Requirements
    • Building CLI Plugins
    • Developing Buildpacks
    • Dev Center
  • Accounts & Billing
  • Troubleshooting & Support
  • Integrating with Salesforce
  • Heroku Enterprise
  • Heroku Connect (Salesforce sync)
  • Heroku Connect Reference
  • Mapping States Reference

Mapping States Reference

English — 日本語に切り替える

Last updated December 13, 2022

Table of Contents

  • List of Mapping States
  • States and Aborted Mapping Operations

A mapping state refers to the status of the sync operations that read from Salesforce and write to Heroku Postgres. You can check the state of any mapping via the Heroku Connect dashboard, CLI, or API.

Writes to Salesforce happen at the connection level and these operations aren’t reflected in the mapping states. See Writing Data to Salesforce with Heroku Connect for more info.

List of Mapping States

State Returned by the Connect API or CLI Plugin Status in the Connect Dashboard Description
DATA_SYNCED OK All rows have been synced since the last poll.
INITIAL Creating Heroku Connect is creating a database table for a new mapping.
RESYNC Loading new columns Heroku Connect is querying and loading data following a mapping creation. This process also occurs after adding new fields to an existing mapping.
RELOAD_TABLE Reloading Connect is doing an initial load or a reload of your table. A reload occurs when manually triggered, or when a new mapping is created.
SCHEMA_CHANGED Altering DB schema Heroku Connect is altering the database schema following a mapping config change. If the mapping appears stuck in this state, see Heroku Connect mapping is stuck in ‘Altering DB schema’ status.
POLLING_SF_CHANGES Polling SF Connect is polling Salesforce for changes using SOAP API and writing them to Heroku Postgres. If there are more than 10,000 changes to sync, polling switches to Bulk API and the mapping goes into the POLLING_SF_BULK state.
POLLING_SF_BULK Polling SF [bulk] Connect is polling Salesforce for changes using the Bulk API.
POLLING_SF_FOR_DELETES Polling SF [deletes] Connect is polling Salesforce for deleted records.
WAIT_BULK_LOAD Waiting for bulk job Connect is waiting for a bulk job to complete in Salesforce. This state precedes LOADING_BULK_JOB. WAIT_BULK_LOAD is synonymous with WAIT_BULK_UPDATE except that it reflects bulk jobs related to the initial load or reload of data instead of subsequent updates.
LOADING_BULK_JOB Loading [bulk] Connect is retrieving data from completed bulk batches in Salesforce and loading the data into Heroku Postgres. LOADING_BULK_JOB is synonymous with APPLYING_BULK_UPDATE except that it reflects bulk jobs related to the initial load or reload of data instead of subsequent updates.
RESOLVE_EXTERNAL_IDS Resolving External_IDs Heroku Connect is querying Salesforce for External IDs to populate into Postgres. This operation occurs after applying a bulk load if the mapping includes an External ID relationship field. RESOLVE_EXTERNAL_IDS is synonymous with POLL_EXTERNAL_IDS except that it reflects bulk jobs related to the initial load or reload of data instead of subsequent updates.
BULK_LOAD_ERROR Bulk load failed This error occurs when there was a problem during the initial bulk load or reload of a mapping. Investigate the cause of the error. Go to the Logs tab in the Heroku Connect dashboard and filter for Error log lines. Bulk batch failures in Salesforce cause most bulk load errors in Heroku Connect. After identifying and correcting the cause of the error, reload the mapping.
WAIT_BULK_UPDATE Waiting for bulk job Connect is waiting for a bulk job to complete in Salesforce. This state precedes APPLYING_BULK_UPDATE. WAIT_BULK_UPDATE is synonymous with WAIT_BULK_LOAD except that it reflects bulk jobs related to updates instead of the initial load or reload of data.
APPLYING_BULK_UPDATE Updating [bulk] Connect is retrieving data from completed bulk batches in Salesforce and updating the data in Heroku Postgres. APPLYING_BULK_UPDATE is synonymous with LOADING_BULK_JOB except that it reflects bulk jobs related to updates instead of the initial load or reload of data.
POLL_EXTERNAL_IDS Resolving External_IDs Heroku Connect is querying Salesforce for External IDs to populate into Postgres. This operation occurs after applying a bulk update if the mapping includes an External ID relationship field. POLL_EXTERNAL_IDS is synonymous with RESOLVE_EXTERNAL_IDS except that it reflects bulk jobs related to updates instead of the initial load or reload of data.
RECOVERY Re-enabling Heroku Connect is recovering sync after a user reauthorized the connection. You can also manually trigger a recovery.
ABORTED Task Aborted You’ve manually aborted the mapping’s most recent operation. See States and Aborted Mapping Operations for more info.
SYSTEM_ERROR Unexpected error Heroku Connect encountered an unexpected error. Resume synchronization in the Heroku Connect dashboard. If the underlying problem persists, check your connection’s logs. If you can’t resolve the issue, contact Heroku Support.
DB_UNAVAILABLE DB unavailable Heroku Connect can’t connect to the database. Check that the database responds and is set as a config var for the app connected to Heroku Connect. Resume synchronization in the Heroku Connect dashboard.
BAD_CONFIG Invalid config The Salesforce configuration saved for this object no longer maps to the current Salesforce data model. See BAD_CONFIG for more info.
SYNC_REMOVED Deleting You deleted the mapping.
INACTIVE_ORG Inactive org (sandbox refresh) Your Salesforce org is inactive or you’ve refreshed your sandbox. Recreate the connection to an active org or refreshed sandbox.
UNAUTHORIZED SF Auth failed Authorization to Salesforce has expired. Reauthorize Heroku Connect to access your Salesforce data.

States and Aborted Mapping Operations

If you abort a mapping while it is in any of the following states, it goes into the DATA_SYNCED state. Normal sync operations resume with the next poll.

  • POLLING_SF_CHANGES
  • POLLING_SF_BULK
  • POLLING_SF_FOR_DELETES
  • WAIT_BULK_UPDATE
  • APPLYING_BULK_UPDATE
  • POLL_EXTERNAL_IDS

If you abort a mapping while it is in any of the following states, it remains in the ABORTED state. You must reload the mapping to resume sync.

  • SCHEMA_CHANGED
  • RESYNC
  • WAIT_BULK_LOAD
  • LOADING_BULK_JOB
  • RESOLVE_EXTERNAL_IDS
  • RELOAD_TABLE

Keep reading

  • Heroku Connect Reference

Feedback

Log in to submit feedback.

Using Custom Triggers with Heroku Connect The Heroku Connect CLI Plugin

Information & Support

  • Getting Started
  • Documentation
  • Changelog
  • Compliance Center
  • Training & Education
  • Blog
  • Podcasts
  • Support Channels
  • Status

Language Reference

  • Node.js
  • Ruby
  • Java
  • PHP
  • Python
  • Go
  • Scala
  • Clojure

Other Resources

  • Careers
  • Elements
  • Products
  • Pricing

Subscribe to our monthly newsletter

Your email address:

  • RSS
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku Blog
    • Heroku News Blog
    • Heroku Engineering Blog
  • Heroku Podcasts
  • Twitter
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku
    • Heroku Status
  • Facebook
  • Instagram
  • Github
  • LinkedIn
  • YouTube
Heroku is acompany

 © Salesforce.com

  • heroku.com
  • Terms of Service
  • Privacy
  • Cookies
  • Cookie Preferences