From e0905db1fe61bac82af250dc6a4da7c0d2680483 Mon Sep 17 00:00:00 2001 From: kkilfoyle <113213856+kkilfoyle@users.noreply.github.com> Date: Fri, 9 Sep 2022 15:45:35 -0600 Subject: [PATCH 1/4] create sendgrid marketing campaigns creating documentation for the sendgrid marketing campaigns destination --- .../catalog/sendgrid marketing campaigns | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/connections/destinations/catalog/sendgrid marketing campaigns diff --git a/src/connections/destinations/catalog/sendgrid marketing campaigns b/src/connections/destinations/catalog/sendgrid marketing campaigns new file mode 100644 index 0000000000..ae5a05c79d --- /dev/null +++ b/src/connections/destinations/catalog/sendgrid marketing campaigns @@ -0,0 +1,49 @@ +--- +# The end name should be similar to `Slack Destination` +title: Sendgrid Marketing Campaigns Destination +hide-boilerplate: true +hide-dossier: true +--- + + + +{% include content/plan-grid.md name="actions" %} + + + + + +{% include content/ajs-upgrade.md %} + +[Sendgrid Marketing Campaigns](https://sendgrid.com/solutions/email-marketing/) provides email marketing automation for businesses. With Segment you can add contacts and lists to Sendgrid Marketing Campaigns quickly and easily! + + + +## Getting started + +1. From the Segment web app, click **Catalog**, then click **Destinations**. +2. Find the Destinations Actions item in the left navigation, and click it. +3. Click **Configure Sendgrid Marketing Campaigns**. +4. Select an existing Source to connect to Sendgrid Marketing Campaigns (Actions). +5. In the destination settings, enter your Sendgrid Marketing Campaigns “API key” into the connection settings. You should create a new API key for the Segment destination. You can read more about API keys on [Marketing Campaigns’s docs.](https://docs.sendgrid.com/ui/account-and-settings/api-keys) + + + +{% include components/actions-fields.html %} + + + +## Recording Custom User Traits +If you want to view any other custom user traits in the Marketing Campaigns list dashboard, you must create a [Custom Field inside Marketing Campaigns’s UI](https://docs.sendgrid.com/ui/managing-contacts/custom-fields#creating-custom-fields) of the traits in your identify calls. Note that you do not need to map all user.traits you are sending inside Marketing Campaigns. You only need to create Custom Fields of the traits you want to see in your list view. + +## Custom Fields +To send custom fields/user traits to Marketing Campaigns you need to create the field first in Marketing Campaigns for each trait you want sent to Marketing Campaigns. Then when you call identify with keys that match those traits they will appear in your Marketing Campaigns list. + +For any other custom traits just add a Custom Field inside of Sendgrid Marketing Campaigns with a tag that matches the key you are using in your identify call. + + +## Recording userId +To record a Segment userId in Sendgrid Marketing Campaigns, you must pass the userID as a trait on your identify() calls. We do not automatically map the Segment userID to any Marketing Campaigns properties. From 819f49acd0c0d305e0f752b3bf6f9e0f5a055e7e Mon Sep 17 00:00:00 2001 From: markzegarelli Date: Mon, 12 Sep 2022 14:09:55 -0700 Subject: [PATCH 2/4] Move content to the correct location --- .github/styles/Vocab/Docs/accept.txt | 1 + .../index.md} | 2 ++ 2 files changed, 3 insertions(+) rename src/connections/destinations/catalog/{sendgrid marketing campaigns => actions-personas-messaging-sendgrid/index.md} (98%) diff --git a/.github/styles/Vocab/Docs/accept.txt b/.github/styles/Vocab/Docs/accept.txt index fbdad34d91..33b52ed3a7 100644 --- a/.github/styles/Vocab/Docs/accept.txt +++ b/.github/styles/Vocab/Docs/accept.txt @@ -95,6 +95,7 @@ Preact Qualtrics Rokt Selligent +Sendgrid Shopify signup Skalin diff --git a/src/connections/destinations/catalog/sendgrid marketing campaigns b/src/connections/destinations/catalog/actions-personas-messaging-sendgrid/index.md similarity index 98% rename from src/connections/destinations/catalog/sendgrid marketing campaigns rename to src/connections/destinations/catalog/actions-personas-messaging-sendgrid/index.md index ae5a05c79d..facd2487bb 100644 --- a/src/connections/destinations/catalog/sendgrid marketing campaigns +++ b/src/connections/destinations/catalog/actions-personas-messaging-sendgrid/index.md @@ -3,6 +3,8 @@ title: Sendgrid Marketing Campaigns Destination hide-boilerplate: true hide-dossier: true +private: true +id: 6101bf0e15772f7e12407fa9 --- From 7013d9cbb5fa2d9d4ef8321c1617f4a2160a71ab Mon Sep 17 00:00:00 2001 From: markzegarelli Date: Mon, 12 Sep 2022 14:18:56 -0700 Subject: [PATCH 3/4] rename - temp --- .../index.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/connections/destinations/catalog/{actions-personas-messaging-sendgrid => sendgrid-marketing-campaigns}/index.md (100%) diff --git a/src/connections/destinations/catalog/actions-personas-messaging-sendgrid/index.md b/src/connections/destinations/catalog/sendgrid-marketing-campaigns/index.md similarity index 100% rename from src/connections/destinations/catalog/actions-personas-messaging-sendgrid/index.md rename to src/connections/destinations/catalog/sendgrid-marketing-campaigns/index.md From 1e9f5882a225d02e5a87f5a5d5081de1e0174ba3 Mon Sep 17 00:00:00 2001 From: markzegarelli Date: Tue, 13 Sep 2022 16:07:15 -0700 Subject: [PATCH 4/4] Added metadata --- src/_data/catalog/destinations_private.yml | 382 +++++++++++++++++- .../catalog/actions-sendgrid/index.md | 36 ++ .../sendgrid-marketing-campaigns/index.md | 51 --- 3 files changed, 417 insertions(+), 52 deletions(-) create mode 100644 src/connections/destinations/catalog/actions-sendgrid/index.md delete mode 100644 src/connections/destinations/catalog/sendgrid-marketing-campaigns/index.md diff --git a/src/_data/catalog/destinations_private.yml b/src/_data/catalog/destinations_private.yml index 894ac8ed9c..c9275369d0 100644 --- a/src/_data/catalog/destinations_private.yml +++ b/src/_data/catalog/destinations_private.yml @@ -1,5 +1,5 @@ # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT -# destination data last updated 2022-09-06 with Qualtrics +# destination data last updated 2022-09-13 with Sendgrid Marketing Campaigns items: - id: 54521fd525e721e32a72ee8e name: AdRoll @@ -2451,3 +2451,383 @@ items: dynamic: false allowNull: false presets: [] + - id: 631a6f32946dd8197e9cab66 + display_name: Sendgrid Marketing Campaigns + name: Sendgrid Marketing Campaigns + slug: actions-sendgrid + previous_names: + - Sendgrid Marketing Campaigns + website: https://sendgrid.com/ + status: PRIVATE_BETA + logo: + url: https://cdn.filepicker.io/api/file/jrbUXsZDQ708akn3cVyZ + mark: + url: https://cdn.filepicker.io/api/file/jrbUXsZDQ708akn3cVyZ + methods: + track: true + pageview: true + identify: true + group: true + alias: true + platforms: + browser: true + mobile: false + server: true + components: [] + browserUnbundlingSupported: false + browserUnbundlingPublic: false + replay: false + settings: + - name: sendGridApiKey + type: password + defaultValue: '' + description: The Api key for your SendGrid account. + required: true + label: API Key + actions: + - id: rL5tHuZt3nvQLqn7oXeFhC + name: Upsert Contact + slug: updateUserProfile + description: Add or update a Contact in SendGrid. + platform: CLOUD + hidden: false + defaultTrigger: null + fields: + - id: 3uNdbPtxj8yupH24rzsaNn + sortOrder: 0 + fieldKey: enable_batching + label: Batch Data to SendGrid Contacts PUT API + type: BOOLEAN + description: >- + When enabled, the action will use the SendGrid Contacts PUT API to + perform the batch operation. Batches can contain up to 30k records + in a request. + placeholder: '' + defaultValue: true + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: ah7jfBszNjKBBAt1yTFuPx + sortOrder: 1 + fieldKey: first_name + label: First Name + type: STRING + description: The contact's first name. + placeholder: '' + defaultValue: + '@if': + exists: + '@path': $.traits.first_name + then: + '@path': $.traits.first_name + else: + '@path': $.properties.first_name + required: false + multiple: false + choices: null + dynamic: false + allowNull: true + - id: u6yVWGpTPdbVQ5fNiRxLyN + sortOrder: 2 + fieldKey: last_name + label: Last Name + type: STRING + description: The contact's last name. + placeholder: '' + defaultValue: + '@if': + exists: + '@path': $.traits.last_name + then: + '@path': $.traits.last_name + else: + '@path': $.properties.last_name + required: false + multiple: false + choices: null + dynamic: false + allowNull: true + - id: 5oetP71ErKFc3rf9uzKA4j + sortOrder: 3 + fieldKey: country + label: Country + type: STRING + description: The contact's country. + placeholder: '' + defaultValue: + '@if': + exists: + '@path': $.traits.address.country + then: + '@path': $.traits.address.country + else: + '@path': $.properties.address.country + required: false + multiple: false + choices: null + dynamic: false + allowNull: true + - id: tU767ncJqg4nurP78eh3Gy + sortOrder: 4 + fieldKey: postal_code + label: Postal Code + type: STRING + description: The contact's postal code. + placeholder: '' + defaultValue: + '@if': + exists: + '@path': $.traits.address.postal_code + then: + '@path': $.traits.address.postal_code + else: + '@path': $.properties.address.postal_code + required: false + multiple: false + choices: null + dynamic: false + allowNull: true + - id: hWToMWEnn8B8KDy2xCYpmf + sortOrder: 5 + fieldKey: city + label: City + type: STRING + description: The contact's city. + placeholder: '' + defaultValue: + '@if': + exists: + '@path': $.traits.address.city + then: + '@path': $.traits.address.city + else: + '@path': $.properties.address.city + required: false + multiple: false + choices: null + dynamic: false + allowNull: true + - id: 5Tq2bVEhkL1ZUGyTzqpbHx + sortOrder: 6 + fieldKey: state + label: State + type: STRING + description: The contact's state. + placeholder: '' + defaultValue: + '@if': + exists: + '@path': $.traits.address.state + then: + '@path': $.traits.address.state + else: + '@path': $.properties.address.state + required: false + multiple: false + choices: null + dynamic: false + allowNull: true + - id: 9TSPbEY4WD2WTGTkdzuwcN + sortOrder: 7 + fieldKey: address_line_1 + label: Address Line 1 + type: STRING + description: The contact's address line 1. + placeholder: '' + defaultValue: + '@if': + exists: + '@path': $.traits.address.line1 + then: + '@path': $.traits.address.line1 + else: + '@path': $.properties.address.line1 + required: false + multiple: false + choices: null + dynamic: false + allowNull: true + - id: amfiMu6LSLBaDBXMbqkxyG + sortOrder: 8 + fieldKey: address_line_2 + label: Address Line 2 + type: STRING + description: The contact's address line 2. + placeholder: '' + defaultValue: + '@if': + exists: + '@path': $.traits.address.line2 + then: + '@path': $.traits.address.line2 + else: + '@path': $.properties.address.line2 + required: false + multiple: false + choices: null + dynamic: false + allowNull: true + - id: 6z7KA8azb9Xe3m1XgUSadD + sortOrder: 9 + fieldKey: phone_number + label: Phone Number + type: STRING + description: The contact's phone number. + placeholder: '' + defaultValue: + '@if': + exists: + '@path': $.traits.phone + then: + '@path': $.traits.phone + else: + '@path': $.properties.phone + required: false + multiple: false + choices: null + dynamic: false + allowNull: true + - id: oLRbYgkFLfkFK7BXzoqP8 + sortOrder: 10 + fieldKey: whatsapp + label: WhatsApp + type: STRING + description: The contact's WhatsApp. + placeholder: '' + defaultValue: + '@if': + exists: + '@path': $.traits.whatsapp + then: + '@path': $.traits.whatsapp + else: + '@path': $.properties.whatsapp + required: false + multiple: false + choices: null + dynamic: false + allowNull: true + - id: fxb2pDVzG3TqcQPZv91KnY + sortOrder: 11 + fieldKey: line + label: LINE ID + type: STRING + description: The contact's LINE ID. + placeholder: '' + defaultValue: + '@if': + exists: + '@path': $.traits.line + then: + '@path': $.traits.line + else: + '@path': $.properties.line + required: false + multiple: false + choices: null + dynamic: false + allowNull: true + - id: h9jKzrK8BCQG4pKdvD4TQA + sortOrder: 12 + fieldKey: facebook + label: Facebook ID + type: STRING + description: The contact's Facebook ID. + placeholder: '' + defaultValue: + '@if': + exists: + '@path': $.traits.facebook + then: + '@path': $.traits.facebook + else: + '@path': $.properties.facebook + required: false + multiple: false + choices: null + dynamic: false + allowNull: true + - id: nEf4nq8cnZuitXigA3uPrB + sortOrder: 13 + fieldKey: unique_name + label: Unique Name + type: STRING + description: The contact's unique name. + placeholder: '' + defaultValue: + '@if': + exists: + '@path': $.traits.unique_name + then: + '@path': $.traits.unique_name + else: + '@path': $.properties.unique_name + required: false + multiple: false + choices: null + dynamic: false + allowNull: true + - id: gvZ2wDobdfRMU4VcYLKqb6 + sortOrder: 14 + fieldKey: identity + label: Identity + type: STRING + description: The contact's identity. + placeholder: '' + defaultValue: + '@if': + exists: + '@path': $.traits.identity + then: + '@path': $.traits.identity + else: + '@path': $.properties.identity + required: false + multiple: false + choices: null + dynamic: false + allowNull: true + - id: 3NnjxaioL6xnhwcvqCcqKn + sortOrder: 15 + fieldKey: primary_email + label: Email Address + type: STRING + description: The contact's email address. + placeholder: '' + defaultValue: + '@if': + exists: + '@path': $.traits.email + then: + '@path': $.traits.email + else: + '@path': $.properties.email + required: true + multiple: false + choices: null + dynamic: false + allowNull: false + - id: 3nEzzs5qkvxWM1Sx1Cb5j1 + sortOrder: 16 + fieldKey: customFields + label: Other Fields + type: OBJECT + description: |2- + + Additional fields to send to SendGrid. On the left-hand side, input the SendGrid Custom Fields Id. On the right-hand side, map the Segment field that contains the value. + + Custom Fields must be predefined in your SendGrid account and you can retrieve corresponding Id using get all field definitions endpoint. + + Reference: [Get All field definitions](https://docs.sendgrid.com/api-reference/custom-fields/get-all-field-definitions) + --- + + + placeholder: '' + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + presets: [] diff --git a/src/connections/destinations/catalog/actions-sendgrid/index.md b/src/connections/destinations/catalog/actions-sendgrid/index.md new file mode 100644 index 0000000000..dd01b56e63 --- /dev/null +++ b/src/connections/destinations/catalog/actions-sendgrid/index.md @@ -0,0 +1,36 @@ +--- +title: Sendgrid Marketing Campaigns Destination +hide-boilerplate: true +hide-dossier: true +private: true +id: 631a6f32946dd8197e9cab66 +--- + + +{% include content/ajs-upgrade.md %} + +[Sendgrid Marketing Campaigns](https://sendgrid.com/solutions/email-marketing/) provides email marketing automation for businesses. With Segment you can add contacts and lists to Sendgrid Marketing Campaigns. + +## Getting started + +1. From the Segment web app, click **Catalog**, then click **Destinations**. +2. Find the Destinations Actions item in the left navigation, and click it. +3. Click **Configure Sendgrid Marketing Campaigns**. +4. Select an existing Source to connect to Sendgrid Marketing Campaigns (Actions). +5. In the destination settings, enter your Sendgrid Marketing Campaigns “API key” into the connection settings. You should create a new API key for the Segment destination. You can read more about API keys on [Marketing Campaigns’s docs.](https://docs.sendgrid.com/ui/account-and-settings/api-keys){:target="_blank"} + + +{% include components/actions-fields.html %} + + +## Recording Custom User Traits +If you want to view any other custom user traits in the Marketing Campaigns list dashboard, you must create a [Custom Field inside Marketing Campaigns’s UI](https://docs.sendgrid.com/ui/managing-contacts/custom-fields#creating-custom-fields){:target="_blank"} of the traits in your identify calls. Note that you do not need to map all user.traits you are sending inside Marketing Campaigns. You only need to create Custom Fields of the traits you want to see in your list view. + +## Custom Fields +To send custom fields/user traits to Marketing Campaigns you need to create the field first in Marketing Campaigns for each trait you want sent to Marketing Campaigns. Then when you call identify with keys that match those traits they will appear in your Marketing Campaigns list. + +For any other custom traits just add a Custom Field inside of Sendgrid Marketing Campaigns with a tag that matches the key you are using in your identify call. + + +## Recording userId +To record a Segment userId in Sendgrid Marketing Campaigns, you must pass the userID as a trait on your identify() calls. SendGrid does not automatically map the Segment userID to any Marketing Campaigns properties. diff --git a/src/connections/destinations/catalog/sendgrid-marketing-campaigns/index.md b/src/connections/destinations/catalog/sendgrid-marketing-campaigns/index.md deleted file mode 100644 index facd2487bb..0000000000 --- a/src/connections/destinations/catalog/sendgrid-marketing-campaigns/index.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -# The end name should be similar to `Slack Destination` -title: Sendgrid Marketing Campaigns Destination -hide-boilerplate: true -hide-dossier: true -private: true -id: 6101bf0e15772f7e12407fa9 ---- - - - -{% include content/plan-grid.md name="actions" %} - - - - - -{% include content/ajs-upgrade.md %} - -[Sendgrid Marketing Campaigns](https://sendgrid.com/solutions/email-marketing/) provides email marketing automation for businesses. With Segment you can add contacts and lists to Sendgrid Marketing Campaigns quickly and easily! - - - -## Getting started - -1. From the Segment web app, click **Catalog**, then click **Destinations**. -2. Find the Destinations Actions item in the left navigation, and click it. -3. Click **Configure Sendgrid Marketing Campaigns**. -4. Select an existing Source to connect to Sendgrid Marketing Campaigns (Actions). -5. In the destination settings, enter your Sendgrid Marketing Campaigns “API key” into the connection settings. You should create a new API key for the Segment destination. You can read more about API keys on [Marketing Campaigns’s docs.](https://docs.sendgrid.com/ui/account-and-settings/api-keys) - - - -{% include components/actions-fields.html %} - - - -## Recording Custom User Traits -If you want to view any other custom user traits in the Marketing Campaigns list dashboard, you must create a [Custom Field inside Marketing Campaigns’s UI](https://docs.sendgrid.com/ui/managing-contacts/custom-fields#creating-custom-fields) of the traits in your identify calls. Note that you do not need to map all user.traits you are sending inside Marketing Campaigns. You only need to create Custom Fields of the traits you want to see in your list view. - -## Custom Fields -To send custom fields/user traits to Marketing Campaigns you need to create the field first in Marketing Campaigns for each trait you want sent to Marketing Campaigns. Then when you call identify with keys that match those traits they will appear in your Marketing Campaigns list. - -For any other custom traits just add a Custom Field inside of Sendgrid Marketing Campaigns with a tag that matches the key you are using in your identify call. - - -## Recording userId -To record a Segment userId in Sendgrid Marketing Campaigns, you must pass the userID as a trait on your identify() calls. We do not automatically map the Segment userID to any Marketing Campaigns properties.