Skip to main content

Twilio Migration Guide

Upgrading to 1.0.0

Version 1.0.0 migrates the services and roles streams from Twilio's deprecated Programmable Chat REST API (base URL https://chat.twilio.com/v2) to the Twilio Conversations API (base URL https://conversations.twilio.com/v1).

What changed

  • The services stream now reads from GET https://conversations.twilio.com/v1/Services instead of GET https://chat.twilio.com/v2/Services.
  • The roles stream now reads from GET https://conversations.twilio.com/v1/Services/{ChatServiceSid}/Roles instead of GET https://chat.twilio.com/v2/Services/{ServiceSid}/Roles.
  • The record schemas for both streams have been simplified to match what the Conversations API actually returns. For the services stream, the Conversations API returns a much smaller set of fields than the deprecated Chat API — for example, consumption_report_interval, default_service_role_sid, default_channel_role_sid, default_channel_creator_role_sid, limits, notifications, pre_webhook_url, post_webhook_url, pre_webhook_retry_count, post_webhook_retry_count, reachability_enabled, read_status_enabled, typing_indicator_timeout, webhook_filters, webhook_method, and media are no longer declared on Service records.
  • On the roles stream, the service_sid field has been renamed to chat_service_sid to match the Conversations API response.
  • The chat.twilio.com host has been removed from the connector's allowedHosts list and replaced with conversations.twilio.com.

Known limitations

[!WARNING] The account_sid field on services records is now always null. The Twilio Conversations API does not populate account_sid for Service resources, whereas the deprecated Chat API returned the actual account SID. If your downstream pipelines or dashboards rely on account_sid from the services stream, you will need to update them. The roles stream is not affected and continues to return account_sid with the correct value.

This is a Twilio API behavior, not an Airbyte connector bug. The field is documented in Twilio's API reference but consistently returns null in practice, including for newly created services.

Why we made this change

Twilio deprecated the Programmable Chat API in 2021 and has now scheduled its final end of life — including Programmable Chat in Flex — for June 1, 2026. After that date, requests to chat.twilio.com/v2 will fail and any sync that includes the services or roles streams would break. Twilio's official replacement for these resources is the Conversations API.

Per Twilio's migration guide, "the Conversations API is built on the Programmable Chat foundation, and most of your existing messaging and user data is going to be made available automatically, with no data migration required." Service SIDs (IS...) and Role SIDs (RL...) are preserved across the migration, so existing records keep the same primary keys after the upgrade.

Who is affected

Only users who have the services or roles streams enabled in their Twilio source connections are impacted. All other streams (for example, accounts, calls, messages, conversations, users, verify_services) are unchanged.

Migration steps

Take these steps after upgrading the connector to version 1.0.0:

  1. Open the Twilio source in the Airbyte UI.
  2. Click Refresh source schema so Airbyte picks up the updated services and roles schemas.
  3. For each connection that syncs the services or roles streams, clear data for those two streams so that the next sync repopulates them using the new Conversations API shape. Records from the deprecated Chat API endpoint may reference fields that no longer exist in the destination schema.
  4. Trigger a sync. The services and roles streams will now read from conversations.twilio.com/v1 and produce records matching the Conversations API schema.

No credential changes are required. HTTP Basic authentication with your Twilio Account SID and Auth Token continues to work against the Conversations API.

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.