Skip to main content


This page contains the setup guide and reference information for the Sendgrid source connector.


Setup guide

Step 1: Set up Sendgrid

  • Sendgrid Account
  • Create Sendgrid API Key with the following permissions:
  • Read-only access to all resources
  • Full access to marketing resources

Step 2: Set up the Sendgrid connector in Airbyte

  1. Log into your Airbyte Cloud account or navigate to the Airbyte Open Source dashboard.
  2. In the left navigation bar, click Sources. In the top-right corner, click + New source.
  3. On the Set up the source page, enter the name for the Sendgrid connector and select Sendgrid from the Source type dropdown.
  4. Enter your api_key.
  5. Enter your start_date.
  6. Click Set up source.

Supported sync modes

The Sendgrid source connector supports the following sync modes:

Supported Streams

Create a read-only API key (Optional)

While you can set up the Sendgrid connector using any Salesforce user with read permission, we recommend creating a dedicated read-only user for Airbyte. This allows you to granularly control the which resources Airbyte can read.

The API key should be read-only on all resources except Marketing, where it needs Full Access.

Limitations & Troubleshooting

Expand to see details about Sendgrid connector limitations and troubleshooting.

Connector limitations

Rate limiting

The connector is restricted by normal Sendgrid requests limitation.


  • Legacy marketing campaigns are not supported by this source connector. Sendgrid provides two different kinds of marketing campaigns, "legacy marketing campaigns" and "new marketing campaigns". If you are seeing a 403 FORBIDDEN error message for, it might be because your SendGrid account uses legacy marketing campaigns.
  • Check out common troubleshooting issues for the Sendgrid source connector on our Airbyte Forum.


Config fields reference

Property name


VersionDatePull RequestSubject
1.0.22024-05-2138478Update deprecated authenticator package
1.0.12024-05-2038264Replace AirbyteLogger with logging.Logger
1.0.02024-04-1535776Migration to low-code CDK. Breaking change that updates configuration keys, removes unsubscribe_groups stream, renames a stream to singlesend_stats, and adds the singlesends stream.
0.5.02024-03-2636455Unpin CDK version, add record counts to state messages
0.4.32024-02-2135181Handle uncompressed contacts downloads.
0.4.22024-02-1235181Manage dependencies with Poetry.
0.4.12023-10-1831543Base image migration: remove Dockerfile and use the python-connector-base image
0.4.02023-05-1923959Add unsubscribe_groupsstream
0.3.12023-01-2721939Fix contacts missing records; Remove Messages stream
0.3.02023-01-2521587Make sure spec works as expected in UI - make start_time parameter an ISO string instead of an integer interpreted as timestamp (breaking, update your existing connections and set the start_time parameter to ISO 8601 date time string in UTC)
0.2.162022-11-0218847Skip the stream on 400, 401 - authorization required with log message
0.2.152022-10-1918182Mark the sendgrid api key secret in the spec
0.2.142022-09-0716400Change Start Time config parameter to datetime string
0.2.132022-08-2916112Revert back to Python CDK
0.2.122022-08-2415911Bugfix to allowing reading schemas at runtime
0.2.112022-08-1915800Bugfix to allow reading sentry.yaml at runtime
0.2.102022-08-1715734Fix yaml based on the new schema validator
0.2.92022-08-1115257Migrate to config-based framework
0.2.82022-06-0713571Add Message stream
0.2.72021-09-085910Add Single Sends Stats stream
0.2.62021-07-194839Gracefully handle malformed responses from the API