From e8c2f4c926a8131e5375e61dc02a9e6e03445fb2 Mon Sep 17 00:00:00 2001 From: Sharon Adewusi Date: Fri, 10 Oct 2025 15:29:09 +0100 Subject: [PATCH 01/18] Update Sendgrid set up guide --- .../catalog/cloud-apps/sendgrid/index.md | 45 +++++++++++++------ 1 file changed, 31 insertions(+), 14 deletions(-) diff --git a/src/connections/sources/catalog/cloud-apps/sendgrid/index.md b/src/connections/sources/catalog/cloud-apps/sendgrid/index.md index 532df940eb..0840aacfd4 100644 --- a/src/connections/sources/catalog/cloud-apps/sendgrid/index.md +++ b/src/connections/sources/catalog/cloud-apps/sendgrid/index.md @@ -5,33 +5,50 @@ id: jhr8dT2yHn [SendGrid](http://sendgrid.com){:target="_blank”} is a trusted platform for transactional email and email marketing. -Take your company's analysis to the next level by **adding SendGrid as a Source to Segment.** Segment automatically collects events like `Click` or `Delivered` and objects such as `Recipients` or `Campaigns` and loads them into your data warehouse.  +Take your company's analysis to the next level by **adding SendGrid as a Source to Segment**. Segment automatically collects events like `Click` or `Delivered` and objects such as `Recipients` or `Campaigns` and loads them into your data warehouse.  -## Getting Started +## Getting started + +### Sendgrid API key Adding SendGrid as a Source in Segment requires a SendGrid API key. If you don't yet have a SendGrid API key, first follow these steps within your SendGrid account: 1. Log in to your SendGrid account. -2. Navigate to **Settings > API Keys**, then click **General API Key**. -3. Name the key and, optionally, adjust its settings. -4. Copy the API Key, omitting all spaces. +2. Navigate to **Settings > API Keys**, then click **Create API Key**. +3. Name the key, configure the key permissions, and click **Create & View**. +4. Make note of the API key as it will not be shown again. > info "SendGrid API Key Settings" > Segment recommends providing read permissions for **Email Activity** and **Marketing Activity**. -To finish adding the SendGrid source, return to your Segment Workspace and follow these steps: +### Set up Sendgrid source + +To finish add the Sendgrid source to Segment, return to your Segment Workspace and follow these steps: -1. From the [Source catalog page](https://app.segment.com/goto-my-workspace/sources/catalog){:target="_blank”} in your Segment workspace, enter **SendGrid** and select the SendGrid source that appears. -2. From the SendGrid information panel that appears, click **Add source**. -3. Give the Source a name and add any labels to help you organize and filter your sources. - Segment recommends a name that reflects the source itself, as this name populates the schema name. For example, the source name `SendGrid` creates the schema `SendGrid`. You can add multiple instances if you have multiple SendGrid accounts. -4. Paste the SendGrid API Key you copied above into the Segment interface. Click **Connect**. +1. Navigate to **Connections > Catalog**, and search for "Sendgrid". +2. Click the "Sendgrid" source, and click **Add Source**. This source supports Warehouses as a destination. +3. Give the source a meaningful name and (optionally) add any labels to help you organize and filter your sources. Select all of the Warehouse destinations from the existing connections. +> info "" +> Segment recommends a name that reflects the source itself, as this name populates the schema name. For example, the source name `SendGrid` creates the schema `SendGrid`. You can add multiple instances if you have multiple SendGrid accounts. +4. Add the [SendGrid API Key](#sendgrid-api-key) into the Segment interface. Click **Connect**. ![Screenshot of the Settings page in the setup flow for the Sendgrid source.](images/601347_Key.png) +5. Copy the Webhook URL from Segment and paste it in your Sendgrid account. Navigate to **Settings > Mail Settings > Event Webhook** and add a new event webhook. +6. On the selective sync screen, you have the options to: +> 1. **Select the sync frequency**. The default option is every three hours. +> 2. **Select the start date**. This is the date from which the first sync happens. If left blank, a full synce is initiated. +> 3. **Select the collections to sync**. Only the collections that you select will be synced from the start date. +7. Click **Finish** to complete the integration with your Sendgrid account. +8. You can set the start date from which the sync should start in the **Basic Settings** page. +> info "" +> - Changing the start data after the first sync doesn't change anything unless a full manual sync is initiated. +> - Changing the collections to be synced takes effect after the next sync. The previous data synced for any collection that has been unselected will be in the warehouse. +> - The default value for Source Sync Schedule in 3 hours. To change the sync, schedule send a message to (friends@segment.com@)[mailto:friends@segment.com]{:target="_blank”}. + +9. The first sync starts after you successfully create the source. All the collections and number of rows synced can be reviewed from the Overview tab. +Copy the auto-generated Webhook URL and paste it into SendGrid's Event Notification settings pane under **Settings > Mail Settings**. -6. Copy the auto-generated Webhook URL and paste it into SendGrid's Event Notification settings pane under **Settings > Mail Settings**. ![Screenshot of the Webhook page in the setup flow for the Sendgrid source.](images/694785_Webhook.png) -7. Enable Event Notification in SendGrid. Select **Next** and then **Finish** to complete setup. ### Event URL @@ -89,7 +106,7 @@ Collections are the groupings of resources Segment pulls from your source. In yo ## Troubleshooting -### Invalid Credentials error +### Invalid credentials error If you're getting an "Invalid Credentials" error when setting up the SendGrid source, send a direct ping to the [SendGrid Marketing Campaigns API](https://sendgrid.com/docs/API_Reference/Web_API_v3/Marketing_Campaigns/campaigns.html){:target="_blank”} to test if you're using the correct credentials. From f9a323e2ed64a25d5196d1de0299c6a7dd6903fb Mon Sep 17 00:00:00 2001 From: Sharon Adewusi Date: Fri, 10 Oct 2025 15:31:11 +0100 Subject: [PATCH 02/18] sneak a peek [netlify-build] --- .../sources/catalog/cloud-apps/sendgrid/index.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/connections/sources/catalog/cloud-apps/sendgrid/index.md b/src/connections/sources/catalog/cloud-apps/sendgrid/index.md index 0840aacfd4..bd99012f98 100644 --- a/src/connections/sources/catalog/cloud-apps/sendgrid/index.md +++ b/src/connections/sources/catalog/cloud-apps/sendgrid/index.md @@ -106,19 +106,19 @@ Collections are the groupings of resources Segment pulls from your source. In yo ## Troubleshooting -### Invalid credentials error +#### Invalid credentials error If you're getting an "Invalid Credentials" error when setting up the SendGrid source, send a direct ping to the [SendGrid Marketing Campaigns API](https://sendgrid.com/docs/API_Reference/Web_API_v3/Marketing_Campaigns/campaigns.html){:target="_blank”} to test if you're using the correct credentials. Make sure you allowlist Segment IP addresses on SendGrid. [Contact Segment](https://segment.com/help/contact/){:target="_blank”} for the list of IP addresses to allowlist. -### Webhook configuration +#### Webhook configuration When you disable your SendGrid source, you'll need to also disable the webhook portion of your configuration. -If you are only able to create one webhook, review your SendGrid [account plan details](https://sendgrid.com/en-us/pricing). On the Sendgrid free plan, you can only have 1 webhook. +If you are only able to create one webhook, review your SendGrid [account plan details](https://sendgrid.com/en-us/pricing). On the Sendgrid free plan, you can only have one webhook. -### Zero data or partial data syncs +#### Zero data or partial data syncs If you haven't subscribed to SendGrid’s marketing campaign features, the object collections do not sync. As a result, you might see “Zero data synced” in your runs on Source Overview page. If you have only selected a few objects to be synced, then only those objects are synced and show up in the Source Overview. From aa96c33fd1ddcfc3ff60df50941a39fe310de413 Mon Sep 17 00:00:00 2001 From: Sharon Adewusi Date: Fri, 10 Oct 2025 15:57:29 +0100 Subject: [PATCH 03/18] email link fix --- src/connections/sources/catalog/cloud-apps/sendgrid/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/cloud-apps/sendgrid/index.md b/src/connections/sources/catalog/cloud-apps/sendgrid/index.md index bd99012f98..d6a1e0b35e 100644 --- a/src/connections/sources/catalog/cloud-apps/sendgrid/index.md +++ b/src/connections/sources/catalog/cloud-apps/sendgrid/index.md @@ -42,7 +42,7 @@ To finish add the Sendgrid source to Segment, return to your Segment Workspace a > info "" > - Changing the start data after the first sync doesn't change anything unless a full manual sync is initiated. > - Changing the collections to be synced takes effect after the next sync. The previous data synced for any collection that has been unselected will be in the warehouse. -> - The default value for Source Sync Schedule in 3 hours. To change the sync, schedule send a message to (friends@segment.com@)[mailto:friends@segment.com]{:target="_blank”}. +> - The default value for Source Sync Schedule in 3 hours. To change the sync, schedule send a message to [friends@segment.com@](mailto:friends@segment.com){:target="_blank”}. 9. The first sync starts after you successfully create the source. All the collections and number of rows synced can be reviewed from the Overview tab. Copy the auto-generated Webhook URL and paste it into SendGrid's Event Notification settings pane under **Settings > Mail Settings**. From 9cd6a8cb9b71af6ef71428d3ab6743728e9ffd34 Mon Sep 17 00:00:00 2001 From: Sharon Adewusi Date: Fri, 10 Oct 2025 16:38:27 +0100 Subject: [PATCH 04/18] more editing (SendGrid page) --- .../catalog/cloud-apps/sendgrid/index.md | 64 +++++++++---------- 1 file changed, 30 insertions(+), 34 deletions(-) diff --git a/src/connections/sources/catalog/cloud-apps/sendgrid/index.md b/src/connections/sources/catalog/cloud-apps/sendgrid/index.md index d6a1e0b35e..164537948c 100644 --- a/src/connections/sources/catalog/cloud-apps/sendgrid/index.md +++ b/src/connections/sources/catalog/cloud-apps/sendgrid/index.md @@ -18,53 +18,51 @@ Adding SendGrid as a Source in Segment requires a SendGrid API key. If you don't 3. Name the key, configure the key permissions, and click **Create & View**. 4. Make note of the API key as it will not be shown again. -> info "SendGrid API Key Settings" +> info "SendGrid API Key settings" > Segment recommends providing read permissions for **Email Activity** and **Marketing Activity**. ### Set up Sendgrid source -To finish add the Sendgrid source to Segment, return to your Segment Workspace and follow these steps: +To add the Sendgrid source to Segment, return to your Segment Workspace and follow these steps: 1. Navigate to **Connections > Catalog**, and search for "Sendgrid". -2. Click the "Sendgrid" source, and click **Add Source**. This source supports Warehouses as a destination. -3. Give the source a meaningful name and (optionally) add any labels to help you organize and filter your sources. Select all of the Warehouse destinations from the existing connections. -> info "" -> Segment recommends a name that reflects the source itself, as this name populates the schema name. For example, the source name `SendGrid` creates the schema `SendGrid`. You can add multiple instances if you have multiple SendGrid accounts. -4. Add the [SendGrid API Key](#sendgrid-api-key) into the Segment interface. Click **Connect**. +2. Click the "Sendgrid" source, and click **Add Source**. **Note**: This source only supports warehouses as a destination. +3. Give the source a meaningful name and (optional) add any labels to help you organize and filter your sources. Select all of the Warehouse destinations from the existing connections. + > info "" + > Segment recommends that you give your source a name that reflects the source itself as this name populates the schema name. For example, the source name `SendGrid` creates the schema `SendGrid`. You can add multiple instances if you have multiple SendGrid accounts. +4. Add the [SendGrid API Key](#sendgrid-api-key) to connect Sendgrid to Segment. Click **Connect**. ![Screenshot of the Settings page in the setup flow for the Sendgrid source.](images/601347_Key.png) -5. Copy the Webhook URL from Segment and paste it in your Sendgrid account. Navigate to **Settings > Mail Settings > Event Webhook** and add a new event webhook. -6. On the selective sync screen, you have the options to: -> 1. **Select the sync frequency**. The default option is every three hours. -> 2. **Select the start date**. This is the date from which the first sync happens. If left blank, a full synce is initiated. -> 3. **Select the collections to sync**. Only the collections that you select will be synced from the start date. -7. Click **Finish** to complete the integration with your Sendgrid account. -8. You can set the start date from which the sync should start in the **Basic Settings** page. -> info "" -> - Changing the start data after the first sync doesn't change anything unless a full manual sync is initiated. -> - Changing the collections to be synced takes effect after the next sync. The previous data synced for any collection that has been unselected will be in the warehouse. -> - The default value for Source Sync Schedule in 3 hours. To change the sync, schedule send a message to [friends@segment.com@](mailto:friends@segment.com){:target="_blank”}. - -9. The first sync starts after you successfully create the source. All the collections and number of rows synced can be reviewed from the Overview tab. -Copy the auto-generated Webhook URL and paste it into SendGrid's Event Notification settings pane under **Settings > Mail Settings**. - +5. Copy the auto-generated Webhook URL from Segment and paste it in your Sendgrid account. Navigate to **Settings > Mail Settings > Event Webhooks** and create a new event webhook. ![Screenshot of the Webhook page in the setup flow for the Sendgrid source.](images/694785_Webhook.png) - +6. Set up **Selective Sync**. You have the options to: + > 1. **Configure the source sync schedule**. This is how often the data syncs. The default option is every three hours. + > 2. **Select the start date**. This is the date from which the first sync happens. If left blank, a full sync is initiated. + > 3. **Select the collections to sync**. The collections that you select will be synced from the start date. +7. Click **Finish** to complete connecting your Sendgrid source to Segment. +8. To set the date from which the sync should start, go to **Settings > Basic Settings**, and configure the start date. + > info "" + > Changing the start date after the first sync doesn't change anything unless a full manual sync is initiated. + > + > Changing the collections to be synced takes effect after the next sync. The previous data synced for any collection that has been unselected will be in the warehouse. + > + > The default value for Source Sync Schedule in 3 hours. To change the sync, schedule send a message to [friends@segment.com@](mailto:friends@segment.com){:target="_blank”}. +9. Toggle **Enable source** on to start syncing data. +10. The first sync begins after you successfully create the source. To review the collections and number of rows synced, go to the **Overview** tab. ### Event URL - -SendGrid has a single Event URL location. By using the SendGrid source, you will be using your only Event URL location. If you remove a pre-existing URL, then that location will no longer receive events. +SendGrid has a single Event URL location. By using the SendGrid source, you'll use your only Event URL location. If you remove a pre-existing URL, then that location will no longer receive events. ## Components ### Sync -Segment makes requests to the SendGrid API every three hours. In the initial sync, Segment pulls all SendGrid objects (and their corresponding properties) according to the [Collections Table](#collections) below. If you don't use SendGrid's marketing campaigns features (Legacy or New), these collections will be empty in SendGrid and you'll see "Zero data synced" in your runs. The webhook still processes activity data. +Segment makes requests to the SendGrid API every three hours. In the initial sync, Segment pulls all SendGrid objects (and their corresponding properties) according to the [Collections table](#collections). If you don't use SendGrid's marketing campaigns features (Legacy or New), these collections will be empty in SendGrid and you'll see "Zero data synced" in your runs. The webhook still processes activity data. Segment's sync component pulls and forwards SendGrid resources to Segment using an upsert API. As a result, dimensional data loaded into your warehouse reflects the latest state of the corresponding resource in SendGrid. For example, if `lists.recipient_count` goes from `100` to `200` between syncs, its status will be `200` on its next flush to your warehouse. -The source syncs and warehouse syncs are independent processes. Source runs pull your data into the Segment Hub, and warehouse runs flush that data to your warehouse. Sources sync with Segment every three hours. Depending on your Warehouses plan, Segment pushes the Source data to your warehouse on the interval associated with your billing plan. +The source syncs and warehouse syncs are independent processes. Source runs pull your data into the Segment Hub, and warehouse runs flush that data to your warehouse. Sources sync with Segment every three hours. Depending on your Warehouses plan, Segment pushes the source data to your warehouse on the interval associated with your billing plan. -> info "SendGrid Syncs" +> info "SendGrid syncs" > Segment syncs all objects and properties. [Reach out to support](https://segment.com/help/contact/){:target="_blank”} if you're interested in filtering objects or properties during syncs. ### Streaming @@ -74,14 +72,12 @@ The SendGrid source's streaming component listens in real time for inbound webho > info "" > If you don't use SendGrid's marketing features, this will be the only data that Segment receives from SendGrid. There isn't a way to retrieve email event history from SendGrid, so you will only have access to data that Segment collected after you successfully enabled this integration. - ## Collections Collections are the groupings of resources Segment pulls from your source. In your warehouse, each collection gets its own table. -**Object** collections are updated with each sync. These are pulled using Segment's sync component. - -**Event** collections are append only, represent a user action or activity, and may be likened to fact tables in a traditional data warehouse. Unlike traditional events captured by Segment, you can't forward these events to Destinations you've configured in your Segment workspace. You can only sync these events to a supported data warehouse. +- **Object** collections are updated with each sync. These are pulled using Segment's sync component. +- **Event** collections are append-only, represent a user action or activity, and may be likened to fact tables in a traditional data warehouse. Unlike traditional events captured by Segment, you can't forward these events to destinations you've configured in your Segment workspace. You can only sync these events to a supported data warehouse. | Collection | Type | Description | @@ -114,7 +110,7 @@ Make sure you allowlist Segment IP addresses on SendGrid. [Contact Segment](http #### Webhook configuration -When you disable your SendGrid source, you'll need to also disable the webhook portion of your configuration. +When you disable your SendGrid source, you also need to disable the webhook portion of your configuration. If you are only able to create one webhook, review your SendGrid [account plan details](https://sendgrid.com/en-us/pricing). On the Sendgrid free plan, you can only have one webhook. @@ -122,4 +118,4 @@ If you are only able to create one webhook, review your SendGrid [account plan d If you haven't subscribed to SendGrid’s marketing campaign features, the object collections do not sync. As a result, you might see “Zero data synced” in your runs on Source Overview page. If you have only selected a few objects to be synced, then only those objects are synced and show up in the Source Overview. -In both cases, the webhook still processes event data and syncs it to the warehouse. To view the data synced to the warehouse, navigate to **Connections > Destinations**, select the relevant Warehouse Destination, and then select the Source schema. +In both cases, the webhook still processes event data and syncs it to the warehouse. To view the data synced to the warehouse, navigate to **Connections > Destinations**, select the relevant warehouse destination, and then select the source schema. From cdd7ba0ee81a881a7f436ee9d18f91964ba96ccc Mon Sep 17 00:00:00 2001 From: Sharon Adewusi Date: Fri, 10 Oct 2025 16:38:56 +0100 Subject: [PATCH 05/18] does it look better? [netlify-build] --- src/connections/sources/catalog/cloud-apps/sendgrid/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/cloud-apps/sendgrid/index.md b/src/connections/sources/catalog/cloud-apps/sendgrid/index.md index 164537948c..33814662d0 100644 --- a/src/connections/sources/catalog/cloud-apps/sendgrid/index.md +++ b/src/connections/sources/catalog/cloud-apps/sendgrid/index.md @@ -3,7 +3,7 @@ title: SendGrid Source id: jhr8dT2yHn --- -[SendGrid](http://sendgrid.com){:target="_blank”} is a trusted platform for transactional email and email marketing. +[SendGrid](http://sendgrid.com){:target="_blank”} is a trusted platform for transactional email and email marketing. Take your company's analysis to the next level by **adding SendGrid as a Source to Segment**. Segment automatically collects events like `Click` or `Delivered` and objects such as `Recipients` or `Campaigns` and loads them into your data warehouse.  From a37b6653082f59538654b8e67bcea6ea6a2e67e7 Mon Sep 17 00:00:00 2001 From: Sharon Adewusi Date: Fri, 10 Oct 2025 17:23:31 +0100 Subject: [PATCH 06/18] a whole lot of edits [netlify-build] --- .../catalog/cloud-apps/twilio/index.md | 193 +++++++++--------- 1 file changed, 99 insertions(+), 94 deletions(-) diff --git a/src/connections/sources/catalog/cloud-apps/twilio/index.md b/src/connections/sources/catalog/cloud-apps/twilio/index.md index 7d6322d09c..bc521d9628 100644 --- a/src/connections/sources/catalog/cloud-apps/twilio/index.md +++ b/src/connections/sources/catalog/cloud-apps/twilio/index.md @@ -6,42 +6,49 @@ id: 43bb279b7 [Twilio](http://twilio.com){:target="_blank”} is a developer platform for communications. Software teams use Twilio APIs to add capabilities like voice, video, and messaging to their applications. This enables businesses to provide the right communications experience for their customers. Behind Twilio APIs is a Super Network, a software layer that connects and optimizes communications networks around the world. This is what allows users to reliably call and message anyone anywhere. -## Getting Started - -1. From your workspace's `/sources` page, click `Add source`. - -2. Choose Twilio. - -3. Give the source a nickname and a schema name. The nickname is a label used in the Segment interface, and the schema name is the namespace you query against in your warehouse. Both can be whatever you like, but we recommend sticking to something that reflects the source itself, like `Twilio` for nickname and `twilio` or `twilio_prod` for the schema name. - - **Note**: You can add multiple instances if you have multiple Twilio accounts. That's why we allow you to customize the source's nickname and schema name! - -4. When you click **Connect**, you'll be prompted for your Twilio Account SID. You can find it on your Twilio account under the project settings. - -5. You'll be re-directed to Twilio's app and you'll need to authorize Segment to read from your account data. To authorize, click in the "Allow" button. Once approved, you'll be redirected back to the set up page in the Segment app. - -6. Click on the "Finish" button and you'll be good to go! - -We'll begin syncing your Twilio data into Segment momentarily, and it will be written to your warehouse at your next Warehouse run. +## Getting started + +1. Navigate to **Connections > Catalog** and from the sources tab, search for “Twilio” and click on the tile. +2. Click **Add Source**, to create a new Twilio source. **Note**: This source only supports warehouses as a destination. +3. Give the source a meaningful name and (optional) add labels. Add the Twilio SID, which can be found in your Twilio account. + > info "" + > Segment recommends that you give your source a name that reflects the source itself as this name populates the schema name. For example, `Twilio` for nickname and `twilio` or `twilio_prod` for the schema name. You can add multiple instances if you have multiple Twilio accounts. +4. Sign into your Twilio account and select the account that you want to sync data from to Segment. +5. Add the Twilio SID, which can be found in your Twilio account, in **Project Settings**. Click **Authenticate**. +6. Once connected successfully, click **Next** to setup the SQL schema. +7. Verify the schema and click **Next**. +8. Set up **Selective Sync**. You have the options to: + > 1. **Configure the source sync schedule**. This is how often the data syncs. The default option is every three hours. + > 2. **Select the start date**. This is the date from which the first sync happens. If left blank, a full sync is initiated. + > 3. **Select the collections to sync**. The collections that you select will be synced from the start date. +9. Click **Done** to complete integrating your Twilio account with Segment. +10. To set the date from which the sync should start, go to **Settings > Basic Settings**, and configure the start date. + > info "" + > Changing the start date after the first sync doesn't change anything unless a full manual sync is initiated. + > + > Changing the collections to be synced takes effect after the next sync. The previous data synced for any collection that has been unselected will be in the warehouse. + > + > The default value for Source Sync Schedule in 3 hours. To change the sync, schedule send a message to [friends@segment.com](mailto:friends@segment.com){:target="_blank”}. +11. Toggle **Enable source** on to start syncing data. +12. The first sync begins after you successfully create the source. To review the collections and number of rows synced, go to the **Overview** tab. ## Components ### Sync -The Twilio source is built with a sync component, which means we'll make requests to their API on your behalf on a 3 hour interval to pull the latest data into Segment. In the initial sync, we'll grab all the Twilio objects (and their corresponding properties) according to the Collections Table below. The objects will be written into a separate schema, corresponding to the source instance's schema name you designated upon creation (ie. `twilio_prod.charges`). - -Our sync component uses an upsert API, so the data in your warehouse loaded using sync will reflect the latest state of the corresponding resource in Twilio. For example, if `ticket_status` goes from `open` to `closed` between syncs, on its next sync that tickets status will be `closed`. +The Twilio source is built with a sync component, which means Segment makes requests to Twilio's API on a three hour interval to pull in the latest data. In the initial sync, Segment grabs all the Twilio objects (and their corresponding properties) according to the [Collections table](#collections). The objects are written into a separate schema, corresponding to the source instance's schema name you designated upon creation (for example, `twilio_prod.charges`). -The source syncs and warehouse syncs are independent processes. Source runs pull your data into the Segment Hub, and warehouse runs flush that data to your warehouse. Sources will sync with Segment every 3 hours. Depending on your Warehouses plan, we will push the Source data to your warehouse on the interval associated with your billing plan. +Segment's sync component uses an upsert API, so the data in your warehouse loaded using sync reflects the latest state of the corresponding resource in Twilio. For example, if `ticket_status` goes from `open` to `closed` between syncs, on its next sync that tickets status will be `closed`. -At the moment, we don't support filtering which objects or properties get synced. If you're interested in this feature, [let us know](https://segment.com/help/contact){:target="_blank”}! +The source syncs and warehouse syncs are independent processes. Source runs pull your data into the Segment Hub, and warehouse runs flush that data to your warehouse. Sources sync with Segment every 3 hours. Depending on your Warehouses plan, Segment pushes the source data to your warehouse on the interval associated with your billing plan. +> warning "" +> Segment doesn't support filtering which objects or properties get synced. ## Collections Collections are the groupings of resources we pull from your source. In your warehouse, each collection gets its own table. - | Collection | Type | Description | | ------ | ------ | ------ | | addresses | object | An [address](https://www.twilio.com/docs/api/rest/addresses){:target="_blank”} represents your or your customer's physical location within a country | @@ -52,113 +59,111 @@ Collections are the groupings of resources we pull from your source. In your war | call_feedback | object | The [call feedback](https://www.twilio.com/docs/api/rest/call-feedback){:target="_blank”} subresource provides a simple API to report the quality experienced during a phone call | -## Collection Properties - -Below are tables outlining the properties included in the collections listed above. +## Collection properties +The following tables outline the properties included in collections: ### Addresses | Property Name | Description | | ------ | ------ | -| account_sid | The unique id of the Account responsible for creating this Call | -| city | The city in which you or your customer is located | -| customer_name | The caller's name if this Call was an incoming call to a phone number with Caller ID Lookup enabled | -| emergency_enabled | This is a value that indicates if emergency calling has been enabled on this number. Possible values are true or false | -| friendly_name | A human-readable description of the address. Maximum 64 characters | -| iso_country | The ISO country code of your or your customer's address | -| postal_code | The postal code in which you or your customer is located | -| region | The state or region in which you or your customer is located | -| street | The number and street address where you or your customer is located | -| received_at | This timestamp is added to incoming records as soon as they hit Segment API | -| validated | This value will be true if the Address has been validated, or false for countries that don't require validation or if the Address is non-compliant | +| account_sid | The unique ID of the account responsible for creating this call. | +| city | The city in which you or your customer is located. | +| customer_name | The caller's name if this call was an incoming call to a phone number with Caller ID Lookup enabled. | +| emergency_enabled | This is a value that indicates if emergency calling has been enabled on this number. Possible values are `true` or `false`. | +| friendly_name | A human-readable description of the address. Maximum 64 characters. | +| iso_country | The ISO country code of your or your customer's address. | +| postal_code | The postal code in which you or your customer is located. | +| region | The state or region in which you or your customer is located. | +| street | The number and street address where you or your customer is located. | +| received_at | This timestamp is added to incoming records as soon as they hit Segment API. | +| validated | This value will be `true` if the address has been validated, or `false` for countries that don't require validation or if the address is non-compliant. | ### Calls | Property Name | Description | | ------ | ------ | -| account_sid | The unique id of the Account responsible for creating this Call | -| api_version | The API Version used to create the Call | -| caller_name | The caller's name if this Call was an incoming call to a phone number with Caller ID Lookup enabled | -| date_created | The date that this resource was created, given as GMT in RFC 2822 format | -| date_updated | The date that this resource was last updated, given as GMT in RFC 2822 format | -| direction | A string describing the direction of the Call. Values are inbound for inbound calls, outbound-api for calls initiated using the REST API or outbound-dial for calls initiated by a `` verb | -| duration | The length of the Call in seconds. This value is empty for busy, failed, unanswered or ongoing calls | -| end_time | The time the Call ended, given as GMT in RFC 2822 format. Empty if the call did not complete successfully | -| forwarded_from | The forwarding phone number if this Call was an incoming call forwarded from another number (depends on carrier supporting forwarding) | -| from | The phone number, SIP address, Client identifier or SIM SID that made this Call | -| parent_call_sid | A 34-character string that uniquely identifies the Call that created this leg | -| phone_number_sid | If the call was inbound, this is the Sid of the IncomingPhoneNumber that received the call. If the call was outbound, it is the Sid of the OutgoingCallerId from which the call was placed | -| price | The charge for this Call, in the currency associated with the account. Populated after the call is completed | -| received_at | This timestamp is added to incoming records as soon as they hit Segment API | -| start_time | The start time of the call, given as GMT in RFC 2822 format. Empty if the call has not yet been dialed | -| status | A string representing the status of the Call. May be queued, ringing, in-progress, canceled, completed, failed, busy or no-answer | -| to | The phone number, SIP address, Client identifier or SIM SID that received this Call | +| account_sid | The unique ID of the account responsible for creating this call. | +| api_version | The API version used to create the call. | +| caller_name | The caller's name if this call was an incoming call to a phone number with Caller ID Lookup enabled. | +| date_created | The date that this resource was created, given as GMT in [RFC 2822](https://en.wikipedia.org/wiki/Email#Message_format){:target="_blank"} format. | +| date_updated | The date that this resource was last updated, given as GMT in RFC 2822 format. | +| direction | A string describing the direction of the call. Values are inbound for inbound calls, outbound-api for calls initiated using the REST API or outbound-dial for calls initiated by a `` verb. | +| duration | The length of the call in seconds. This value is empty for `busy`, `failed`, `unanswered`, or `ongoing calls`. | +| end_time | The time the call ended, given as GMT in RFC 2822 format. Empty if the call did not complete successfully. | +| forwarded_from | The forwarding phone number if this call was an incoming call forwarded from another number (depends on carrier supporting forwarding). | +| from | The phone number, SIP address, client identifier or SIM SID that made this call. | +| parent_call_sid | A 34-character string that uniquely identifies the call that created this leg. | +| phone_number_sid | If the call was inbound, this is the SID of the `IncomingPhoneNumber` that received the call. If the call was outbound, it is the SID of the `OutgoingCallerId` from which the call was placed. | +| price | The charge for this call, in the currency associated with the account. Populated after the call is completed. | +| received_at | This timestamp is added to incoming records as soon as they hit Segment API. | +| start_time | The start time of the call, given as GMT in RFC 2822 format. Empty if the call has not yet been dialed. | +| status | A string representing the status of the call. May be `queued`, `ringing`, `in-progress`, `canceled`, `completed`, `failed`, `busy`, or `no-answer`. | +| to | The phone number, SIP address, client identifier, or SIM SID that received this call. | ### Conferences | Property Name | Description | | ------ | ------ | -| account_sid | The unique id of the Account responsible for creating this conference | -| date_created | The date that this conference was created, given as GMT in RFC 2822 format | -| date_updated | The date that this conference was last updated, given as GMT in RFC 2822 format | -| friendly_name | A user provided string that identifies this conference room | -| region | A string representing the Twilio Region where the conference audio was mixed | -| status | A string representing the status of the conference. May be init, in-progress, or completed | +| account_sid | The unique ID of the account responsible for creating this conference. | +| date_created | The date that this conference was created, given as GMT in RFC 2822 format. | +| date_updated | The date that this conference was last updated, given as GMT in RFC 2822 format. | +| friendly_name | A user provided string that identifies this conference room. | +| region | A string representing the Twilio region where the conference audio was mixed. | +| status | A string representing the status of the conference. May be `init`, `in-progress`, or `completed`. | ### Transcriptions | Property Name | Description | | ------ | ------ | -| account_sid | The unique id of the Account responsible for creating this Call | -| date_created | The date that this resource was created, in RFC 2822 format | -| date_updated | The date that this resource was last updated, in RFC 2822 format | -| duration | The duration of the transcribed audio, in seconds | -| price | The charge for this transcript in the currency associated with the account | -| recording_sid | The unique id of the Recording that created this Transcription | -| status | A string representing the status of the transcription: in-progress, completed or failed | -| transcription_text | The text content of the transcription | +| account_sid | The unique ID of the account responsible for creating this call. | +| date_created | The date that this resource was created, in RFC 2822 format. | +| date_updated | The date that this resource was last updated, in RFC 2822 format. | +| duration | The duration of the transcribed audio, in seconds. | +| price | The charge for this transcript in the currency associated with the account. | +| recording_sid | The unique ID of the recording that created this transcription. | +| status | A string representing the status of the transcription: `in-progress`, `completed`, or `failed`. | +| transcription_text | The text content of the transcription. | ### Messages | Property Name | Description | | ------ | ------ | -| account_sid | The unique id of the Account responsible for creating this Call | -| api_version | The version of the Twilio API used to process the message | -| body | The text body of the message. Up to 1600 characters long | -| date_created | The date that this resource was created, given in RFC 2822 format | -| date_sent | The date that the message was sent. For outgoing messages, this is the date that the message was sent from Twilio's platform | -| date_updated | The date that this resource was last updated, given in RFC 2822 format | -| direction | The direction of this message. inbound for incoming messages, outbound-api for messages initiated using the REST API, outbound-call for messages initiated during a call or outbound-reply for messages initiated in response to an incoming message | -| error_code | The error code, if any, associated with your message | -| error_message | The human readable description of the ErrorCode above. If the message status is failed or undelivered it will have one of the values described below, otherwise, it will be null | -| from | The phone number (in E.164 format), alphanumeric sender ID, or Wireless SIM that initiated the message | -| num_media | This property indicates the number of media files associated with the message. Each message may send up to 10 media files | -| num_segments | This property indicates the number of segments that make up the message. If your body is too large to be sent as a single SMS message, it will be segmented and charged accordingly | -| price | The amount billed for the message, in the currency associated with the account | -| status | The status of this message. Either accepted, queued, sending, sent,failed, delivered, undelivered, receiving or received. See detailed descriptions of these statuses below | -| to | The phone number that received the message in E.164 format. For incoming messages, this will be one of your Twilio phone numbers. For outgoing messages, this will be the remote phone | - - -### Call Feedback +| account_sid | The unique ID of the account responsible for creating this call. | +| api_version | The version of the Twilio API used to process the message. | +| body | The text body of the message. Up to 1600 characters long. | +| date_created | The date that this resource was created, given in RFC 2822 format. | +| date_sent | The date that the message was sent. For outgoing messages, this is the date that the message was sent from Twilio's platform. | +| date_updated | The date that this resource was last updated, given in RFC 2822 format. | +| direction | The direction of this message: `inbound` for incoming messages, `outbound-API` for messages initiated using the REST API, `outbound-call` for messages initiated during a call or `outbound-reply` for messages initiated in response to an incoming message. | +| error_code | The error code associated with your message. | +| error_message | The human readable description of the `ErrorCode`. If the message status is `failed` or `undelivered` it will have one of the values described in the [Call feedback](#call-feedback) table, or it will otherwise be `null`. | +| from | The phone number (in E.164 format), alphanumeric sender ID, or wireless SIM that initiated the message. | +| num_media | This property indicates the number of media files associated with the message. Each message can send up to 10 media files. | +| num_segments | This property indicates the number of segments that make up the message. If your body is too large to be sent as a single SMS message, it will be segmented and charged accordingly. | +| price | The amount billed for the message, in the currency associated with the account. | +| status | The status of this message. Either `accepted`, `queued`, `sending`, `sent`, `failed`, `delivered`, `undelivered`, `receiving`, or `received`.| +| to | The phone number that received the message in E.164 format. For incoming messages, this is one of your Twilio phone numbers. For outgoing messages, this is the remote phone. | + + +### Call feedback | Property Name | Description | | ------ | ------ | -| quality_score | 1 to 5 quality score where 1 represents imperfect experience and 5 represents a perfect call | - +| quality_score | A 1-to-5 quality score, where 1 represents imperfect experience and 5 represents a perfect call. | -## Adding Destinations -Currently, Warehouses are the only supported destination for object-cloud sources. +## Adding destinations +Currently, warehouses are the only supported destination for [object-cloud](docs/connections/sources/about-cloud-sources/#object-cloud-app-sources]) sources. ## Adding sub-accounts -If you'd like to sync multiple twilio sub-accounts, just follow the steps below! -1. Set up a source for each sub-account -2. Disable the source right after creation to avoid syncing data from the default account -3. [Contact us](https://segment.com/help/contact){:target="_blank”} specifying you would like to add a sub-account to a Twilio source, include a link to the Twilio source(s), and finally, do not forget to include the sub-account SID! +To sync multiple twilio sub-accounts, follow these steps: +1. Set up a source for each sub-account. +2. Disable the source right after creation to avoid syncing data from the default account. +3. [Contact Segment](https://segment.com/help/contact){:target="_blank”} specifying you'd like to add a sub-account to a Twilio source, including a link to the Twilio source. Do not forget to include the sub-account SID. From 1cdfaca327ed9bb2aeef0b2c27e0498cac55c525 Mon Sep 17 00:00:00 2001 From: Sharon Adewusi Date: Fri, 10 Oct 2025 17:24:44 +0100 Subject: [PATCH 07/18] nts - fix the numbering in lists --- src/connections/sources/catalog/cloud-apps/sendgrid/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/cloud-apps/sendgrid/index.md b/src/connections/sources/catalog/cloud-apps/sendgrid/index.md index 33814662d0..c69a4fc303 100644 --- a/src/connections/sources/catalog/cloud-apps/sendgrid/index.md +++ b/src/connections/sources/catalog/cloud-apps/sendgrid/index.md @@ -45,7 +45,7 @@ To add the Sendgrid source to Segment, return to your Segment Workspace and foll > > Changing the collections to be synced takes effect after the next sync. The previous data synced for any collection that has been unselected will be in the warehouse. > - > The default value for Source Sync Schedule in 3 hours. To change the sync, schedule send a message to [friends@segment.com@](mailto:friends@segment.com){:target="_blank”}. + > The default value for Source Sync Schedule in 3 hours. To change the sync, schedule send a message to [friends@segment.com](mailto:friends@segment.com){:target="_blank”}. 9. Toggle **Enable source** on to start syncing data. 10. The first sync begins after you successfully create the source. To review the collections and number of rows synced, go to the **Overview** tab. From b94e28071b9434e888e98841ac2dc33d9e32761b Mon Sep 17 00:00:00 2001 From: Sharon Adewusi Date: Fri, 10 Oct 2025 17:33:10 +0100 Subject: [PATCH 08/18] fixing the tables in Twilio source doc --- .../sources/catalog/cloud-apps/twilio/index.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/connections/sources/catalog/cloud-apps/twilio/index.md b/src/connections/sources/catalog/cloud-apps/twilio/index.md index bc521d9628..5098880af5 100644 --- a/src/connections/sources/catalog/cloud-apps/twilio/index.md +++ b/src/connections/sources/catalog/cloud-apps/twilio/index.md @@ -51,12 +51,12 @@ Collections are the groupings of resources we pull from your source. In your war | Collection | Type | Description | | ------ | ------ | ------ | -| addresses | object | An [address](https://www.twilio.com/docs/api/rest/addresses){:target="_blank”} represents your or your customer's physical location within a country | -| calls | object | A [call](https://www.twilio.com/docs/voice/api/call){:target="_blank”} represents a connection between a telephone and Twilio | -| conferences | object | The [conference](https://www.twilio.com/docs/api/rest/conference){:target="_blank”} allows you to query and manage the state of individual conferences | -| transcriptions | object | A [transcription](https://www.twilio.com/docs/api/rest/transcription){:target="_blank”} represents a transcription of a recording | -| messages | object | A [message](https://www.twilio.com/docs/api/rest/message){:target="_blank”} represents an inbound or outbound message | -| call_feedback | object | The [call feedback](https://www.twilio.com/docs/api/rest/call-feedback){:target="_blank”} subresource provides a simple API to report the quality experienced during a phone call | +| addresses | object | An [address](https://www.twilio.com/docs/api/rest/addresses){:target="_blank”} represents your or your customer's physical location within a country. | +| calls | object | A [call](https://www.twilio.com/docs/voice/api/call){:target="_blank”} represents a connection between a telephone and Twilio. | +| conferences | object | The [conference](https://www.twilio.com/docs/api/rest/conference){:target="_blank”} allows you to query and manage the state of individual conferences. | +| transcriptions | object | A [transcription](https://www.twilio.com/docs/api/rest/transcription){:target="_blank”} represents a transcription of a recording. | +| messages | object | A [message](https://www.twilio.com/docs/api/rest/message){:target="_blank”} represents an inbound or outbound message. | +| call_feedback | object | The [call feedback](https://www.twilio.com/docs/api/rest/call-feedback){:target="_blank”} subresource provides a simple API to report the quality experienced during a phone call. | ## Collection properties From 6f3cb68b1099fddaef3137b19d7fbc94ccbc777a Mon Sep 17 00:00:00 2001 From: Sharon Adewusi Date: Fri, 10 Oct 2025 17:38:35 +0100 Subject: [PATCH 09/18] more edits --- .../catalog/cloud-apps/sendgrid/index.md | 28 ++++++++----------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/src/connections/sources/catalog/cloud-apps/sendgrid/index.md b/src/connections/sources/catalog/cloud-apps/sendgrid/index.md index c69a4fc303..fc09ae34b1 100644 --- a/src/connections/sources/catalog/cloud-apps/sendgrid/index.md +++ b/src/connections/sources/catalog/cloud-apps/sendgrid/index.md @@ -28,8 +28,7 @@ To add the Sendgrid source to Segment, return to your Segment Workspace and foll 1. Navigate to **Connections > Catalog**, and search for "Sendgrid". 2. Click the "Sendgrid" source, and click **Add Source**. **Note**: This source only supports warehouses as a destination. 3. Give the source a meaningful name and (optional) add any labels to help you organize and filter your sources. Select all of the Warehouse destinations from the existing connections. - > info "" - > Segment recommends that you give your source a name that reflects the source itself as this name populates the schema name. For example, the source name `SendGrid` creates the schema `SendGrid`. You can add multiple instances if you have multiple SendGrid accounts. + > **Note**: Segment recommends that you give your source a name that reflects the source itself as this name populates the schema name. For example, the source name `SendGrid` creates the schema `SendGrid`. You can add multiple instances if you have multiple SendGrid accounts. 4. Add the [SendGrid API Key](#sendgrid-api-key) to connect Sendgrid to Segment. Click **Connect**. ![Screenshot of the Settings page in the setup flow for the Sendgrid source.](images/601347_Key.png) 5. Copy the auto-generated Webhook URL from Segment and paste it in your Sendgrid account. Navigate to **Settings > Mail Settings > Event Webhooks** and create a new event webhook. @@ -40,12 +39,9 @@ To add the Sendgrid source to Segment, return to your Segment Workspace and foll > 3. **Select the collections to sync**. The collections that you select will be synced from the start date. 7. Click **Finish** to complete connecting your Sendgrid source to Segment. 8. To set the date from which the sync should start, go to **Settings > Basic Settings**, and configure the start date. - > info "" - > Changing the start date after the first sync doesn't change anything unless a full manual sync is initiated. - > - > Changing the collections to be synced takes effect after the next sync. The previous data synced for any collection that has been unselected will be in the warehouse. - > - > The default value for Source Sync Schedule in 3 hours. To change the sync, schedule send a message to [friends@segment.com](mailto:friends@segment.com){:target="_blank”}. + > * Changing the start date after the first sync doesn't change anything unless a full manual sync is initiated. + > * Changing the collections to be synced takes effect after the next sync. The previous data synced for any collection that has been unselected will be in the warehouse. + > * The default value for Source Sync Schedule in 3 hours. To change the sync, schedule send a message to [friends@segment.com](mailto:friends@segment.com){:target="_blank”}. 9. Toggle **Enable source** on to start syncing data. 10. The first sync begins after you successfully create the source. To review the collections and number of rows synced, go to the **Overview** tab. @@ -83,22 +79,22 @@ Collections are the groupings of resources Segment pulls from your source. In yo | Collection | Type | Description | | ------ | ------ | ------ | | activity | Event | The union of all SendGrid **event** tables. Useful for creating funnels. | -| _open | Event | Recipient has opened the HTML message. Enable Open Tracking to get this type of event. | -| click | Event | Recipient clicked on a link within the message. Enable Click Tracking to get this type of event. | +| _open | Event | Recipient has opened the HTML message. Enable **Open Tracking** to get this type of event. | +| click | Event | Recipient clicked on a link within the message. Enable **Click Tracking** to get this type of event. | | bounce | Event | Receiving server could not or would not accept message. | | delivered | Event | Message has been successfully delivered to the receiving server. | | processed | Event | Triggered when the email is processed. | -| dropped | Event | You may see the following drop reasons: Invalid SMTPAPI header, Spam Content (if spam checker app enabled), Unsubscribed Address, Bounced Address, Spam Reporting Address, Invalid, Recipient List over Package Quota | +| dropped | Event | You may see the following drop reasons: `Invalid SMTPAPI header`, `Spam Content` (if spam checker app enabled), `Unsubscribed Address`, `Bounced Address`, `Spam Reporting Address`, `Invalid`, `Recipient List over Package Quota`. | | deferred | Event | Recipient's email server temporarily rejected message. | -| unsubscribe | Event | Recipient clicked on message's subscription management link. You need to enable Subscription Tracking for getting this type of event. | +| unsubscribe | Event | Recipient clicked on message's subscription management link. You need to enable **Subscription Tracking** for getting this type of event. | | mc_contacts | Object | A sample of fifty latest contacts uploaded or linked from the list, returned from [Sendgrid](https://docs.sendgrid.com/api-reference/contacts/get-sample-contacts){:target="_blank"}. **Will only return data if you're using SendGrid's New Marketing Campaign features.** | | mc_lists | Object | Lists returned from [Sendgrid Lists endpoint](https://docs.sendgrid.com/api-reference/lists/get-all-lists){:target="_blank"}. **Will only return data if you're using SendGrid's New Marketing Campaign features.** | | mc_single_sends | Object | Single Sends with condensed details about each from [Sendgrid Single Sends endpoint](https://docs.sendgrid.com/api-reference/single-sends/get-all-single-sends){:target="_blank"}. **Will only return data if you're using SendGrid's New Marketing Campaign features.** | | spam_report | Event | Recipient marked message as spam. | -| lists | Object | [Groups of contacts](https://sendgrid.com/docs/API_Reference/Web_API_v3/Marketing_Campaigns/contactdb.html){:target="_blank”}. **Will only return data if you had Legacy Marketing Campaigns data** | -| segments | Object | [Slices of lists](https://sendgrid.com/docs/API_Reference/Web_API_v3/Marketing_Campaigns/contactdb.html){:target="_blank”}. **Will only return data if you had Legacy Marketing Campaigns data** | -| recipients | Object | All contacts who have received an email, with information about their last activities and custom activities. [More Info](https://sendgrid.com/docs/API_Reference/Web_API_v3/Marketing_Campaigns/contactdb.html){:target="_blank”}. **Will only return data if you had Legacy Marketing Campaigns data** | -| campaigns | Object | All campaigns you've created in SendGrid. [More Info](https://sendgrid.com/docs/API_Reference/Web_API_v3/Marketing_Campaigns/campaigns.html){:target="_blank”}. **Will only return data if you had Legacy Marketing Campaigns data** | +| lists | Object | [Groups of contacts](https://sendgrid.com/docs/API_Reference/Web_API_v3/Marketing_Campaigns/contactdb.html){:target="_blank”}. **Will only return data if you had Legacy Marketing Campaigns data.** | +| segments | Object | [Slices of lists](https://sendgrid.com/docs/API_Reference/Web_API_v3/Marketing_Campaigns/contactdb.html){:target="_blank”}. **Will only return data if you had Legacy Marketing Campaigns data.** | +| recipients | Object | All contacts who have received an email, with information about their last activities and custom activities. For more information, see the [Sendgrid docs](https://sendgrid.com/docs/API_Reference/Web_API_v3/Marketing_Campaigns/contactdb.html){:target="_blank”}. **Will only return data if you had Legacy Marketing Campaigns data.** | +| campaigns | Object | All campaigns you've created in SendGrid. For more information, see the [Sendgrid docs](https://sendgrid.com/docs/API_Reference/Web_API_v3/Marketing_Campaigns/campaigns.html){:target="_blank”}. **Will only return data if you had Legacy Marketing Campaigns data.** | ## Troubleshooting From 41651b20f35290ee90f1e00a415c0ddc7ee89e0b Mon Sep 17 00:00:00 2001 From: Sharon Adewusi Date: Fri, 10 Oct 2025 17:39:08 +0100 Subject: [PATCH 10/18] please work [netlify-build] --- src/connections/sources/catalog/cloud-apps/sendgrid/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/cloud-apps/sendgrid/index.md b/src/connections/sources/catalog/cloud-apps/sendgrid/index.md index fc09ae34b1..207b7926d2 100644 --- a/src/connections/sources/catalog/cloud-apps/sendgrid/index.md +++ b/src/connections/sources/catalog/cloud-apps/sendgrid/index.md @@ -5,7 +5,7 @@ id: jhr8dT2yHn [SendGrid](http://sendgrid.com){:target="_blank”} is a trusted platform for transactional email and email marketing. -Take your company's analysis to the next level by **adding SendGrid as a Source to Segment**. Segment automatically collects events like `Click` or `Delivered` and objects such as `Recipients` or `Campaigns` and loads them into your data warehouse.  +Take your company's analysis to the next level by **adding SendGrid as a Source to Segment**. Segment automatically collects events like `Click` or `Delivered` and objects such as `Recipients` or `Campaigns` and loads them into your data warehouse. ## Getting started From dcf1cc711d2fe70e55ffb9f2fa1b521ac254c277 Mon Sep 17 00:00:00 2001 From: Sharon Adewusi Date: Fri, 10 Oct 2025 18:11:56 +0100 Subject: [PATCH 11/18] more --- src/connections/sources/catalog/cloud-apps/sendgrid/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/cloud-apps/sendgrid/index.md b/src/connections/sources/catalog/cloud-apps/sendgrid/index.md index 207b7926d2..9430532e99 100644 --- a/src/connections/sources/catalog/cloud-apps/sendgrid/index.md +++ b/src/connections/sources/catalog/cloud-apps/sendgrid/index.md @@ -41,7 +41,7 @@ To add the Sendgrid source to Segment, return to your Segment Workspace and foll 8. To set the date from which the sync should start, go to **Settings > Basic Settings**, and configure the start date. > * Changing the start date after the first sync doesn't change anything unless a full manual sync is initiated. > * Changing the collections to be synced takes effect after the next sync. The previous data synced for any collection that has been unselected will be in the warehouse. - > * The default value for Source Sync Schedule in 3 hours. To change the sync, schedule send a message to [friends@segment.com](mailto:friends@segment.com){:target="_blank”}. + > * The default value for Source Sync Schedule in 3 hours. To change the sync schedule, send a message to [friends@segment.com](mailto:friends@segment.com){:target="_blank”}. 9. Toggle **Enable source** on to start syncing data. 10. The first sync begins after you successfully create the source. To review the collections and number of rows synced, go to the **Overview** tab. From aa2f11c1412a1af287a6732cdc4800fa11f32e4a Mon Sep 17 00:00:00 2001 From: Sharon Adewusi Date: Fri, 10 Oct 2025 18:13:30 +0100 Subject: [PATCH 12/18] more fixing [netlify-build] --- .../sources/catalog/cloud-apps/twilio/index.md | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/connections/sources/catalog/cloud-apps/twilio/index.md b/src/connections/sources/catalog/cloud-apps/twilio/index.md index 5098880af5..c3130efd21 100644 --- a/src/connections/sources/catalog/cloud-apps/twilio/index.md +++ b/src/connections/sources/catalog/cloud-apps/twilio/index.md @@ -11,8 +11,7 @@ id: 43bb279b7 1. Navigate to **Connections > Catalog** and from the sources tab, search for “Twilio” and click on the tile. 2. Click **Add Source**, to create a new Twilio source. **Note**: This source only supports warehouses as a destination. 3. Give the source a meaningful name and (optional) add labels. Add the Twilio SID, which can be found in your Twilio account. - > info "" - > Segment recommends that you give your source a name that reflects the source itself as this name populates the schema name. For example, `Twilio` for nickname and `twilio` or `twilio_prod` for the schema name. You can add multiple instances if you have multiple Twilio accounts. + > **Note**: Segment recommends that you give your source a name that reflects the source itself as this name populates the schema name. For example, `Twilio` for nickname and `twilio` or `twilio_prod` for the schema name. You can add multiple instances if you have multiple Twilio accounts. 4. Sign into your Twilio account and select the account that you want to sync data from to Segment. 5. Add the Twilio SID, which can be found in your Twilio account, in **Project Settings**. Click **Authenticate**. 6. Once connected successfully, click **Next** to setup the SQL schema. @@ -23,12 +22,9 @@ id: 43bb279b7 > 3. **Select the collections to sync**. The collections that you select will be synced from the start date. 9. Click **Done** to complete integrating your Twilio account with Segment. 10. To set the date from which the sync should start, go to **Settings > Basic Settings**, and configure the start date. - > info "" - > Changing the start date after the first sync doesn't change anything unless a full manual sync is initiated. - > - > Changing the collections to be synced takes effect after the next sync. The previous data synced for any collection that has been unselected will be in the warehouse. - > - > The default value for Source Sync Schedule in 3 hours. To change the sync, schedule send a message to [friends@segment.com](mailto:friends@segment.com){:target="_blank”}. + > - Changing the start date after the first sync doesn't change anything unless a full manual sync is initiated. + > - Changing the collections to be synced takes effect after the next sync. The previous data synced for any collection that has been unselected will be in the warehouse. + > - The default value for Source Sync Schedule in 3 hours. To change the sync schedule, send a message to [friends@segment.com](mailto:friends@segment.com){:target="_blank”}. 11. Toggle **Enable source** on to start syncing data. 12. The first sync begins after you successfully create the source. To review the collections and number of rows synced, go to the **Overview** tab. From dfb8f67f2bdf2f9704dc20a998f0998e415ee1fb Mon Sep 17 00:00:00 2001 From: Sharon Adewusi Date: Fri, 10 Oct 2025 18:15:49 +0100 Subject: [PATCH 13/18] warehouse link 1 --- src/connections/sources/catalog/cloud-apps/sendgrid/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/cloud-apps/sendgrid/index.md b/src/connections/sources/catalog/cloud-apps/sendgrid/index.md index 9430532e99..3d0bda6922 100644 --- a/src/connections/sources/catalog/cloud-apps/sendgrid/index.md +++ b/src/connections/sources/catalog/cloud-apps/sendgrid/index.md @@ -26,7 +26,7 @@ Adding SendGrid as a Source in Segment requires a SendGrid API key. If you don't To add the Sendgrid source to Segment, return to your Segment Workspace and follow these steps: 1. Navigate to **Connections > Catalog**, and search for "Sendgrid". -2. Click the "Sendgrid" source, and click **Add Source**. **Note**: This source only supports warehouses as a destination. +2. Click the "Sendgrid" source, and click **Add Source**. **Note**: This source only supports [warehouses](docs/connections/storage/warehouses/) as a destination. 3. Give the source a meaningful name and (optional) add any labels to help you organize and filter your sources. Select all of the Warehouse destinations from the existing connections. > **Note**: Segment recommends that you give your source a name that reflects the source itself as this name populates the schema name. For example, the source name `SendGrid` creates the schema `SendGrid`. You can add multiple instances if you have multiple SendGrid accounts. 4. Add the [SendGrid API Key](#sendgrid-api-key) to connect Sendgrid to Segment. Click **Connect**. From a50b1c3e04d8b1f88802742a713be48787a39d75 Mon Sep 17 00:00:00 2001 From: Sharon Adewusi Date: Fri, 10 Oct 2025 18:16:27 +0100 Subject: [PATCH 14/18] warehouse link 2 --- src/connections/sources/catalog/cloud-apps/twilio/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/cloud-apps/twilio/index.md b/src/connections/sources/catalog/cloud-apps/twilio/index.md index c3130efd21..23735f01cd 100644 --- a/src/connections/sources/catalog/cloud-apps/twilio/index.md +++ b/src/connections/sources/catalog/cloud-apps/twilio/index.md @@ -9,7 +9,7 @@ id: 43bb279b7 ## Getting started 1. Navigate to **Connections > Catalog** and from the sources tab, search for “Twilio” and click on the tile. -2. Click **Add Source**, to create a new Twilio source. **Note**: This source only supports warehouses as a destination. +2. Click **Add Source**, to create a new Twilio source. **Note**: This source only supports [warehouses](docs/connections/storage/warehouses/) as a destination. 3. Give the source a meaningful name and (optional) add labels. Add the Twilio SID, which can be found in your Twilio account. > **Note**: Segment recommends that you give your source a name that reflects the source itself as this name populates the schema name. For example, `Twilio` for nickname and `twilio` or `twilio_prod` for the schema name. You can add multiple instances if you have multiple Twilio accounts. 4. Sign into your Twilio account and select the account that you want to sync data from to Segment. From 42c9bcc27675aa13b51ddf40e1d98fed6667ea0f Mon Sep 17 00:00:00 2001 From: Sharon Adewusi Date: Mon, 13 Oct 2025 15:18:41 +0100 Subject: [PATCH 15/18] more fixing --- .../catalog/cloud-apps/sendgrid/index.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/connections/sources/catalog/cloud-apps/sendgrid/index.md b/src/connections/sources/catalog/cloud-apps/sendgrid/index.md index 3d0bda6922..b19338ba4a 100644 --- a/src/connections/sources/catalog/cloud-apps/sendgrid/index.md +++ b/src/connections/sources/catalog/cloud-apps/sendgrid/index.md @@ -18,7 +18,7 @@ Adding SendGrid as a Source in Segment requires a SendGrid API key. If you don't 3. Name the key, configure the key permissions, and click **Create & View**. 4. Make note of the API key as it will not be shown again. -> info "SendGrid API Key settings" +> info "SendGrid API key settings" > Segment recommends providing read permissions for **Email Activity** and **Marketing Activity**. ### Set up Sendgrid source @@ -26,19 +26,19 @@ Adding SendGrid as a Source in Segment requires a SendGrid API key. If you don't To add the Sendgrid source to Segment, return to your Segment Workspace and follow these steps: 1. Navigate to **Connections > Catalog**, and search for "Sendgrid". -2. Click the "Sendgrid" source, and click **Add Source**. **Note**: This source only supports [warehouses](docs/connections/storage/warehouses/) as a destination. +2. Click the "Sendgrid" source and click **Add Source**. **Note**: This source only supports [warehouses](docs/connections/storage/warehouses/) as a destination. 3. Give the source a meaningful name and (optional) add any labels to help you organize and filter your sources. Select all of the Warehouse destinations from the existing connections. > **Note**: Segment recommends that you give your source a name that reflects the source itself as this name populates the schema name. For example, the source name `SendGrid` creates the schema `SendGrid`. You can add multiple instances if you have multiple SendGrid accounts. -4. Add the [SendGrid API Key](#sendgrid-api-key) to connect Sendgrid to Segment. Click **Connect**. +4. Add the [SendGrid API key](#sendgrid-api-key) to connect Sendgrid to Segment. Click **Connect**. ![Screenshot of the Settings page in the setup flow for the Sendgrid source.](images/601347_Key.png) 5. Copy the auto-generated Webhook URL from Segment and paste it in your Sendgrid account. Navigate to **Settings > Mail Settings > Event Webhooks** and create a new event webhook. ![Screenshot of the Webhook page in the setup flow for the Sendgrid source.](images/694785_Webhook.png) 6. Set up **Selective Sync**. You have the options to: - > 1. **Configure the source sync schedule**. This is how often the data syncs. The default option is every three hours. - > 2. **Select the start date**. This is the date from which the first sync happens. If left blank, a full sync is initiated. - > 3. **Select the collections to sync**. The collections that you select will be synced from the start date. + > * **Configure the source sync schedule**. This is how often the data syncs. The default option is every three hours. + > * **Select the start date**. This is the date from which the first sync happens. If left blank, a full sync is initiated. + > * **Select the collections to sync**. The collections that you select will be synced from the start date. 7. Click **Finish** to complete connecting your Sendgrid source to Segment. -8. To set the date from which the sync should start, go to **Settings > Basic Settings**, and configure the start date. +8. To set the date from which the sync should start, go to **Settings > Basic Settings**, and configure the start date. Some things to note: > * Changing the start date after the first sync doesn't change anything unless a full manual sync is initiated. > * Changing the collections to be synced takes effect after the next sync. The previous data synced for any collection that has been unselected will be in the warehouse. > * The default value for Source Sync Schedule in 3 hours. To change the sync schedule, send a message to [friends@segment.com](mailto:friends@segment.com){:target="_blank”}. @@ -59,7 +59,7 @@ Segment's sync component pulls and forwards SendGrid resources to Segment using The source syncs and warehouse syncs are independent processes. Source runs pull your data into the Segment Hub, and warehouse runs flush that data to your warehouse. Sources sync with Segment every three hours. Depending on your Warehouses plan, Segment pushes the source data to your warehouse on the interval associated with your billing plan. > info "SendGrid syncs" -> Segment syncs all objects and properties. [Reach out to support](https://segment.com/help/contact/){:target="_blank”} if you're interested in filtering objects or properties during syncs. +> Segment syncs all objects and properties. [Reach out to Segment support](https://segment.com/help/contact/){:target="_blank”} if you're interested in filtering objects or properties during syncs. ### Streaming @@ -79,7 +79,7 @@ Collections are the groupings of resources Segment pulls from your source. In yo | Collection | Type | Description | | ------ | ------ | ------ | | activity | Event | The union of all SendGrid **event** tables. Useful for creating funnels. | -| _open | Event | Recipient has opened the HTML message. Enable **Open Tracking** to get this type of event. | +| open | Event | Recipient has opened the HTML message. Enable **Open Tracking** to get this type of event. | | click | Event | Recipient clicked on a link within the message. Enable **Click Tracking** to get this type of event. | | bounce | Event | Receiving server could not or would not accept message. | | delivered | Event | Message has been successfully delivered to the receiving server. | From c648e0e414e908d042bd479bfe4da8ae68490c69 Mon Sep 17 00:00:00 2001 From: Sharon Adewusi Date: Mon, 13 Oct 2025 15:24:48 +0100 Subject: [PATCH 16/18] finishing tweaks --- .../sources/catalog/cloud-apps/twilio/index.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/connections/sources/catalog/cloud-apps/twilio/index.md b/src/connections/sources/catalog/cloud-apps/twilio/index.md index 23735f01cd..d17a301b2b 100644 --- a/src/connections/sources/catalog/cloud-apps/twilio/index.md +++ b/src/connections/sources/catalog/cloud-apps/twilio/index.md @@ -17,13 +17,13 @@ id: 43bb279b7 6. Once connected successfully, click **Next** to setup the SQL schema. 7. Verify the schema and click **Next**. 8. Set up **Selective Sync**. You have the options to: - > 1. **Configure the source sync schedule**. This is how often the data syncs. The default option is every three hours. - > 2. **Select the start date**. This is the date from which the first sync happens. If left blank, a full sync is initiated. - > 3. **Select the collections to sync**. The collections that you select will be synced from the start date. -9. Click **Done** to complete integrating your Twilio account with Segment. -10. To set the date from which the sync should start, go to **Settings > Basic Settings**, and configure the start date. + > * **Configure the source sync schedule**. This is how often the data syncs. The default option is every three hours. + > * **Select the start date**. This is the date from which the first sync happens. If left blank, a full sync is initiated. + > * **Select the collections to sync**. The collections that you select are synced from the start date. +9. Click **Done** to complete integrating your Twilio account with Segment. Some things to note: +10. To set the date from which the sync should start, go to **Settings > Basic Settings**, and configure the start date. > - Changing the start date after the first sync doesn't change anything unless a full manual sync is initiated. - > - Changing the collections to be synced takes effect after the next sync. The previous data synced for any collection that has been unselected will be in the warehouse. + > - Changing the collections to be synced takes effect after the next sync. The previous data synced for any collection that has been unselected is stored in the warehouse. > - The default value for Source Sync Schedule in 3 hours. To change the sync schedule, send a message to [friends@segment.com](mailto:friends@segment.com){:target="_blank”}. 11. Toggle **Enable source** on to start syncing data. 12. The first sync begins after you successfully create the source. To review the collections and number of rows synced, go to the **Overview** tab. @@ -73,7 +73,7 @@ The following tables outline the properties included in collections: | region | The state or region in which you or your customer is located. | | street | The number and street address where you or your customer is located. | | received_at | This timestamp is added to incoming records as soon as they hit Segment API. | -| validated | This value will be `true` if the address has been validated, or `false` for countries that don't require validation or if the address is non-compliant. | +| validated | This value is `true` if the address has been validated, or `false` for countries that don't require validation or if the address is non-compliant. | ### Calls @@ -137,10 +137,10 @@ The following tables outline the properties included in collections: | date_updated | The date that this resource was last updated, given in RFC 2822 format. | | direction | The direction of this message: `inbound` for incoming messages, `outbound-API` for messages initiated using the REST API, `outbound-call` for messages initiated during a call or `outbound-reply` for messages initiated in response to an incoming message. | | error_code | The error code associated with your message. | -| error_message | The human readable description of the `ErrorCode`. If the message status is `failed` or `undelivered` it will have one of the values described in the [Call feedback](#call-feedback) table, or it will otherwise be `null`. | +| error_message | The human readable description of the `ErrorCode`. If the message status is `failed` or `undelivered` it will have one of the values described in the [Call feedback table](#call-feedback), or it will otherwise be `null`. | | from | The phone number (in E.164 format), alphanumeric sender ID, or wireless SIM that initiated the message. | | num_media | This property indicates the number of media files associated with the message. Each message can send up to 10 media files. | -| num_segments | This property indicates the number of segments that make up the message. If your body is too large to be sent as a single SMS message, it will be segmented and charged accordingly. | +| num_segments | This property indicates the number of segments that make up the message. If your body is too large to be sent as a single SMS message, it is segmented and charged accordingly. | | price | The amount billed for the message, in the currency associated with the account. | | status | The status of this message. Either `accepted`, `queued`, `sending`, `sent`, `failed`, `delivered`, `undelivered`, `receiving`, or `received`.| | to | The phone number that received the message in E.164 format. For incoming messages, this is one of your Twilio phone numbers. For outgoing messages, this is the remote phone. | From 94aec47b0c6c1330dad6cc052557367d02ad5ae1 Mon Sep 17 00:00:00 2001 From: Sharon Adewusi Date: Mon, 13 Oct 2025 15:26:56 +0100 Subject: [PATCH 17/18] final look [netlify-build] --- .../catalog/cloud-apps/sendgrid/index.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/connections/sources/catalog/cloud-apps/sendgrid/index.md b/src/connections/sources/catalog/cloud-apps/sendgrid/index.md index b19338ba4a..6cca6e46e5 100644 --- a/src/connections/sources/catalog/cloud-apps/sendgrid/index.md +++ b/src/connections/sources/catalog/cloud-apps/sendgrid/index.md @@ -36,17 +36,17 @@ To add the Sendgrid source to Segment, return to your Segment Workspace and foll 6. Set up **Selective Sync**. You have the options to: > * **Configure the source sync schedule**. This is how often the data syncs. The default option is every three hours. > * **Select the start date**. This is the date from which the first sync happens. If left blank, a full sync is initiated. - > * **Select the collections to sync**. The collections that you select will be synced from the start date. + > * **Select the collections to sync**. The collections that you select are synced from the start date. 7. Click **Finish** to complete connecting your Sendgrid source to Segment. 8. To set the date from which the sync should start, go to **Settings > Basic Settings**, and configure the start date. Some things to note: > * Changing the start date after the first sync doesn't change anything unless a full manual sync is initiated. - > * Changing the collections to be synced takes effect after the next sync. The previous data synced for any collection that has been unselected will be in the warehouse. + > * Changing the collections to be synced takes effect after the next sync. The previous data synced for any collection that has been unselected is stored in the warehouse. > * The default value for Source Sync Schedule in 3 hours. To change the sync schedule, send a message to [friends@segment.com](mailto:friends@segment.com){:target="_blank”}. 9. Toggle **Enable source** on to start syncing data. 10. The first sync begins after you successfully create the source. To review the collections and number of rows synced, go to the **Overview** tab. ### Event URL -SendGrid has a single Event URL location. By using the SendGrid source, you'll use your only Event URL location. If you remove a pre-existing URL, then that location will no longer receive events. +SendGrid has a single Event URL location. By using the SendGrid source, you'll use your only Event URL location. If you remove a pre-existing URL, then that location no longer receives events. ## Components @@ -87,14 +87,14 @@ Collections are the groupings of resources Segment pulls from your source. In yo | dropped | Event | You may see the following drop reasons: `Invalid SMTPAPI header`, `Spam Content` (if spam checker app enabled), `Unsubscribed Address`, `Bounced Address`, `Spam Reporting Address`, `Invalid`, `Recipient List over Package Quota`. | | deferred | Event | Recipient's email server temporarily rejected message. | | unsubscribe | Event | Recipient clicked on message's subscription management link. You need to enable **Subscription Tracking** for getting this type of event. | -| mc_contacts | Object | A sample of fifty latest contacts uploaded or linked from the list, returned from [Sendgrid](https://docs.sendgrid.com/api-reference/contacts/get-sample-contacts){:target="_blank"}. **Will only return data if you're using SendGrid's New Marketing Campaign features.** | -| mc_lists | Object | Lists returned from [Sendgrid Lists endpoint](https://docs.sendgrid.com/api-reference/lists/get-all-lists){:target="_blank"}. **Will only return data if you're using SendGrid's New Marketing Campaign features.** | -| mc_single_sends | Object | Single Sends with condensed details about each from [Sendgrid Single Sends endpoint](https://docs.sendgrid.com/api-reference/single-sends/get-all-single-sends){:target="_blank"}. **Will only return data if you're using SendGrid's New Marketing Campaign features.** | +| mc_contacts | Object | A sample of fifty latest contacts uploaded or linked from the list, returned from [Sendgrid](https://docs.sendgrid.com/api-reference/contacts/get-sample-contacts){:target="_blank"}. **Only returns data if you're using SendGrid's New Marketing Campaign features.** | +| mc_lists | Object | Lists returned from [Sendgrid Lists endpoint](https://docs.sendgrid.com/api-reference/lists/get-all-lists){:target="_blank"}. **Only returns data if you're using SendGrid's New Marketing Campaign features.** | +| mc_single_sends | Object | Single Sends with condensed details about each from [Sendgrid Single Sends endpoint](https://docs.sendgrid.com/api-reference/single-sends/get-all-single-sends){:target="_blank"}. **Only returns data if you're using SendGrid's New Marketing Campaign features.** | | spam_report | Event | Recipient marked message as spam. | -| lists | Object | [Groups of contacts](https://sendgrid.com/docs/API_Reference/Web_API_v3/Marketing_Campaigns/contactdb.html){:target="_blank”}. **Will only return data if you had Legacy Marketing Campaigns data.** | -| segments | Object | [Slices of lists](https://sendgrid.com/docs/API_Reference/Web_API_v3/Marketing_Campaigns/contactdb.html){:target="_blank”}. **Will only return data if you had Legacy Marketing Campaigns data.** | -| recipients | Object | All contacts who have received an email, with information about their last activities and custom activities. For more information, see the [Sendgrid docs](https://sendgrid.com/docs/API_Reference/Web_API_v3/Marketing_Campaigns/contactdb.html){:target="_blank”}. **Will only return data if you had Legacy Marketing Campaigns data.** | -| campaigns | Object | All campaigns you've created in SendGrid. For more information, see the [Sendgrid docs](https://sendgrid.com/docs/API_Reference/Web_API_v3/Marketing_Campaigns/campaigns.html){:target="_blank”}. **Will only return data if you had Legacy Marketing Campaigns data.** | +| lists | Object | [Groups of contacts](https://sendgrid.com/docs/API_Reference/Web_API_v3/Marketing_Campaigns/contactdb.html){:target="_blank”}. **Only returns data if you had Legacy Marketing Campaigns data.** | +| segments | Object | [Slices of lists](https://sendgrid.com/docs/API_Reference/Web_API_v3/Marketing_Campaigns/contactdb.html){:target="_blank”}. **Only returns data if you had Legacy Marketing Campaigns data.** | +| recipients | Object | All contacts who have received an email, with information about their last activities and custom activities. For more information, see the [Sendgrid docs](https://sendgrid.com/docs/API_Reference/Web_API_v3/Marketing_Campaigns/contactdb.html){:target="_blank”}. **Only returns data if you had Legacy Marketing Campaigns data.** | +| campaigns | Object | All campaigns you've created in SendGrid. For more information, see the [Sendgrid docs](https://sendgrid.com/docs/API_Reference/Web_API_v3/Marketing_Campaigns/campaigns.html){:target="_blank”}. **Only returns data if you had Legacy Marketing Campaigns data.** | ## Troubleshooting From 9bcd16e4311323acae2ba33a5057a31655d0ed69 Mon Sep 17 00:00:00 2001 From: Sharon Adewusi Date: Mon, 13 Oct 2025 15:46:06 +0100 Subject: [PATCH 18/18] edit --- src/connections/sources/catalog/cloud-apps/twilio/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connections/sources/catalog/cloud-apps/twilio/index.md b/src/connections/sources/catalog/cloud-apps/twilio/index.md index d17a301b2b..13e79fd74e 100644 --- a/src/connections/sources/catalog/cloud-apps/twilio/index.md +++ b/src/connections/sources/catalog/cloud-apps/twilio/index.md @@ -21,8 +21,8 @@ id: 43bb279b7 > * **Select the start date**. This is the date from which the first sync happens. If left blank, a full sync is initiated. > * **Select the collections to sync**. The collections that you select are synced from the start date. 9. Click **Done** to complete integrating your Twilio account with Segment. Some things to note: -10. To set the date from which the sync should start, go to **Settings > Basic Settings**, and configure the start date. - > - Changing the start date after the first sync doesn't change anything unless a full manual sync is initiated. +10. To set the date from which the sync should start, go to **Settings > Basic Settings**, and configure the start date. Some things to note: + > - Changing the start date after the first sync doesn't change anything unless a full manual sync is initiated. > - Changing the collections to be synced takes effect after the next sync. The previous data synced for any collection that has been unselected is stored in the warehouse. > - The default value for Source Sync Schedule in 3 hours. To change the sync schedule, send a message to [friends@segment.com](mailto:friends@segment.com){:target="_blank”}. 11. Toggle **Enable source** on to start syncing data.