Skip to main content

Intercom Migration Guide

Upgrading to 1.0.0​

Version 1.0.0 changes the company_segments stream so each record says which company the segment is attached to.

What changes​

  • A new company_id field holds the Intercom ID of the company, the same value as id in the companies stream.
  • The primary key changes from id to [company_id, id].

Why​

Intercom's List attached segments for companies endpoint returns the segment objects only, with no reference to the company. Before 1.0.0 the stream emitted the same segment once for every company in it, with no way to tell the rows apart, and deduplicated destinations kept a single row per segment.

Who is affected​

Connections that sync company_segments. Connections that don't sync it need no action.

  • Full Refresh | Overwrite: the next sync rebuilds the table with the new column and key. No action.
  • Full Refresh | Append: every sync emits all memberships again, so new rows carry company_id from the first sync after the upgrade; rows written before the upgrade have it empty. No action. Filter on company_id is not null downstream.
  • Incremental | Append: rows written before the upgrade have company_id empty, and the saved state carries over, so later syncs only emit memberships of companies and segments updated since the last sync. Refresh the stream as described below, keeping the records, then filter on company_id is not null downstream.
  • Incremental | Append + Deduped: rows written before the upgrade are keyed by id alone and stay next to the new rows. Refresh the stream as described below.

Upgrade steps​

  1. Upgrade the Intercom source to 1.0.0.
  2. Refresh the source schema for each affected connection and review the detected changes before saving.
  3. If company_segments uses an incremental sync mode, refresh only that stream:
    • Incremental | Append + Deduped: Refresh stream → Refresh stream and remove records. The old rows have no company_id, so removing them loses nothing a re-sync can't rebuild. Intercom only returns current memberships, so memberships that ended before the refresh don't come back.
    • Incremental | Append: Refresh stream → Refresh stream and retain records. The refresh clears the saved state, so the next sync reads the stream from Start Date again and writes rows with company_id. The old rows stay, with company_id empty.
  4. Update downstream queries that join or deduplicate company_segments on id alone: use (company_id, id), and join to companies.id, not companies.company_id.

Connector upgrade guide​

Review the following information to prepare for and execute your upgrade.

Review the changelog​

Before updating a connector, review the changelog to understand the changes and their potential impact on your existing connections. Find the changelog for any connector by navigating to the bottom of the documentation for that connector. Major version releases also include a migration guide.

Plan for major updates​

Major updates may require you to adjust connection settings or even make changes to your data pipelines. Allocate enough time and resources for this. Use the migration guide to ensure your transition process goes smoothly.

Airbyte provides tooling that guarantees safe connector version bumps and enforces automated version bumps for minor and patch updates. You always need to manually update for major version bumps.

Self-managed plans: pin a specific version if you can't update​

If you're unable to upgrade to the new version of a connector, you can pin that connector to a specific version.

  1. In the navigation bar:

    • If you're on the Self-Managed Enterprise plan, click Organization settings > Sources/Destinations.

    • If you're on any other plan, click Workspace settings > Sources/Destinations.

  2. Edit the entry for the connector you want to pin.

  3. Set the Default Version to the version you want to use.

Self-managed plans: update the local connector image​

If you self-manage Airbyte, you must manually update the connector image in your local registry before proceeding with the migration. Follow the steps below.

  1. In the navigation bar:

    • If you're on the Self-Managed Enterprise plan, click Organization settings > Sources/Destinations.

    • If you're on any other plan, click Workspace settings > Sources/Destinations.

  2. Find the connector you want to update in the list of connectors.

    note

    Airbyte lists two versions, the current in-use version and the latest version available.

  3. Click Change to update your OSS version to the latest available version.

Update the connector version​

Update each instance of the connector separately. If you have multiple instances of a connector, updating one doesn't affect the others.

  1. In the navigation bar:

    • If you're on the Self-Managed Enterprise plan, click Organization settings > Sources/Destinations.

    • If you're on any other plan, click Workspace settings > Sources/Destinations.

  2. Select the instance of the connector you wish to upgrade.

  3. Select Upgrade.

  4. Follow the prompt to confirm you are ready to upgrade to the new version.

Clear data from affected streams​

After upgrading a connector with a breaking change, you must refresh affected schemas and clear your data.

  1. In the nav bar, click Connections.

  2. Find the connection affected by the upgrade.

  3. Click the Schema tab.

  4. Click Refresh source schema (looks like ). When Airbyte finishes, it shows you any detected schema changes.

  5. Click OK.

  6. Click Save changes

  7. Clear the data for the streams affected by this upgrade.

Once the clear is complete, you can begin syncing your data again as usual.