From ae570647c0cf3ac24a0cb0b46812531b9006b87d Mon Sep 17 00:00:00 2001
From: Samantha Crespo <100810716+samkcrespo@users.noreply.github.com>
Date: Wed, 1 May 2024 11:03:37 -0700
Subject: [PATCH 001/188] Update index.md

---
 .../catalog/actions-tiktok-audiences/index.md      | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/connections/destinations/catalog/actions-tiktok-audiences/index.md b/src/connections/destinations/catalog/actions-tiktok-audiences/index.md
index 7e804e3201..f8059e3138 100644
--- a/src/connections/destinations/catalog/actions-tiktok-audiences/index.md
+++ b/src/connections/destinations/catalog/actions-tiktok-audiences/index.md
@@ -70,24 +70,26 @@ To sync additional audiences from your Engage space, create a separate mapping i
 5. On the Destination **Settings** tab, name your destination and authenticate with TikTok Audiences using OAuth.
 
 6. Once authenticated, toggle “Enable Destination” on and click  **Save Changes**.
+   
+7. Follow the steps in the [Create a TikTok Audience](#create-a-tiktok-audience) section to create an audience. Once complete, make sure to note the `audience_id` obtained during this process, then proceed to Step 8.
 
-7. Navigate to the **Mappings** tab, click **New Mapping**, and select **Add Users**.
+8. Navigate to the **Mappings** tab, click **New Mapping**, and select **Add Users**.
 
-8. Under Select mappings, select the TikTok "Advertiser ID" of the audience segment you want to add users to. Input the `audience_id` of that audience segment under "Audience ID." **Note: A separate mapping must be created for each audience segment you plan to send Engage audiences to.**
+9. Under Select mappings, select the TikTok "Advertiser ID" of the audience segment you want to add users to. Input the `audience_id` of that audience segment under "Audience ID." **Note: A separate mapping must be created for each audience segment you plan to send Engage audiences to.**
 
     **Note:** Once you've created the audience using the name of Segment's audience key, you can get the Audience ID from TikTok's Assets>Audiences page. You'll also find the Advertised ID, noted by `aadvid`, over the TikTok URL.
 
-9. Repeat steps 7 and 8 to also set up a **Remove Users** mapping.
+10. Repeat steps 7 and 8 to also set up a **Remove Users** mapping.
      
-10.  Navigate back to **Engage > Audiences** and click on the audience from Step 1. 
+11.  Navigate back to **Engage > Audiences** and click on the audience from Step 1. 
 
-11.  Click **Add Destinations** and select the TikTok Audiences destination you just created. In the settings that appear in the side panel, toggle the **Send Track** option on and do **not** change the Audience Entered/Audience Exited event names. Click **Save Settings**.
+12.  Click **Add Destinations** and select the TikTok Audiences destination you just created. In the settings that appear in the side panel, toggle the **Send Track** option on and do **not** change the Audience Entered/Audience Exited event names. Click **Save Settings**.
 
 The setup is complete and the audience will start syncing to TikTok. The audience will appear in your [TikTok Ads Manager](https://www.tiktok.com/business/en-US/solutions/ads-manager){:target="_blank"} account under **Assets > Audiences**. Please note that it can take 24-48 hours for users to appear in TikTok.
 
 To sync additional audiences from your Engage space, create a separate mapping in the TikTok Audiences destination. Navigate to **Connections > Destinations**, search and select the TikTok Audiences destination, and follow steps 7-11 above.
 
-### Create a TikTok Audience
+### Create a TikTok Audience (_Legacy_)
 
 To create an audience in Segment: 
 

From bf1a4028d574c8603e260bacac73d87a571059c9 Mon Sep 17 00:00:00 2001
From: piyush-nudge <piyush@nudgenow.com>
Date: Wed, 14 May 2025 13:49:44 +0530
Subject: [PATCH 002/188] feat: added docs for Nudge (Actions) Destination
 integration

---
 .../catalog/actions-nudge/index.md            | 96 +++++++++++++++++++
 1 file changed, 96 insertions(+)
 create mode 100644 src/connections/destinations/catalog/actions-nudge/index.md

diff --git a/src/connections/destinations/catalog/actions-nudge/index.md b/src/connections/destinations/catalog/actions-nudge/index.md
new file mode 100644
index 0000000000..b4005e5ad1
--- /dev/null
+++ b/src/connections/destinations/catalog/actions-nudge/index.md
@@ -0,0 +1,96 @@
+Nudge (Actions) Destination
+---
+
+{% include content/plan-grid.md name="actions" %}
+
+[Nudge](https://nudgenow.com/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank”} is an AI personalization platform for marketing teams for enabling rapid personalization experimentation and for autonomously delivering 1:1 user experiences.
+
+This destination is maintained by the Nudge Developer Team. For any issues with the destination, [contact the Support team](mailto:support@nudgenow.com).
+
+## Getting started
+
+1. From your workspace's [Destination catalog page](https://app.segment.com/goto-my-workspace/destinations/catalog){:target="_blank”} search for "Nudge".
+2. Select **Nudge** and click **Add Destination**.
+3. Select an existing Source to connect to Nudge (Actions).
+4. Go to the [Nudge dashboard](https://dashboard.nudgenow.com){:target="_blank"}, and navigate to the **Settings** page.
+5. Go to the **Secret Keys** section and click on the **Create new secret key** button.
+6. Give appropriate name for the key, select the **Backend API** option from the permissions dropdown and create the key.
+7. Copy the generated key and store it somewhere safe for future reference.
+8. Enter the generated API key in the **Nudge** destination settings in Segment.
+
+## Supported methods
+
+Nudge (Actions) Destination currently supports the Identify and Track methods listed below in accordance to the core Segment Specs. Reference: [Spec Overview](https://segment.com/docs/connections/spec/)
+
+### Identify
+
+The Identify method lets you create or update a user in Nudge’s backend. Every Identify call should include a `userId`. See Segment's Spec for Identify for any reference: [Identify Spec](https://segment.com/docs/connections/spec/identify/)
+
+**Example (using Segment's Analytics.js SDK)**
+
+```js
+analytics.identify('user123', {
+  firstName: 'Alice',
+  lastName: 'Smith',
+  email: 'alice.smith@example.com',
+  company: 'Acme Corp',
+  employees: 150
+});
+```
+
+How Nudge handles Identify calls:
+
+* If `userId` does not exist, the request would throw a 400 validation error as it is a required field.
+* If `userId` already exists, Nudge merges or overwrites profile properties with the latest values.
+* Identify calls without `userId`, or with only `anonymousId`, are dropped.
+
+---
+
+### Track
+
+The Track method sends custom events and their properties into Nudge. You must include `event` name in every Track call so events can be associated with the correct user. See Segment's Spec for Track for any reference: [Track Spec](https://segment.com/docs/connections/spec/track/)
+
+**Example (using Segment's Analytics.js SDK)**
+
+```js
+analytics.track('Product Viewed', {
+  product_id: 784,
+  product_sku: 'SH#79817'
+});
+```
+
+How Nudge handles Track calls:
+
+* Segment ensures the `userId` is attached to the Track call for a previously successful Identify.
+* Events without a valid `userId` or with only `anonymousId` are dropped.
+* All other event properties are ingested as event metadata and can be used for trigger conditions.
+
+
+{% include components/actions-fields.html %}
+
+## Troubleshooting
+
+### 1. Events not showing up in Nudge
+
+* **Missing or invalid API key**
+  Ensure that the API key you generated under **Settings → Secret Keys → Backend API** is correctly entered in your Segment destination settings.
+* **Dropped Identify/Track calls**
+  Calls without `userId`, or with only `anonymousId`, are automatically dropped. Verify your mapping includes the correct identifier field.
+
+### 2. Timestamp or date format errors
+
+Nudge expects all date/time properties in UTC ISO-8601 format (Javascript Date object's ISO format). If you see failed events due to timestamp validation:
+
+* Confirm you’re sending dates like `"2025-05-14T07:30:00Z"`.
+* Remove any timezone offsets other than `Z` (UTC).
+
+### 3. Validation failures
+
+If requests continue to fail after checking your API key and payload:
+
+* Compare against Nudge’s specification from the documentation: [https://docs.nudgenow.com/](https://docs.nudgenow.com/).
+* Ensure all required fields (e.g., `userId`, `event` name for Track) are present and correctly typed.
+
+---
+
+*If you still encounter issues, please reach out to the Nudge Developer Team or email [support@nudgenow.com](mailto:support@nudgenow.com).*
\ No newline at end of file

From 4162e3b4b5020f08cc4ece19ab87a830b413e761 Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Thu, 5 Jun 2025 11:03:27 -0400
Subject: [PATCH 003/188] update docs file structure to match app

---
 src/_data/sidenav/main.yml | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git a/src/_data/sidenav/main.yml b/src/_data/sidenav/main.yml
index 8fcf0bfa3e..18daaae20f 100644
--- a/src/_data/sidenav/main.yml
+++ b/src/_data/sidenav/main.yml
@@ -561,23 +561,20 @@ sections:
     title: Privacy Overview
   - section_title: Privacy Portal
     slug: protocols/portal
-    expanded: true
     section:
     - path: /privacy/portal
       title: Detect PII
     - path: /privacy/data-controls
       title: Data Controls and Alerts
-  - section_title: GDPR
-    slug: protocols/complying-with-the-gdpr
-    expanded: true
+  - section_title: Deletion and Suppression
+    slug: privacy/user-deletion-and-suppression
     section:
-    - path: /privacy/complying-with-the-gdpr
-      title: Complying With GDPR
     - path: /privacy/user-deletion-and-suppression
       title: User Deletion and Suppression
+    - path: /privacy/account-deletion
+      title: Account & Data Deletion
   - section_title: Consent Management
     slug: privacy/consent-management
-    expanded: true
     section:
     - path: /privacy/consent-management
       title: Consent Management Overview
@@ -593,8 +590,8 @@ sections:
       title: Consent FAQs
   - path: /privacy/data-retention-policy
     title: Data Retention and Deletion Policy
-  - path: /privacy/account-deletion
-    title: Account & Data Deletion
+  - path: /privacy/complying-with-the-gdpr
+    title: Complying With GDPR
   - path: /privacy/hipaa-eligible-segment
     title: HIPAA Eligible Segment
   - path: /privacy/faq

From d2e0fd5f85d978f91fbd0ce2ff18f4d1e65e240b Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Thu, 5 Jun 2025 13:02:18 -0400
Subject: [PATCH 004/188] update privacy portal overview page

---
 src/_data/privacy.yml      | 43 ++++++++++++++++++++++++++++++--------
 src/_data/sidenav/main.yml | 14 ++++++-------
 2 files changed, 41 insertions(+), 16 deletions(-)

diff --git a/src/_data/privacy.yml b/src/_data/privacy.yml
index e03789d66c..3a48d58a34 100644
--- a/src/_data/privacy.yml
+++ b/src/_data/privacy.yml
@@ -3,22 +3,47 @@ sections:
   section_col: 6
   section:
   - name: Detect and classify customer data
-    description: "The Privacy Portal helps automate preparing for new privacy regulations."
+    description: "The Privacy Portal helps streamline your response to new privacy regulations."
     path: /privacy/portal/
     icon: media/classify.svg
   - name: Control what data you collect
-    description: "Take control over whether specific data is allowed to enter Segment"
+    description: "Take control of the data that comes into your workspace."
     path: /privacy/data-controls/
     icon: media/control.svg
 
-- section_title: Prepare for GDPR & CCPA
+- section_title: Respect your end user's consent preferences
+  section_col: 4
+  section:
+  - name: Consent in Segment Connections
+    description: "Manage end user consent in your downstream tools with Consent Management."
+    path: /privacy/consent-management/consent-in-segment-connections/
+  - name: Consent in Reverse ETL
+    description: "Enforce consent preferences stored in your data warehouse."
+    path: /privacy/consent-management/consent-in-retl/
+  - name: Consent stored on the Profile
+    description: "Create Audiences of users that consent to receive marketing communications."
+    path: /docs/privacy/consent-management/consent-in-unify/
+
+- section_title: Delete and suppress user information
   section_col: 6
   section:
-  - name: Understand and Comply with regulations
-    description: "Segment is committed to making it easier for you to comply with the GDPR."
-    path: /privacy/complying-with-the-gdpr/
-    icon: media/comply.svg
-  - name: Delete and suppress data about end-users
-    description: "Easily remove your company's end-users from Segment and supported connections."
+  - name: Delete and suppress data about end users
+    description: "Remove your company's end users from Segment and supported connections."
     path: /privacy/user-deletion-and-suppression/
+    icon: media/detect.svg
+  - name: Delete data from sources, a Unify space, or your entire workspace
+    description: "Remove all data from a source, a Unify space, or a workspace."
+    path: /privacy/account-deletion/
     icon: media/delete.svg
+
+- section_title: Comply with privacy regulations
+  section_col: 12
+  section:
+  - name: Data Deletion and Retention Policy
+    icon: media/comply.svg
+    description: "Manage your data accurately, efficiently and securely within clearly defined retention periods."
+    path: /privacy/data-retention-policy/
+  - name: HIPAA-Eligible Segment
+    icon: media/database-star.svg
+    description: "Segment is a HIPAA eligible platform, and meets the data privacy and security requirements of healthcare customers and their stakeholders."
+    path: /privacy/hipaa-eligible-segment/
diff --git a/src/_data/sidenav/main.yml b/src/_data/sidenav/main.yml
index 18daaae20f..1385dab3cd 100644
--- a/src/_data/sidenav/main.yml
+++ b/src/_data/sidenav/main.yml
@@ -566,13 +566,6 @@ sections:
       title: Detect PII
     - path: /privacy/data-controls
       title: Data Controls and Alerts
-  - section_title: Deletion and Suppression
-    slug: privacy/user-deletion-and-suppression
-    section:
-    - path: /privacy/user-deletion-and-suppression
-      title: User Deletion and Suppression
-    - path: /privacy/account-deletion
-      title: Account & Data Deletion
   - section_title: Consent Management
     slug: privacy/consent-management
     section:
@@ -588,6 +581,13 @@ sections:
       title: Consent in Reverse ETL
     - path: /privacy/consent-management/consent-faq
       title: Consent FAQs
+  - section_title: Deletion and Suppression
+    slug: privacy/user-deletion-and-suppression
+    section:
+    - path: /privacy/user-deletion-and-suppression
+      title: User Deletion and Suppression
+    - path: /privacy/account-deletion
+      title: Account & Data Deletion
   - path: /privacy/data-retention-policy
     title: Data Retention and Deletion Policy
   - path: /privacy/complying-with-the-gdpr

From f39070b903bfc306173134349fe9108f34a4a5f8 Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Thu, 5 Jun 2025 13:08:55 -0400
Subject: [PATCH 005/188] [netlify-build]

---
 src/_data/privacy.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/_data/privacy.yml b/src/_data/privacy.yml
index 3a48d58a34..ea32d48c94 100644
--- a/src/_data/privacy.yml
+++ b/src/_data/privacy.yml
@@ -46,4 +46,4 @@ sections:
   - name: HIPAA-Eligible Segment
     icon: media/database-star.svg
     description: "Segment is a HIPAA eligible platform, and meets the data privacy and security requirements of healthcare customers and their stakeholders."
-    path: /privacy/hipaa-eligible-segment/
+    path: /privacy/hipaa-eligible-segment/
\ No newline at end of file

From 897d5842d47b70dcbc8ecec19ba3c77b793cb191 Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Thu, 5 Jun 2025 14:59:25 -0400
Subject: [PATCH 006/188] [netlify-build]

---
 src/_data/privacy.yml | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/src/_data/privacy.yml b/src/_data/privacy.yml
index ea32d48c94..5ce0a82be3 100644
--- a/src/_data/privacy.yml
+++ b/src/_data/privacy.yml
@@ -24,26 +24,27 @@ sections:
     description: "Create Audiences of users that consent to receive marketing communications."
     path: /docs/privacy/consent-management/consent-in-unify/
 
-- section_title: Delete and suppress user information
-  section_col: 6
+- section_title: Delete user and workspace data
+  section_col: 4
   section:
-  - name: Delete and suppress data about end users
+  - name: Comply with GDPR and CCPA by deleting information about your company's end users from Segment
     description: "Remove your company's end users from Segment and supported connections."
     path: /privacy/user-deletion-and-suppression/
-    icon: media/detect.svg
   - name: Delete data from sources, a Unify space, or your entire workspace
     description: "Remove all data from a source, a Unify space, or a workspace."
     path: /privacy/account-deletion/
-    icon: media/delete.svg
-
-- section_title: Comply with privacy regulations
-  section_col: 12
-  section:
   - name: Data Deletion and Retention Policy
-    icon: media/comply.svg
     description: "Manage your data accurately, efficiently and securely within clearly defined retention periods."
     path: /privacy/data-retention-policy/
+
+- section_title: Tools to comply with privacy regulations
+  section_col: 6
+  section:
   - name: HIPAA-Eligible Segment
     icon: media/database-star.svg
     description: "Segment is a HIPAA eligible platform, and meets the data privacy and security requirements of healthcare customers and their stakeholders."
+    path: /privacy/hipaa-eligible-segment/
+  - name: Complying with the GDPR
+    icon: media/comply.svg
+    description: "Learn more about the tools and strategies you can use to maintain GDPR compliance."
     path: /privacy/hipaa-eligible-segment/
\ No newline at end of file

From 903985c52dca150149c828dfba3132898d91e242 Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Thu, 5 Jun 2025 17:46:03 -0400
Subject: [PATCH 007/188] Update src/_data/privacy.yml

Co-authored-by: rchinn1 <93161299+rchinn1@users.noreply.github.com>
---
 src/_data/privacy.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/_data/privacy.yml b/src/_data/privacy.yml
index 5ce0a82be3..7846fac3a0 100644
--- a/src/_data/privacy.yml
+++ b/src/_data/privacy.yml
@@ -34,7 +34,7 @@ sections:
     description: "Remove all data from a source, a Unify space, or a workspace."
     path: /privacy/account-deletion/
   - name: Data Deletion and Retention Policy
-    description: "Manage your data accurately, efficiently and securely within clearly defined retention periods."
+    description: "Manage your data accurately, efficiently, and securely within clearly defined retention periods."
     path: /privacy/data-retention-policy/
 
 - section_title: Tools to comply with privacy regulations

From ca9eb360772b86f9fe9d1cbca58b2fd1e2778560 Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Thu, 5 Jun 2025 17:49:44 -0400
Subject: [PATCH 008/188] fix [netlify-build]

---
 src/_data/privacy.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/_data/privacy.yml b/src/_data/privacy.yml
index 5ce0a82be3..5882a899bc 100644
--- a/src/_data/privacy.yml
+++ b/src/_data/privacy.yml
@@ -27,8 +27,8 @@ sections:
 - section_title: Delete user and workspace data
   section_col: 4
   section:
-  - name: Comply with GDPR and CCPA by deleting information about your company's end users from Segment
-    description: "Remove your company's end users from Segment and supported connections."
+  - name: Delete and suppress data about end usersDelete and suppress data about end users
+    description: "Comply with GDPR and CCPA by deleting information from Segment about your company's end users."
     path: /privacy/user-deletion-and-suppression/
   - name: Delete data from sources, a Unify space, or your entire workspace
     description: "Remove all data from a source, a Unify space, or a workspace."

From 0157936ae0d81b0a74fe14fd4a1e4c52e9afc457 Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Fri, 6 Jun 2025 10:23:27 -0400
Subject: [PATCH 009/188] fixes [netlify-build]

---
 src/_data/privacy.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/_data/privacy.yml b/src/_data/privacy.yml
index c5681302d6..80a9090a28 100644
--- a/src/_data/privacy.yml
+++ b/src/_data/privacy.yml
@@ -21,13 +21,13 @@ sections:
     description: "Enforce consent preferences stored in your data warehouse."
     path: /privacy/consent-management/consent-in-retl/
   - name: Consent stored on the Profile
-    description: "Create Audiences of users that consent to receive marketing communications."
+    description: "Create Audiences of users based on consent status."
     path: /docs/privacy/consent-management/consent-in-unify/
 
 - section_title: Delete user and workspace data
   section_col: 4
   section:
-  - name: Delete and suppress data about end usersDelete and suppress data about end users
+  - name: Delete and suppress data about end users
     description: "Comply with GDPR and CCPA by deleting information from Segment about your company's end users."
     path: /privacy/user-deletion-and-suppression/
   - name: Delete data from sources, a Unify space, or your entire workspace

From e410ad3657d51f597ad27ca373f38b4cf65dbfe3 Mon Sep 17 00:00:00 2001
From: piyush-nudge <piyush@nudgenow.com>
Date: Thu, 12 Jun 2025 16:45:42 +0530
Subject: [PATCH 010/188] fix: fixed readme manifest

---
 .../destinations/catalog/actions-nudge/index.md          | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/connections/destinations/catalog/actions-nudge/index.md b/src/connections/destinations/catalog/actions-nudge/index.md
index b4005e5ad1..4c626e7551 100644
--- a/src/connections/destinations/catalog/actions-nudge/index.md
+++ b/src/connections/destinations/catalog/actions-nudge/index.md
@@ -1,4 +1,6 @@
-Nudge (Actions) Destination
+---
+title: Nudge (Actions) Destination
+id: 
 ---
 
 {% include content/plan-grid.md name="actions" %}
@@ -30,8 +32,7 @@ The Identify method lets you create or update a user in Nudge’s backend. Every
 
 ```js
 analytics.identify('user123', {
-  firstName: 'Alice',
-  lastName: 'Smith',
+  name: 'Alice Smith',
   email: 'alice.smith@example.com',
   company: 'Acme Corp',
   employees: 150
@@ -93,4 +94,4 @@ If requests continue to fail after checking your API key and payload:
 
 ---
 
-*If you still encounter issues, please reach out to the Nudge Developer Team or email [support@nudgenow.com](mailto:support@nudgenow.com).*
\ No newline at end of file
+*If you still encounter issues, please reach out to the Nudge Developer Team or email [support@nudgenow.com](mailto:support@nudgenow.com).*

From dc19d0f2d2b65b4acecc9b767c39b2903a02d823 Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Wed, 18 Jun 2025 10:04:05 -0400
Subject: [PATCH 011/188] Update user-deletion-and-suppression.md

---
 src/privacy/user-deletion-and-suppression.md | 42 +++++++++++++++-----
 1 file changed, 31 insertions(+), 11 deletions(-)

diff --git a/src/privacy/user-deletion-and-suppression.md b/src/privacy/user-deletion-and-suppression.md
index 9ca47c665a..dd1f7f6e41 100644
--- a/src/privacy/user-deletion-and-suppression.md
+++ b/src/privacy/user-deletion-and-suppression.md
@@ -14,22 +14,32 @@ All deletion and suppression actions in Segment are asynchronous and categorized
 - Your Segment Workspace (Settings > End User Privacy)  
 - [Segment's Public API](https://docs.segmentapis.com/tag/Deletion-and-Suppression){:target="_blank"}. You can delete up to 5000 `userId`s per call using the Public API. 
 
-With Regulations, you can issue a single request to delete and suppress data about a user by `userId`. Segment scopes Regulations to all sources in your workspace.
+With Regulations, you can issue a single request to delete and suppress data about a user by `userId`. Segment scopes Regulations to all sources in your workspace. 
 
 > warning "Data sent to device-mode destinations cannot be suppressed"
-> Destinations set up in device mode are sent directly to destinations and bypass the point in the pipeline where Segment suppresses events. 
+> Destinations set up in device mode are sent directly to destinations and bypass the point in the pipeline where Segment suppresses events.
 
-The following regulation types are available:
+Segment has 2 types of Regulations - Segment-only Regulations, or those that only impact data from Segment systems, and Segment & destination Regulations, or Regulations that Segment completes on internal systems and then forwards to your connected destinations. 
+
+While both Regulation types are limited to 110,000 users every calendar month, you can temporarily increase your rate limit for Segment-only regulations. 
+
+To send more than 110,000 Segment-only Regulations over a 30 day period, [contact Segment Support](https://segment.com/help/contact/){:target="_blank"}.
+
+### Segment-only Regulations
+The following Segment-only Regulation types are available:
 
 - **SUPPRESS_WITH_DELETE_INTERNAL*:** Suppress new data and delete from Segment internal systems only  
 - **DELETE_INTERNAL*:** Delete data from Segment internal systems only  
 - **SUPPRESS_ONLY***: Suppress new data without deleting existing data  
 - **UNSUPPRESS*:** Stop an ongoing suppression  
+
+### Segment & destination Regulations
+
+The following Segment & destination Regulations are available:
+
 - **SUPPRESS_WITH_DELETE:** Suppress new data and delete existing data  
 - **DELETE_ONLY:** Delete existing data without suppressing any new data
 
-> info "All regulations are rate limited to 110,000 users within a 30-day period"
-> To send more than 110,000 `SUPPRESS_ONLY`, `UNSUPRESS`, `DELETE_INTERNAL` and/or `SUPPRESS_WITH_DELETE_INTERNAL` Regulations over a 30 day period, [contact Segment Support](https://segment.com/help/contact/){:target="_blank"}.
 
 ## Deletion Support
 
@@ -47,13 +57,23 @@ Warehouse deletions occur using a DML run against your cluster or instance. Segm
 <!--- not supported yet > warning "Connected warehouses deletions"
 > Segment will attempt to delete messages with the target `userId` from your connected warehouses for 7 days. If, after 7 days, Segment cannot delete all identified messages from your connected data warehouse, Segment displays a status of `unsuccessful`. If Segment is unable to delete all identified messages, you will be responsible for removing any --->
 
-#### Deletion requests tab
+### Deletion requests tab
+
+The deletion requests tab shows a 30-day overview of your deletions pipeline, including a regulations usage tracker and a deletion requests status table. 
+
+To navigate to the deletion requests tab, open the Segment app and navigate to **Settings** > **End-user Privacy** > **Deletion Requests**.
+
+#### Regulations usage tracker
+
+The usage tracker on the deletion requests tab shows you how many Segment & destination regulations and how many Segment-only regulations you have remaining for the calendar month. 
+
+#### Deletion requests status 
 
-The deletion requests tab shows a log of all regulations and their status.
+The deletion requests status table allows you to see the status of each of the regulations that you've submitted, including if the regulation was forwarded to your destinations, the deletion type, the date the regulation was received, and the date the regulation was completed. 
 
-In the Segment App (Settings > End User Privacy > Deletion Requests), you can click a `userId` to view its status in Segment internal systems and in the connected destinations.
+If you need to verify that a information about a specific user was deleted or suppressed, you can search for a `userId` to view its status in Segment internal systems and in the connected destinations.
 
-The deletion request can have one of the following statuses:
+A deletion request can have one of the following statuses:
 
 1. `INITIALIZED`  
 2. `INVALID`  
@@ -65,9 +85,9 @@ The deletion request can have one of the following statuses:
 
 When checking the status of deletion requests using Segment's API, the deletion will report an overall status of all of the deletion processes. As a result, Segment returns a `FAILED` status because of a failure on an unsupported destination, even if the deletion from the Segment Internal Systems and supported destinations were completed successfully.
 
-#### Deletion request SLA
+### Deletion request SLA
 
-Segment has a 30-day SLA for completing deletion requests in Segment's internal stores for deletion requests of fewer than 110,000 users made over 30 days. Your requests will be rate limited if you submit more than 110,000 deletion requests within 30 days.
+Segment has a 30-day SLA for completing deletion requests in Segment's internal stores for deletion requests of fewer than 110,000 users made over a calendar month. Your requests will be rate limited if you submit more than 110,000 deletion requests in a calendar month. 
 
 > warning "This 30-day SLA is limited to only Segment's internal stores"
 > Segment cannot guarantee that deletions in your Amazon S3 instance, your connected data warehouse, or other third-party destinations will be completed during that 30-day period.

From a39543d1d4b0b26005255b1df9a8e4b2ebed8306 Mon Sep 17 00:00:00 2001
From: piyush-nudge <piyush@nudgenow.com>
Date: Mon, 23 Jun 2025 15:50:10 +0530
Subject: [PATCH 012/188] update: updated Nudge (Action) Destination docs

---
 .../catalog/actions-nudge/index.md            | 34 +++++++++----------
 1 file changed, 16 insertions(+), 18 deletions(-)

diff --git a/src/connections/destinations/catalog/actions-nudge/index.md b/src/connections/destinations/catalog/actions-nudge/index.md
index 4c626e7551..797fd5f946 100644
--- a/src/connections/destinations/catalog/actions-nudge/index.md
+++ b/src/connections/destinations/catalog/actions-nudge/index.md
@@ -11,24 +11,24 @@ This destination is maintained by the Nudge Developer Team. For any issues with
 
 ## Getting started
 
-1. From your workspace's [Destination catalog page](https://app.segment.com/goto-my-workspace/destinations/catalog){:target="_blank”} search for "Nudge".
+1. From your workspace's [Destination catalog page](https://app.segment.com/goto-my-workspace/destinations/catalog){:target="_blank”} search for **Nudge**.
 2. Select **Nudge** and click **Add Destination**.
 3. Select an existing Source to connect to Nudge (Actions).
 4. Go to the [Nudge dashboard](https://dashboard.nudgenow.com){:target="_blank"}, and navigate to the **Settings** page.
-5. Go to the **Secret Keys** section and click on the **Create new secret key** button.
-6. Give appropriate name for the key, select the **Backend API** option from the permissions dropdown and create the key.
+5. Go to the **Secret Keys** section and click **Create new secret key**.
+6. Give an appropriate name for the key, then select the **Backend API** option from the permissions dropdown and create the key.
 7. Copy the generated key and store it somewhere safe for future reference.
-8. Enter the generated API key in the **Nudge** destination settings in Segment.
+8. Paste the generated API key in the **Nudge** destination settings in Segment.
 
 ## Supported methods
 
-Nudge (Actions) Destination currently supports the Identify and Track methods listed below in accordance to the core Segment Specs. Reference: [Spec Overview](https://segment.com/docs/connections/spec/)
+The Nudge (Actions) Destination currently supports the Identify and Track methods listed below in accordance to the core Segment Specs. Reference: [Spec Overview](https://segment.com/docs/connections/spec/)
 
 ### Identify
 
 The Identify method lets you create or update a user in Nudge’s backend. Every Identify call should include a `userId`. See Segment's Spec for Identify for any reference: [Identify Spec](https://segment.com/docs/connections/spec/identify/)
 
-**Example (using Segment's Analytics.js SDK)**
+Example (using Segment's Analytics.js SDK):
 
 ```js
 analytics.identify('user123', {
@@ -41,7 +41,7 @@ analytics.identify('user123', {
 
 How Nudge handles Identify calls:
 
-* If `userId` does not exist, the request would throw a 400 validation error as it is a required field.
+* If `userId` doesn't exist, the request throws a 400 validation error as it's a required field.
 * If `userId` already exists, Nudge merges or overwrites profile properties with the latest values.
 * Identify calls without `userId`, or with only `anonymousId`, are dropped.
 
@@ -51,7 +51,7 @@ How Nudge handles Identify calls:
 
 The Track method sends custom events and their properties into Nudge. You must include `event` name in every Track call so events can be associated with the correct user. See Segment's Spec for Track for any reference: [Track Spec](https://segment.com/docs/connections/spec/track/)
 
-**Example (using Segment's Analytics.js SDK)**
+Example (using Segment's Analytics.js SDK):
 
 ```js
 analytics.track('Product Viewed', {
@@ -71,27 +71,25 @@ How Nudge handles Track calls:
 
 ## Troubleshooting
 
-### 1. Events not showing up in Nudge
+### Events aren't showing up in Nudge
 
-* **Missing or invalid API key**
-  Ensure that the API key you generated under **Settings → Secret Keys → Backend API** is correctly entered in your Segment destination settings.
-* **Dropped Identify/Track calls**
-  Calls without `userId`, or with only `anonymousId`, are automatically dropped. Verify your mapping includes the correct identifier field.
+Events may not show up in Nudge due to one of these reasons:
+* **Missing or invalid API key**: Ensure that the API key you generated under **Settings → Secret Keys → Backend API** is correctly entered in your Segment destination settings.
+* **Dropped Identify/Track calls**: API requests to Nudge's servers without `userId`, or with only `anonymousId`, are automatically dropped. Verify your mapping includes the correct identifier field.
 
-### 2. Timestamp or date format errors
+### Timestamp or date format errors
 
 Nudge expects all date/time properties in UTC ISO-8601 format (Javascript Date object's ISO format). If you see failed events due to timestamp validation:
 
 * Confirm you’re sending dates like `"2025-05-14T07:30:00Z"`.
 * Remove any timezone offsets other than `Z` (UTC).
 
-### 3. Validation failures
+### Validation failures
 
 If requests continue to fail after checking your API key and payload:
 
-* Compare against Nudge’s specification from the documentation: [https://docs.nudgenow.com/](https://docs.nudgenow.com/).
-* Ensure all required fields (e.g., `userId`, `event` name for Track) are present and correctly typed.
+* Compare against Nudge’s specification from the documentation: [Nudge's Documentation](https://docs.nudgenow.com/){:target="_blank"}.
+* Ensure all required fields (for example, `userId`, `event` name for Track) are present and correctly typed.
 
----
 
 *If you still encounter issues, please reach out to the Nudge Developer Team or email [support@nudgenow.com](mailto:support@nudgenow.com).*

From 7323f3e1f943edab9609af55bc30f1e6890032f4 Mon Sep 17 00:00:00 2001
From: Ravi Bansal <bansrav@amazon.com>
Date: Thu, 26 Jun 2025 17:44:32 -0700
Subject: [PATCH 013/188] Updating documentation based on questions asked in
 client calls

---
 .../actions-amazon-conversions-api/index.md     | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/src/connections/destinations/catalog/actions-amazon-conversions-api/index.md b/src/connections/destinations/catalog/actions-amazon-conversions-api/index.md
index 89d415803d..defed78feb 100644
--- a/src/connections/destinations/catalog/actions-amazon-conversions-api/index.md
+++ b/src/connections/destinations/catalog/actions-amazon-conversions-api/index.md
@@ -89,7 +89,7 @@ Amazon requires at least one match key to identify the user associated with each
 | postalCode | User's postal code (is hashed) |
 | maid | Mobile advertising ID (ADID, IDFA, or FIREADID) |
 | rampId | RAMP ID for attribution to traffic events |
-| matchId | Custom match ID for the user |
+| matchId | Match ID is an anonymous opaque unique identifier that represents a user on an advertiser’s system, like loyalty membership ID and order ID. With Match ID, advertisers can accurately track campaign performance without sharing customer data to Amazon like hashed email/phone while navigating complex customer journeys that spans multiple channels and devices. The advertisers implementing Amazon Advertising Tag (AAT) on their website can send match_id as an attribute along with the online events. Amazon matches this to users via cookies or hashed PII. When these users convert offline, advertisers can report it through Conversions API (CAPI) using the same match_id |
 
 Segment automatically maps these fields from standard identity traits when available.
 
@@ -139,7 +139,7 @@ You can include custom attributes with your events to provide additional context
 
 #### How does deduplication work?
 
-Amazon Conversions API uses the `clientDedupeId` field to prevent duplicate events. By default, Segment maps the messageId to this field. For events with the same clientDedupeId, only the latest event will be processed.
+Amazon Conversions API uses the `clientDedupeId` field to prevent duplicate events. By default, Segment maps the messageId to this field. For events with the same clientDedupeId, only the latest event will be processed. Please be advised that deduplication occurs across all event types, rather than being limited to individual event types.
 
 #### What regions are supported?
 
@@ -163,3 +163,16 @@ Personally identifiable information (PII) fields like email, phone, name, and ad
 #### How can I verify events in Amazon?
 
 After you start sending events, you should see them in your Amazon Advertising dashboard under conversion tracking reports. Allow some time for the events to be processed and attributed.
+
+#### Which advertising accounts can access Amazon Conversions API?
+
+- Self-Service (SS) Accounts: Yes
+- Managed Service (MS) Accounts: No
+- Manager Accounts (MA): Not yet, but we can add if there is enough demand
+
+#### I am an advertiser on Amazon Demand Side Platform. My agency cannot provide access to their entity as they manage other clients. How do I get access to a specific advertiser account?
+
+- **Option 1**: 
+1. Ask the agency to provide access to the specific advertiser account (where they wish to run your campaigns) within their agency. Events Manager must be given ‘View and Edit’ permission. Please see help article [here](https://advertising.amazon.com/help/G3ZZ6ZXQWG34DPPM){:target="_blank"}. 
+2. Use the Amazon Conversions API to send data to the specific account they have been given access to in step #1.
+- **Option 2**: [Not a supported pattern via Segment yet] Upload your data directly to Manager Account. You will see the data in Data Manager. You can then share the data from Data Manager to other advertiser accounts linked to the Manager Account. Learn more [here](https://advertising.amazon.com/API/docs/en-us/adm/1_ads-data-manager-console-overview){:target="_blank"}.

From b928d9bc977337f5136715bee888cd6188a71b57 Mon Sep 17 00:00:00 2001
From: Ravi Bansal <bansrav@amazon.com>
Date: Thu, 26 Jun 2025 17:47:06 -0700
Subject: [PATCH 014/188] Updating documentation based on questions asked in
 client calls

---
 .../catalog/actions-amazon-conversions-api/index.md           | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/connections/destinations/catalog/actions-amazon-conversions-api/index.md b/src/connections/destinations/catalog/actions-amazon-conversions-api/index.md
index defed78feb..cc47ff314e 100644
--- a/src/connections/destinations/catalog/actions-amazon-conversions-api/index.md
+++ b/src/connections/destinations/catalog/actions-amazon-conversions-api/index.md
@@ -173,6 +173,6 @@ After you start sending events, you should see them in your Amazon Advertising d
 #### I am an advertiser on Amazon Demand Side Platform. My agency cannot provide access to their entity as they manage other clients. How do I get access to a specific advertiser account?
 
 - **Option 1**: 
-1. Ask the agency to provide access to the specific advertiser account (where they wish to run your campaigns) within their agency. Events Manager must be given ‘View and Edit’ permission. Please see help article [here](https://advertising.amazon.com/help/G3ZZ6ZXQWG34DPPM){:target="_blank"}. 
-2. Use the Amazon Conversions API to send data to the specific account they have been given access to in step #1.
+  1. Ask the agency to provide access to the specific advertiser account (where they wish to run your campaigns) within their agency. Events Manager must be given ‘View and Edit’ permission. Please see help article [here](https://advertising.amazon.com/help/G3ZZ6ZXQWG34DPPM){:target="_blank"}. 
+  2. Use the Amazon Conversions API to send data to the specific account they have been given access to in step #1.
 - **Option 2**: [Not a supported pattern via Segment yet] Upload your data directly to Manager Account. You will see the data in Data Manager. You can then share the data from Data Manager to other advertiser accounts linked to the Manager Account. Learn more [here](https://advertising.amazon.com/API/docs/en-us/adm/1_ads-data-manager-console-overview){:target="_blank"}.

From 70ad6802fed0194c4d179ee3ac224f47f75b6cda Mon Sep 17 00:00:00 2001
From: Ravi Bansal <bansrav@amazon.com>
Date: Thu, 26 Jun 2025 21:08:47 -0700
Subject: [PATCH 015/188] Updating documentation based on questions asked in
 client calls

---
 .../catalog/actions-amazon-conversions-api/index.md  | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/connections/destinations/catalog/actions-amazon-conversions-api/index.md b/src/connections/destinations/catalog/actions-amazon-conversions-api/index.md
index cc47ff314e..b3f222c806 100644
--- a/src/connections/destinations/catalog/actions-amazon-conversions-api/index.md
+++ b/src/connections/destinations/catalog/actions-amazon-conversions-api/index.md
@@ -89,7 +89,7 @@ Amazon requires at least one match key to identify the user associated with each
 | postalCode | User's postal code (is hashed) |
 | maid | Mobile advertising ID (ADID, IDFA, or FIREADID) |
 | rampId | RAMP ID for attribution to traffic events |
-| matchId | Match ID is an anonymous opaque unique identifier that represents a user on an advertiser’s system, like loyalty membership ID and order ID. With Match ID, advertisers can accurately track campaign performance without sharing customer data to Amazon like hashed email/phone while navigating complex customer journeys that spans multiple channels and devices. The advertisers implementing Amazon Advertising Tag (AAT) on their website can send match_id as an attribute along with the online events. Amazon matches this to users via cookies or hashed PII. When these users convert offline, advertisers can report it through Conversions API (CAPI) using the same match_id |
+| matchId | Match ID serves as an anonymous, opaque unique identifier that corresponds to individual users within an advertiser's system, such as loyalty membership identifications and order references. This functionality enables advertisers to precisely monitor campaign effectiveness while maintaining customer data privacy, eliminating the need to share sensitive information like hashed email addresses or phone numbers with Amazon, particularly when analyzing complex customer journeys across multiple channels and devices. The advertisers who implement the Amazon Advertising Tag (AAT) on their websites can transmit match_id as a parameter in conjunction with online event tracking. Amazon's system subsequently correlates these identifiers with users through cookies or hashed Personally Identifiable Information (PII). In instances where users complete offline conversions, advertisers can report these activities through the Conversions API (CAPI) utilizing the corresponding match_id, ensuring seamless cross-channel attribution. |
 
 Segment automatically maps these fields from standard identity traits when available.
 
@@ -164,15 +164,15 @@ Personally identifiable information (PII) fields like email, phone, name, and ad
 
 After you start sending events, you should see them in your Amazon Advertising dashboard under conversion tracking reports. Allow some time for the events to be processed and attributed.
 
-#### Which advertising accounts can access Amazon Conversions API?
+#### Which advertising accounts can access Amazon Conversions API through Segment?
 
 - Self-Service (SS) Accounts: Yes
 - Managed Service (MS) Accounts: No
-- Manager Accounts (MA): Not yet, but we can add if there is enough demand
+- Manager Accounts (MA): At present, this functionality is not available. However, we are actively monitoring market demand and user requirements. Should sufficient interest emerge from our user base, we will evaluate the possibility of implementing this feature in a future release.
 
 #### I am an advertiser on Amazon Demand Side Platform. My agency cannot provide access to their entity as they manage other clients. How do I get access to a specific advertiser account?
 
 - **Option 1**: 
-  1. Ask the agency to provide access to the specific advertiser account (where they wish to run your campaigns) within their agency. Events Manager must be given ‘View and Edit’ permission. Please see help article [here](https://advertising.amazon.com/help/G3ZZ6ZXQWG34DPPM){:target="_blank"}. 
-  2. Use the Amazon Conversions API to send data to the specific account they have been given access to in step #1.
-- **Option 2**: [Not a supported pattern via Segment yet] Upload your data directly to Manager Account. You will see the data in Data Manager. You can then share the data from Data Manager to other advertiser accounts linked to the Manager Account. Learn more [here](https://advertising.amazon.com/API/docs/en-us/adm/1_ads-data-manager-console-overview){:target="_blank"}.
+  1. Please request your agency to grant access to the specific advertiser account intended for campaign execution. Specifically, 'View and Edit' permissions must be assigned for Events Manager. Please see help article [here](https://advertising.amazon.com/help/G3ZZ6ZXQWG34DPPM){:target="_blank"}. 
+  2. Utilize the Amazon Conversions API (CAPI) to transmit data to the advertiser account for which access was granted in the previous step.
+- **Option 2**: [Not a supported pattern via Segment yet] Please upload your data directly to the Manager Account, where it will be visible in Ads Data Manager. Once uploaded, you can efficiently share this data with other advertiser accounts that are linked to your Manager Account. Learn more [here](https://advertising.amazon.com/API/docs/en-us/adm/1_ads-data-manager-console-overview){:target="_blank"}.

From b27ee8c587057e0ee35cb2bd4d2d8b0d575195a6 Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Fri, 27 Jun 2025 15:25:11 -0400
Subject: [PATCH 016/188] requested updates [netlify-build]

---
 src/privacy/user-deletion-and-suppression.md | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/privacy/user-deletion-and-suppression.md b/src/privacy/user-deletion-and-suppression.md
index dd1f7f6e41..0d3f617130 100644
--- a/src/privacy/user-deletion-and-suppression.md
+++ b/src/privacy/user-deletion-and-suppression.md
@@ -19,11 +19,11 @@ With Regulations, you can issue a single request to delete and suppress data abo
 > warning "Data sent to device-mode destinations cannot be suppressed"
 > Destinations set up in device mode are sent directly to destinations and bypass the point in the pipeline where Segment suppresses events.
 
-Segment has 2 types of Regulations - Segment-only Regulations, or those that only impact data from Segment systems, and Segment & destination Regulations, or Regulations that Segment completes on internal systems and then forwards to your connected destinations. 
+Segment has 2 types of Regulations:
+- **Segment-only Regulations**: These Regulations *only* delete or suppress data about your user from internal Segment systems.
+- **Segment & Destination Regulations**: These Regulations delete user data from internal Segment systems and then forward a deletion request to any connected destinations that support programmatic deletion. For a list of destination that support programmatic deletion, see [Which destinations can I send deletion requests to?](/docs/privacy/faq/#which-destinations-can-i-send-deletion-requests-to). 
 
-While both Regulation types are limited to 110,000 users every calendar month, you can temporarily increase your rate limit for Segment-only regulations. 
-
-To send more than 110,000 Segment-only Regulations over a 30 day period, [contact Segment Support](https://segment.com/help/contact/){:target="_blank"}.
+While both Regulation types are limited to 110,000 users every calendar month, you can temporarily increase your rate limit for Segment-only regulations. To send more than 110,000 Segment-only Regulations over a 30 day period, [contact Segment Support](https://segment.com/help/contact/){:target="_blank"}.
 
 ### Segment-only Regulations
 The following Segment-only Regulation types are available:
@@ -33,9 +33,9 @@ The following Segment-only Regulation types are available:
 - **SUPPRESS_ONLY***: Suppress new data without deleting existing data  
 - **UNSUPPRESS*:** Stop an ongoing suppression  
 
-### Segment & destination Regulations
+### Segment & Destination Regulations
 
-The following Segment & destination Regulations are available:
+The following Segment & Destination Regulations are available:
 
 - **SUPPRESS_WITH_DELETE:** Suppress new data and delete existing data  
 - **DELETE_ONLY:** Delete existing data without suppressing any new data

From 0f4b82591cfda8ac10d5ac0610fbd18372da1472 Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Fri, 27 Jun 2025 15:55:27 -0400
Subject: [PATCH 017/188] one more [netlify-build]

---
 src/privacy/user-deletion-and-suppression.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/privacy/user-deletion-and-suppression.md b/src/privacy/user-deletion-and-suppression.md
index 0d3f617130..4d441c22f6 100644
--- a/src/privacy/user-deletion-and-suppression.md
+++ b/src/privacy/user-deletion-and-suppression.md
@@ -61,7 +61,7 @@ Warehouse deletions occur using a DML run against your cluster or instance. Segm
 
 The deletion requests tab shows a 30-day overview of your deletions pipeline, including a regulations usage tracker and a deletion requests status table. 
 
-To navigate to the deletion requests tab, open the Segment app and navigate to **Settings** > **End-user Privacy** > **Deletion Requests**.
+To navigate to the deletion requests tab, open the Segment app and navigate to **Privacy > Deletion and Suppression > Deletion**.
 
 #### Regulations usage tracker
 

From 193186d3c92e8813008429ed6682561389ca80e1 Mon Sep 17 00:00:00 2001
From: stayseesong <83784848+stayseesong@users.noreply.github.com>
Date: Fri, 27 Jun 2025 14:11:14 -0700
Subject: [PATCH 018/188] Apply suggestions from code review

---
 .../catalog/actions-amazon-conversions-api/index.md    | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/connections/destinations/catalog/actions-amazon-conversions-api/index.md b/src/connections/destinations/catalog/actions-amazon-conversions-api/index.md
index b3f222c806..95b03e6c19 100644
--- a/src/connections/destinations/catalog/actions-amazon-conversions-api/index.md
+++ b/src/connections/destinations/catalog/actions-amazon-conversions-api/index.md
@@ -139,7 +139,7 @@ You can include custom attributes with your events to provide additional context
 
 #### How does deduplication work?
 
-Amazon Conversions API uses the `clientDedupeId` field to prevent duplicate events. By default, Segment maps the messageId to this field. For events with the same clientDedupeId, only the latest event will be processed. Please be advised that deduplication occurs across all event types, rather than being limited to individual event types.
+Amazon Conversions API uses the `clientDedupeId` field to prevent duplicate events. By default, Segment maps the messageId to this field. For events with the same clientDedupeId, only the latest event will be processed. Deduplication occurs across all event types, rather than being limited to individual event types.
 
 #### What regions are supported?
 
@@ -170,9 +170,9 @@ After you start sending events, you should see them in your Amazon Advertising d
 - Managed Service (MS) Accounts: No
 - Manager Accounts (MA): At present, this functionality is not available. However, we are actively monitoring market demand and user requirements. Should sufficient interest emerge from our user base, we will evaluate the possibility of implementing this feature in a future release.
 
-#### I am an advertiser on Amazon Demand Side Platform. My agency cannot provide access to their entity as they manage other clients. How do I get access to a specific advertiser account?
+#### I am an advertiser on Amazon Demand Side Platform. My agency can't provide access to their entity as they manage other clients. How do I get access to a specific advertiser account?
 
 - **Option 1**: 
-  1. Please request your agency to grant access to the specific advertiser account intended for campaign execution. Specifically, 'View and Edit' permissions must be assigned for Events Manager. Please see help article [here](https://advertising.amazon.com/help/G3ZZ6ZXQWG34DPPM){:target="_blank"}. 
-  2. Utilize the Amazon Conversions API (CAPI) to transmit data to the advertiser account for which access was granted in the previous step.
-- **Option 2**: [Not a supported pattern via Segment yet] Please upload your data directly to the Manager Account, where it will be visible in Ads Data Manager. Once uploaded, you can efficiently share this data with other advertiser accounts that are linked to your Manager Account. Learn more [here](https://advertising.amazon.com/API/docs/en-us/adm/1_ads-data-manager-console-overview){:target="_blank"}.
+      1. Request your agency to grant access to the specific advertiser account intended for campaign execution. Specifically, **View and Edit** permissions must be assigned for the Events Manager. Please see the [help article](https://advertising.amazon.com/help/G3ZZ6ZXQWG34DPPM){:target="_blank"}. 
+      2. Utilize the Amazon Conversions API (CAPI) to transmit data to the advertiser account for which access was granted in the previous step.
+- **Option 2**: (*This is not a supported pattern using Segment*) Upload your data directly to the Manager Account where it will be visible in the Ads Data Manager. After it's uploaded, you can share this data with other advertiser accounts that are linked to your Manager Account. Learn more [here](https://advertising.amazon.com/API/docs/en-us/adm/1_ads-data-manager-console-overview){:target="_blank"}.

From f42039fc34d59314c21d2afea1e49bde1f421257 Mon Sep 17 00:00:00 2001
From: stayseesong <83784848+stayseesong@users.noreply.github.com>
Date: Fri, 27 Jun 2025 14:13:06 -0700
Subject: [PATCH 019/188] Update
 src/connections/destinations/catalog/actions-amazon-conversions-api/index.md

---
 .../catalog/actions-amazon-conversions-api/index.md             | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/catalog/actions-amazon-conversions-api/index.md b/src/connections/destinations/catalog/actions-amazon-conversions-api/index.md
index 95b03e6c19..ef4f41a79e 100644
--- a/src/connections/destinations/catalog/actions-amazon-conversions-api/index.md
+++ b/src/connections/destinations/catalog/actions-amazon-conversions-api/index.md
@@ -171,7 +171,7 @@ After you start sending events, you should see them in your Amazon Advertising d
 - Manager Accounts (MA): At present, this functionality is not available. However, we are actively monitoring market demand and user requirements. Should sufficient interest emerge from our user base, we will evaluate the possibility of implementing this feature in a future release.
 
 #### I am an advertiser on Amazon Demand Side Platform. My agency can't provide access to their entity as they manage other clients. How do I get access to a specific advertiser account?
-
+There are 2 options you can choose from: 
 - **Option 1**: 
       1. Request your agency to grant access to the specific advertiser account intended for campaign execution. Specifically, **View and Edit** permissions must be assigned for the Events Manager. Please see the [help article](https://advertising.amazon.com/help/G3ZZ6ZXQWG34DPPM){:target="_blank"}. 
       2. Utilize the Amazon Conversions API (CAPI) to transmit data to the advertiser account for which access was granted in the previous step.

From cd20dc68b3ead51244c7d2ce6e03e4e5b15e5e09 Mon Sep 17 00:00:00 2001
From: stayseesong <STACY.S.SONG@GMAIL.COM>
Date: Fri, 27 Jun 2025 15:19:09 -0700
Subject: [PATCH 020/188] Added image to Data Graph doc

---
 src/unify/data-graph/index.md                  |   1 +
 .../images/data-graph-add-relationship.png     | Bin 0 -> 257918 bytes
 2 files changed, 1 insertion(+)
 create mode 100644 src/unify/images/data-graph-add-relationship.png

diff --git a/src/unify/data-graph/index.md b/src/unify/data-graph/index.md
index d9aaf00797..6859bc08bd 100644
--- a/src/unify/data-graph/index.md
+++ b/src/unify/data-graph/index.md
@@ -257,6 +257,7 @@ By selecting **Compute count**, you can check the number of rows returned when j
 
 Select **Add relationship** and repeat as needed.
 
+<img src="/docs/unify/images/data-graph-add-relationship.png" alt="The Customer Accounts Relationship side screen when adding a relationship in the Data Graph" width="5888"/>
 
 ### Using the code editor
 Use the configuration language spec and the following features to build your Data Graph:
diff --git a/src/unify/images/data-graph-add-relationship.png b/src/unify/images/data-graph-add-relationship.png
new file mode 100644
index 0000000000000000000000000000000000000000..ba2ff8558fb795f886c60c9907f3b4975810f8e6
GIT binary patch

From 59f3fb286cace8d7c860a8c099f21b09289c96b5 Mon Sep 17 00:00:00 2001
From: Ravi Bansal <bansrav@amazon.com>
Date: Sun, 29 Jun 2025 07:30:58 -0700
Subject: [PATCH 021/188] Removing option 2 from access to DSP account FAQ

---
 .../catalog/actions-amazon-conversions-api/index.md       | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/src/connections/destinations/catalog/actions-amazon-conversions-api/index.md b/src/connections/destinations/catalog/actions-amazon-conversions-api/index.md
index ef4f41a79e..9c2c0071e8 100644
--- a/src/connections/destinations/catalog/actions-amazon-conversions-api/index.md
+++ b/src/connections/destinations/catalog/actions-amazon-conversions-api/index.md
@@ -171,8 +171,6 @@ After you start sending events, you should see them in your Amazon Advertising d
 - Manager Accounts (MA): At present, this functionality is not available. However, we are actively monitoring market demand and user requirements. Should sufficient interest emerge from our user base, we will evaluate the possibility of implementing this feature in a future release.
 
 #### I am an advertiser on Amazon Demand Side Platform. My agency can't provide access to their entity as they manage other clients. How do I get access to a specific advertiser account?
-There are 2 options you can choose from: 
-- **Option 1**: 
-      1. Request your agency to grant access to the specific advertiser account intended for campaign execution. Specifically, **View and Edit** permissions must be assigned for the Events Manager. Please see the [help article](https://advertising.amazon.com/help/G3ZZ6ZXQWG34DPPM){:target="_blank"}. 
-      2. Utilize the Amazon Conversions API (CAPI) to transmit data to the advertiser account for which access was granted in the previous step.
-- **Option 2**: (*This is not a supported pattern using Segment*) Upload your data directly to the Manager Account where it will be visible in the Ads Data Manager. After it's uploaded, you can share this data with other advertiser accounts that are linked to your Manager Account. Learn more [here](https://advertising.amazon.com/API/docs/en-us/adm/1_ads-data-manager-console-overview){:target="_blank"}.
+
+1. Request your agency to grant access to the specific advertiser account intended for campaign execution. Specifically, **View and Edit** permissions must be assigned for the Events Manager. Please see the [help article](https://advertising.amazon.com/help/G3ZZ6ZXQWG34DPPM){:target="_blank"}. 
+2. Utilize the Amazon Conversions API (CAPI) to transmit data to the advertiser account for which access was granted in the previous step.

From 4cf96e0176f7858472d08130949b63b3edad27c6 Mon Sep 17 00:00:00 2001
From: Alex Golshani <xitonix.io@gmail.com>
Date: Tue, 1 Jul 2025 17:03:41 +1000
Subject: [PATCH 022/188] Ortto Audiences integration docs

---
 .../catalog/actions-ortto-audiences/index.md  | 31 +++++++++++++++++++
 1 file changed, 31 insertions(+)
 create mode 100644 src/connections/destinations/catalog/actions-ortto-audiences/index.md

diff --git a/src/connections/destinations/catalog/actions-ortto-audiences/index.md b/src/connections/destinations/catalog/actions-ortto-audiences/index.md
new file mode 100644
index 0000000000..3a20c0fda5
--- /dev/null
+++ b/src/connections/destinations/catalog/actions-ortto-audiences/index.md
@@ -0,0 +1,31 @@
+---
+title: Ortto (Audiences) Destination
+id: 
+---
+
+{% include content/plan-grid.md name="actions" %}
+
+The **Ortto (Audiences)** destination allows you to send Engage audiences from Segment to Ortto, where they can be used as [Audiences](https://help.ortto.com/a-115-working-with-audiences){:target="_blank"} for marketing automation, personalization, and reporting.
+
+This destination is maintained by **Ortto**. For support or questions, please [contact the Ortto Support team](mailto:help@ortto.com).
+
+## Getting started
+
+Follow these steps to set up the Ortto (Audiences) destination in your Segment workspace:
+
+1. In your Segment workspace, click **Engage** in the left navigation bar, then select your space.
+2. Click **Engage Settings** and open the **Destinations** tab.
+3. Search for `Ortto (Audiences)` and click **Add Destination**.
+4. Confirm the source. By default, this will be the source connected to the Engage space you're working in.
+5. [Log in to your Ortto account](https://ortto.app/login){:target="_blank"} and either:
+   - Create a new **Segment (Actions)** data source, or
+   - Use an existing one.
+6. Copy the API key from your Ortto data source.
+7. In Segment, open the destination's **Settings** tab and paste the API key.
+8. Toggle **Enable Destination** to **ON** and click **Save Changes**.
+9. Go to the **Mappings** tab in the *Ortto (Audiences)* destination and add a **Sync Audience** mapping.
+10. Enable the mapping.
+11. Navigate to the **Audiences** tab in your Engage space and select the audience you want to sync.
+12. Click **Add Destination**.
+
+{% include components/actions-fields.html %}

From 1f8c351514799dd263006e5d4c31af36b4f9a9f4 Mon Sep 17 00:00:00 2001
From: maleman842 <79479130+maleman842@users.noreply.github.com>
Date: Tue, 1 Jul 2025 16:04:28 -0700
Subject: [PATCH 023/188] Update query-language.md

---
 src/api/public-api/query-language.md | 60 +++++++++++++++++++++++-----
 1 file changed, 51 insertions(+), 9 deletions(-)

diff --git a/src/api/public-api/query-language.md b/src/api/public-api/query-language.md
index 73e93ae2c7..14deb4415c 100644
--- a/src/api/public-api/query-language.md
+++ b/src/api/public-api/query-language.md
@@ -59,17 +59,25 @@ The following tables list the query languages's available functions.
 
 | `trait`     |                                                                                                     |
 | ----------- | --------------------------------------------------------------------------------------------------- |
-| Syntax      | `trait({s: String})` <br> `s` - the name of the the trait to reference                              |
+| Syntax      | `trait({s: String})` <br> `s` - the name of the trait to reference                                  |
 | Return Type | `ScalarExtractor`                                                                                   |
 | Description | Similar to the event operator, the trait operator is used to specify profile trait filter criteria. |
-| Notes       | You can reference other audiences by using the audience key as the trait name.                      |
+| Notes       | You can reference other audiences by using the audience key as the trait name. Also note that inclusion of a `.` signifies traversal through nested structures. If the trait name contains a literal dor, it must be escaped using `\\`                                                                          |
 | Example     | `trait('total_spend')`                                                                              |
 
+| `entity`     |                                                                                                    |
+| ----------- | --------------------------------------------------------------------------------------------------- |
+| Syntax      | `entity({s: String})` <br> `s` - the relationship slug of the entity to build an extractor for      |
+| Return Type | `VectorExtractor`                                                                                   |
+| Description | Similar to the event operator, the entity operator is used to specify entity filter criteria.       |
+| Notes       | Entity is only used with Linked Audiences.                                                          |
+| Example     | `entity('accounts')`                                                                                |
+
 | `property`  |                                                                                                                                                                                                                                 |
 | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
 | Syntax      | `property({s: String})` <br> `s` - the name of the property to build an extractor for  <br> In the context of funnel audiences, you can add a parent prefix to reference the parent event. <br> `property(parent: {s: String})` |
 | Return Type | `ScalarExtractor`                                                                                                                                                                                                               |
-| Notes       | Only valid within a `where` function or a Reducer.                                                                                                                                                                              |
+| Notes       | Only valid within a `where` function or a Reducer. Also note that inclusion of a `.` signifies traversal through nested structures. If the property name contains a literal dor, it must be escaped using `\\`                 |
 | Example     | `property('total')`                                                                                                                                                                                                             |
 
 | `context`   |                                                                                     |
@@ -81,9 +89,10 @@ The following tables list the query languages's available functions.
 
 | `literal`                        |                                                                                                                                                                                                                                            |
 | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| Syntax                           | `literal({a: Any})`  <br> `a` - the value to treat as a literal expression                                                                                                                                                                 |
+| Syntax                           | `literal({a: Any})`  <br> `a` - the value to treat as a literal expression                                                                                                                                                                     |
 | Operations allowed in call-chain | None allowed; typically used within another function, like a comparison (with syntactic sugar, this would appear on the right side of the comparison). The outer function or comparison dictates the operations allowed in the call-chain. |
-| Example                          | `literal(100)` <br>                                                                                                                                                                                                                        |
+| Notes                            | Literals can be `int`s, `float`s, `string`s, or `timestamp`s, where `timestamp`s follow ISO 8601 format. Note that in general `string` is interchangeable with all other formats, except when used in a `property` chained to an `entity`. In this case, we recommend using `timestamp` over `string` based on the datatype you're targeting.                                                                                                          |
+| Example                          | `literal(100)` or `literal('value')` or `literal(2022-10-17T00:00:00)`                                                                                                                                                                         |
 
 
 
@@ -269,18 +278,27 @@ The following tables list the query languages's available functions.
 | Syntax      | `one_of({a: Array})`<br>`a` - array of possible values                             |
 | Return Type | `Comparator`                                                                       |
 | Description | Matches when the value exactly matches one of the values from the parameter array. |
-| Example     | `one_of('shoes','shirts')`                                                       |
+| Example     | `one_of('shoes','shirts')`                                                         |
+
+| `none_of`    |                                                                                          |
+| ----------- | ----------------------------------------------------------------------------------------- |
+| Syntax      | `none_of({a: Array})`<br>`a` - array of possible values                                   |
+| Return Type | `Comparator`                                                                              |
+| Description | Matches when the value does not exactly match one of the values from the parameter array. |
+| Example     | `none_of('shoes','shirts')`                                                               |
 
 | `before_date` |                                                           |
 | ------------- | --------------------------------------------------------- |
 | Syntax        | `before_date({t: Timestamp})`<br>`t` - ISO 8601 timestamp |
 | Return Type   | `Comparator`                                              |
+| Notes         | `string` format can also be use                           |
 | Example       | `before_date('2023-12-07T18:50:00Z')`                     |
 
 | `after_date` |                                                          |
 | ------------ | -------------------------------------------------------- |
 | Syntax       | `after_date({t: Timestamp})`<br>`t` - ISO 8601 timestamp |
 | Return Type  | `Comparator`                                             |
+| Notes        | `string` format can also be use                          |
 | Example      | `after_date('2023-12-07T18:50:00Z')`                     |
 
 | `within_last` |                                                                                                                                                                                               |
@@ -366,7 +384,7 @@ The following tables list the query languages's available functions.
 | `ScalarExtractor` (extends `Extractor`, `Scalar`) |                                                                                                                                                                                                                                          |
 | ------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
 | Base Type                                         | `Extractor`, `Scalar`                                                                                                                                                                                                                    |
-| Operations allowed in call-chain                  | `equals`, `differs`, `absent`, `exists`, `greater_than`, `at_least`, `less_than`, `at_most`, `contains`, `omits`, `starts_with`, `ends_with`, `one_of`, `before_date`, `after_date`, `within_last`, `before_last`, `after_next` (inherited from `Scalar`) |
+| Operations allowed in call-chain                  | `equals`, `differs`, `absent`, `exists`, `greater_than`, `at_least`, `less_than`, `at_most`, `contains`, `omits`, `starts_with`, `ends_with`, `one_of`, `none_of`, `before_date`, `after_date`, `within_last`, `before_last`, `after_next` (inherited from `Scalar`) |
 | Notes                                             | A `ScalarExtractor` represents extractions of a single data element, like a field value or a trait value.                                                                                                                                |
 
 | `EventPropertyExtractor` (extends `Extractor`) |                                                      |
@@ -391,7 +409,7 @@ The following tables list the query languages's available functions.
 
 | `Scalar`                         |                                                                                                                                                                                                                               |
 | -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Operations allowed in call-chain | `equals`, `differs`, `absent`, `exists`, `greater_than`, `at_least`, `less_than`, `at_most`, `contains`, `omits`, `starts_with`, `ends_with`, `one_of`, `before_date`, `after_date`, `within_last`, `before_last`, `after_next`, `within_next` |
+| Operations allowed in call-chain | `equals`, `differs`, `absent`, `exists`, `greater_than`, `at_least`, `less_than`, `at_most`, `contains`, `omits`, `starts_with`, `ends_with`, `one_of`, `none_of`, `before_date`, `after_date`, `within_last`, `before_last`, `after_next`, `within_next` |
 
 | `ListScalar`                     |         |
 | -------------------------------- | ------- |
@@ -474,6 +492,30 @@ This example collects all accounts where any associated users performed the `Sho
 ANY event('Shoes Bought').count() >= 1
 ```
 
+#### Associated with Orders that have an association to Order Products
+
+This example collects all users which have at least 1 association to an `orders` entity where the `orders` entity has at least 1 association to an  `order-products` entity:
+
+```sql
+entity('orders').where(entity('order-products').count() >= 1).count() >= 1
+```
+
+#### Associated to Orders or is a VIP user
+
+This example collects all users which have at least 1 association to an `order` entity or have a `VIP` trait equal to true:
+
+```sql
+entity('orders').count() >= 1 OR trait('VIP') = 'true'
+```
+
+#### Associated with orders that have a total greater than 500
+
+This example collects all users with at least 1 association to an `orders` entity where the `orders` entity has a `total` property greater than 500:
+
+```sql
+entity('orders').where(property('total') > 500).count() >= 1
+```
+
 ### Computed Traits
 
 Suppose you wanted to calculate the average spend based on all `Shoes Bought` events performed within the last 30 days for each user.
@@ -511,5 +553,5 @@ event('Shoes Bought').within(30 days).first(property('spend'))
 This example calculates the most frequent spend value for each user, based on all `Shoes Bought` events performed within the last 30 days. It only considers spend values that have a minimum frequency of `2`:
 
 ```sql
-event('Shoes Bought').within(30 days).mode(property('spend'), 2)
+('Shoes Bought').within(30 days).mode(property('spend'), 2)
 ```

From 50e69598132f06beb90fcf9916f29bf0613b863e Mon Sep 17 00:00:00 2001
From: wilwong-twilio <109997887+wilwong-twilio@users.noreply.github.com>
Date: Wed, 2 Jul 2025 01:45:03 -0700
Subject: [PATCH 024/188] Update docs to include new liquid syntax function
 feature

---
 src/connections/destinations/actions.md | 136 ++++++++++++++++++++++++
 1 file changed, 136 insertions(+)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index 68dd8bef64..2e5fcb5b22 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -238,6 +238,142 @@ You can't concatenate event variables and plain text with static values and func
 
 ![Mapping UI showing two concatenated fields: "+1 phone" and "context.page.url context.page.path"](images/mapping-concatenation.png)
 
+### Liquid syntax
+The liquid syntax function allows you to transform event data with fine-grain control before it reaches cloud-mode destinations using the LiquidJS templating language. Use Liquid templates to clean, format, or conditionally transform data such as user properties, timestamps, or event metadata to meet the requirements of your downstream tools. Liquid templates are applied in the Mappings tab of your Segment workspace, ensuring seamless integration with your event pipeline.
+
+### Supported liquid tags and filters
+The following LiquidJS tags and filters are supported for Segment mappings. These are carefully selected to ensure performance, security, and compatibility with real-time event processing. Unsupported tags and filters are disabled to prevent performance degradation or security risks.
+
+### Supported tags
+| Tag Name          | Description |
+|-------------------|-------------|
+| `assign`          | Assigns a value to a variable for reuse in the template. |
+| `capture`         | Captures output into a variable for complex transformations. |
+| `case`            | Implements switch-like logic for conditional processing. |
+| `comment`         | Ignores content during rendering; useful for documentation. |
+| `decrement`       | Decrements a counter variable; useful for simple counting. |
+| `echo`            | Outputs variable values; operates on provided event data. |
+| `else`            | Provides an alternative branch in `if` or `case` statements. |
+| `elsif`           | Adds additional conditions in `if` statements. |
+| `if`              | Enables conditional logic based on event data. |
+| `increment`       | Increments a counter variable; useful for simple counting. |
+| `liquid`          | Allows nested Liquid code execution in a sandboxed environment. |
+| `raw`             | Outputs content verbatim without escaping. |
+| `unless`          | Executes logic if a condition is not true (negation of `if`). |
+| `when`            | Part of `case` statements for matching specific values. |
+
+### Supported filters
+| Filter Name                    | Description |
+|--------------------------------|-------------|
+| `abs`                          | Returns the absolute value of a number. |
+| `append`                       | Concatenates a string to the end of another string. |
+| `at_least`                     | Returns the greater of two numbers. |
+| `at_most`                      | Returns the lesser of two numbers. |
+| `capitalize`                   | Capitalizes the first letter of a string. |
+| `ceil`                         | Rounds a number up to the next integer. |
+| `cgi_escape`                   | Escapes strings for CGI contexts. |
+| `compact`                      | Removes null values from an array. |
+| `date`                         | Formats a date using a specified format (e.g., `%s` for Unix timestamp). |
+| `date_to_long_string`          | Formats a date into a long string (e.g., `01 July 2025`). |
+| `date_to_rfc822`               | Formats a date in RFC822 format. |
+| `date_to_string`               | Converts a date to a short string format. |
+| `date_to_xmlschema`            | Formats a date in XML schema format. |
+| `default`                      | Provides a default value for null inputs. |
+| `divided_by`                   | Divides a number by another number. |
+| `downcase`                     | Converts a string to lowercase. |
+| `escape`                       | Escapes HTML characters in a string. |
+| `escape_once`                  | Escapes HTML characters only once. |
+| `first`                        | Retrieves the first element of an array. |
+| `floor`                        | Rounds a number down to the previous integer. |
+| `inspect`                      | Converts an object to a JSON string. |
+| `join`                         | Joins array elements into a string with a separator. |
+| `json`                         | Converts an object to a JSON string. |
+| `jsonify`                      | Similar to `json`; converts an object to a JSON string. |
+| `last`                         | Retrieves the last element of an array. |
+| `lstrip`                       | Removes leading whitespace from a string. |
+| `minus`                        | Subtracts a number from another number. |
+| `modulo`                       | Returns the remainder of a division operation. |
+| `normalize_whitespace`         | Normalizes whitespace in a string. |
+| `number_of_words`              | Counts the number of words in a string. |
+| `plus`                         | Adds two numbers. |
+| `pop`                          | Removes the last element from an array. |
+| `push`                         | Adds an element to the end of an array. |
+| `prepend`                      | Adds a string to the start of another string. |
+| `raw`                          | Outputs content verbatim without escaping. |
+| `remove`                       | Removes all occurrences of a substring. |
+| `remove_first`                 | Removes the first occurrence of a substring. |
+| `remove_last`                  | Removes the last occurrence of a substring. |
+| `replace`                      | Replaces all occurrences of a substring with another string. |
+| `replace_first`                | Replaces the first occurrence of a substring. |
+| `replace_last`                 | Replaces the last occurrence of a substring. |
+| `round`                        | Rounds a number to a specified number of decimal places. |
+| `rstrip`                       | Removes trailing whitespace from a string. |
+| `shift`                        | Removes the first element from an array. |
+| `size`                         | Returns the length of a string or array. |
+| `slice`                        | Extracts a portion of a string or array. |
+| `slugify`                      | Converts a string into a URL-friendly format. |
+| `split`                        | Splits a string into an array based on a delimiter. |
+| `strip`                        | Removes whitespace from both ends of a string. |
+| `strip_html`                   | Removes HTML tags from a string. |
+| `strip_newlines`               | Removes newline characters from a string. |
+| `sum`                          | Sums numeric values in an array. |
+| `times`                        | Multiplies a number by another number. |
+| `to_integer`                   | Converts a value to an integer. |
+| `truncate`                     | Truncates a string to a specified length. |
+| `truncatewords`                | Truncates a string to a specified word count. |
+| `unshift`                      | Adds an element to the start of an array. |
+| `upcase`                       | Converts a string to uppercase. |
+| `uri_escape`                   | Escapes a string for use in a URI. |
+| `url_decode`                   | Decodes a URL-encoded string. |
+| `url_encode`                   | Encodes a string for use in a URL. |
+| `where`                        | Filters an array based on a property and value. |
+| `xml_escape`                   | Escapes characters for XML compatibility. |
+
+### Examples
+Below are two examples demonstrating how to use Liquid templates in Segment mappings to transform event data for cloud-mode destinations. These examples showcase common use cases like string manipulation and conditional logic.
+
+#### Example 1: Standardize email addresses
+This example converts an email address to lowercase and removes extra whitespace, ensuring consistency for a destination.
+
+```json
+{% if event.properties.email %}
+  {{ event.properties.email | downcase | strip }}
+{% else %}
+  {{ event.properties.email | default: "unknown@example.com" }}
+{% endif %}
+```
+Input: `event.properties.email` = "user@example.com"
+Output: user@example.com
+
+Explanation:
+* The `if` tag checks if `event.properties.email` exists.
+* The `downcase` filter converts the email to lowercase.
+* The `strip` filter removes leading/trailing whitespace.
+* The `default` filter provides a fallback email if the input is missing.
+
+#### Example 2: Transform phone number with conditional logic
+This example formats a phone number by removing non-digit characters, adding a country code, and prepending a plus sign.
+
+```json
+{% if event.properties.phone %}
+  {% assign phone = event.properties.phone | strip | remove: "-" | remove: "(" | remove: ")" | remove: " " %}
+  {% if phone | slice: 0, 1 != "1" %}
+    {% assign phone = phone | prepend: "1" %}
+  {% endif %}
+  {{ phone | prepend: "+" }}
+{% else %}
+  {{ event.properties.phone | default: "" }}
+{% endif %}
+```
+Input: `event.properties.phone` = "(123) 456-7890"
+Output: +11234567890
+
+Explanation:
+* The `assign` tag stores the cleaned phone number after applying `strip` and `remove` filters to eliminate whitespace and non-digit characters (e.g., `-`, `(`, `)`).
+* The `slice: 0, 1` filter checks if the phone number starts with `1`; if not, `prepend: "1"` adds the country code.
+* The `prepend: "+"` filter adds the `+` prefix.
+* The `default` filter outputs an empty string if the phone number is missing.
+
 ## Conditions
 
 > info ""

From 95f154edbac78664d1324d93243a006aa05498e1 Mon Sep 17 00:00:00 2001
From: wilwong-twilio <109997887+wilwong-twilio@users.noreply.github.com>
Date: Wed, 2 Jul 2025 01:59:18 -0700
Subject: [PATCH 025/188] Update actions.md

---
 src/connections/destinations/actions.md | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index 2e5fcb5b22..06d689d64d 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -241,10 +241,10 @@ You can't concatenate event variables and plain text with static values and func
 ### Liquid syntax
 The liquid syntax function allows you to transform event data with fine-grain control before it reaches cloud-mode destinations using the LiquidJS templating language. Use Liquid templates to clean, format, or conditionally transform data such as user properties, timestamps, or event metadata to meet the requirements of your downstream tools. Liquid templates are applied in the Mappings tab of your Segment workspace, ensuring seamless integration with your event pipeline.
 
-### Supported liquid tags and filters
+#### Supported liquid tags and filters
 The following LiquidJS tags and filters are supported for Segment mappings. These are carefully selected to ensure performance, security, and compatibility with real-time event processing. Unsupported tags and filters are disabled to prevent performance degradation or security risks.
 
-### Supported tags
+#### Supported tags
 | Tag Name          | Description |
 |-------------------|-------------|
 | `assign`          | Assigns a value to a variable for reuse in the template. |
@@ -262,7 +262,7 @@ The following LiquidJS tags and filters are supported for Segment mappings. Thes
 | `unless`          | Executes logic if a condition is not true (negation of `if`). |
 | `when`            | Part of `case` statements for matching specific values. |
 
-### Supported filters
+#### Supported filters
 | Filter Name                    | Description |
 |--------------------------------|-------------|
 | `abs`                          | Returns the absolute value of a number. |
@@ -329,10 +329,10 @@ The following LiquidJS tags and filters are supported for Segment mappings. Thes
 | `where`                        | Filters an array based on a property and value. |
 | `xml_escape`                   | Escapes characters for XML compatibility. |
 
-### Examples
+#### Examples
 Below are two examples demonstrating how to use Liquid templates in Segment mappings to transform event data for cloud-mode destinations. These examples showcase common use cases like string manipulation and conditional logic.
 
-#### Example 1: Standardize email addresses
+##### Example 1: Standardize email addresses
 This example converts an email address to lowercase and removes extra whitespace, ensuring consistency for a destination.
 
 ```json
@@ -351,7 +351,7 @@ Explanation:
 * The `strip` filter removes leading/trailing whitespace.
 * The `default` filter provides a fallback email if the input is missing.
 
-#### Example 2: Transform phone number with conditional logic
+##### Example 2: Transform phone number with conditional logic
 This example formats a phone number by removing non-digit characters, adding a country code, and prepending a plus sign.
 
 ```json

From 2ca0b109c91cf864925cc3a97f3c956f178dff84 Mon Sep 17 00:00:00 2001
From: maleman842 <79479130+maleman842@users.noreply.github.com>
Date: Wed, 2 Jul 2025 09:28:37 -0700
Subject: [PATCH 026/188] Update query-language.md

---
 src/api/public-api/query-language.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/api/public-api/query-language.md b/src/api/public-api/query-language.md
index 14deb4415c..34e2a7966c 100644
--- a/src/api/public-api/query-language.md
+++ b/src/api/public-api/query-language.md
@@ -62,7 +62,7 @@ The following tables list the query languages's available functions.
 | Syntax      | `trait({s: String})` <br> `s` - the name of the trait to reference                                  |
 | Return Type | `ScalarExtractor`                                                                                   |
 | Description | Similar to the event operator, the trait operator is used to specify profile trait filter criteria. |
-| Notes       | You can reference other audiences by using the audience key as the trait name. Also note that inclusion of a `.` signifies traversal through nested structures. If the trait name contains a literal dor, it must be escaped using `\\`                                                                          |
+| Notes       | You can reference other audiences by using the audience key as the trait name. Also note that inclusion of a `.` signifies traversal through nested structures. If the trait name contains a literal dot, it must be escaped using `\\\\`                                              |
 | Example     | `trait('total_spend')`                                                                              |
 
 | `entity`     |                                                                                                    |

From 9222f83a2ace1582f0778784087f378a33b4d133 Mon Sep 17 00:00:00 2001
From: maleman842 <79479130+maleman842@users.noreply.github.com>
Date: Wed, 2 Jul 2025 09:29:47 -0700
Subject: [PATCH 027/188] Update query-language.md

---
 src/api/public-api/query-language.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/api/public-api/query-language.md b/src/api/public-api/query-language.md
index 34e2a7966c..64915e163c 100644
--- a/src/api/public-api/query-language.md
+++ b/src/api/public-api/query-language.md
@@ -77,7 +77,7 @@ The following tables list the query languages's available functions.
 | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
 | Syntax      | `property({s: String})` <br> `s` - the name of the property to build an extractor for  <br> In the context of funnel audiences, you can add a parent prefix to reference the parent event. <br> `property(parent: {s: String})` |
 | Return Type | `ScalarExtractor`                                                                                                                                                                                                               |
-| Notes       | Only valid within a `where` function or a Reducer. Also note that inclusion of a `.` signifies traversal through nested structures. If the property name contains a literal dor, it must be escaped using `\\`                 |
+| Notes       | Only valid within a `where` function or a Reducer. Also note that inclusion of a `.` signifies traversal through nested structures. If the property name contains a literal dot, it must be escaped using `\\\\`                |
 | Example     | `property('total')`                                                                                                                                                                                                             |
 
 | `context`   |                                                                                     |

From a0110f2bed6e0a1bd8ba215e1c77124abe8b24a0 Mon Sep 17 00:00:00 2001
From: maleman842 <79479130+maleman842@users.noreply.github.com>
Date: Wed, 2 Jul 2025 09:31:30 -0700
Subject: [PATCH 028/188] Update query-language.md

---
 src/api/public-api/query-language.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/api/public-api/query-language.md b/src/api/public-api/query-language.md
index 64915e163c..b00c9781a9 100644
--- a/src/api/public-api/query-language.md
+++ b/src/api/public-api/query-language.md
@@ -553,5 +553,5 @@ event('Shoes Bought').within(30 days).first(property('spend'))
 This example calculates the most frequent spend value for each user, based on all `Shoes Bought` events performed within the last 30 days. It only considers spend values that have a minimum frequency of `2`:
 
 ```sql
-('Shoes Bought').within(30 days).mode(property('spend'), 2)
+event('Shoes Bought').within(30 days).mode(property('spend'), 2)
 ```

From a2fc71a39a02b8ba5dc3969aa5e5da283336bb0b Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Wed, 2 Jul 2025 13:53:30 -0400
Subject: [PATCH 029/188] Apply suggestions from code review

---
 src/privacy/user-deletion-and-suppression.md | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/privacy/user-deletion-and-suppression.md b/src/privacy/user-deletion-and-suppression.md
index 4d441c22f6..eb62adf3e6 100644
--- a/src/privacy/user-deletion-and-suppression.md
+++ b/src/privacy/user-deletion-and-suppression.md
@@ -23,7 +23,7 @@ Segment has 2 types of Regulations:
 - **Segment-only Regulations**: These Regulations *only* delete or suppress data about your user from internal Segment systems.
 - **Segment & Destination Regulations**: These Regulations delete user data from internal Segment systems and then forward a deletion request to any connected destinations that support programmatic deletion. For a list of destination that support programmatic deletion, see [Which destinations can I send deletion requests to?](/docs/privacy/faq/#which-destinations-can-i-send-deletion-requests-to). 
 
-While both Regulation types are limited to 110,000 users every calendar month, you can temporarily increase your rate limit for Segment-only regulations. To send more than 110,000 Segment-only Regulations over a 30 day period, [contact Segment Support](https://segment.com/help/contact/){:target="_blank"}.
+While both Regulation types are limited to 110,000 users every calendar month, you can temporarily increase your rate limit for Segment-only Regulations. To send more than 110,000 Segment-only Regulations over a 30 day period, [contact Segment Support](https://segment.com/help/contact/){:target="_blank"}.
 
 ### Segment-only Regulations
 The following Segment-only Regulation types are available:
@@ -59,17 +59,17 @@ Warehouse deletions occur using a DML run against your cluster or instance. Segm
 
 ### Deletion requests tab
 
-The deletion requests tab shows a 30-day overview of your deletions pipeline, including a regulations usage tracker and a deletion requests status table. 
+The deletion requests tab shows a 30-day overview of your deletions pipeline, including a Regulations usage tracker and a deletion requests status table. 
 
 To navigate to the deletion requests tab, open the Segment app and navigate to **Privacy > Deletion and Suppression > Deletion**.
 
 #### Regulations usage tracker
 
-The usage tracker on the deletion requests tab shows you how many Segment & destination regulations and how many Segment-only regulations you have remaining for the calendar month. 
+The usage tracker on the deletion requests tab shows you how many Segment & destination Regulations and how many Segment-only Regulations you have remaining for the calendar month. 
 
 #### Deletion requests status 
 
-The deletion requests status table allows you to see the status of each of the regulations that you've submitted, including if the regulation was forwarded to your destinations, the deletion type, the date the regulation was received, and the date the regulation was completed. 
+The deletion requests status table allows you to see the status of each of the Regulations that you've submitted, including if the Regulation was forwarded to your destinations, the deletion type, the date the Regulation was received, and the date the Regulation was completed. 
 
 If you need to verify that a information about a specific user was deleted or suppressed, you can search for a `userId` to view its status in Segment internal systems and in the connected destinations.
 

From 24aa2c6f94a7a00d5a22d7b956946729ab9ebcab Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Thu, 3 Jul 2025 09:09:05 -0400
Subject: [PATCH 030/188] Update src/privacy/user-deletion-and-suppression.md

Co-authored-by: Sharon Adewusi <sadewusi@twilio.com>
---
 src/privacy/user-deletion-and-suppression.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/privacy/user-deletion-and-suppression.md b/src/privacy/user-deletion-and-suppression.md
index eb62adf3e6..6f056051c0 100644
--- a/src/privacy/user-deletion-and-suppression.md
+++ b/src/privacy/user-deletion-and-suppression.md
@@ -71,7 +71,7 @@ The usage tracker on the deletion requests tab shows you how many Segment & dest
 
 The deletion requests status table allows you to see the status of each of the Regulations that you've submitted, including if the Regulation was forwarded to your destinations, the deletion type, the date the Regulation was received, and the date the Regulation was completed. 
 
-If you need to verify that a information about a specific user was deleted or suppressed, you can search for a `userId` to view its status in Segment internal systems and in the connected destinations.
+If you need to verify if information about a specific user was deleted or suppressed, you can search for a `userId` to view its status in Segment internal systems and in the connected destinations.
 
 A deletion request can have one of the following statuses:
 

From 22bf630834f58f2c1d5f1bc7a24b8f04a5d3b021 Mon Sep 17 00:00:00 2001
From: maleman842 <79479130+maleman842@users.noreply.github.com>
Date: Thu, 3 Jul 2025 07:45:38 -0700
Subject: [PATCH 031/188] Update query-language.md

---
 src/api/public-api/query-language.md | 36 ++++++++++++++--------------
 1 file changed, 18 insertions(+), 18 deletions(-)

diff --git a/src/api/public-api/query-language.md b/src/api/public-api/query-language.md
index b00c9781a9..d98e28bddc 100644
--- a/src/api/public-api/query-language.md
+++ b/src/api/public-api/query-language.md
@@ -87,12 +87,12 @@ The following tables list the query languages's available functions.
 | Notes       | Only valid within a `where` function or a Reducer.                                  |
 | Example     | `context('page.url')`                                                               |
 
-| `literal`                        |                                                                                                                                                                                                                                            |
-| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| Syntax                           | `literal({a: Any})`  <br> `a` - the value to treat as a literal expression                                                                                                                                                                     |
+| `literal`                        |                                                                                                                                                                                                                                                 |
+| -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Syntax                           | `literal({a: Any})`  <br> `a` - the value to treat as a literal expression                                                                                                                                                                      |
 | Operations allowed in call-chain | None allowed; typically used within another function, like a comparison (with syntactic sugar, this would appear on the right side of the comparison). The outer function or comparison dictates the operations allowed in the call-chain. |
-| Notes                            | Literals can be `int`s, `float`s, `string`s, or `timestamp`s, where `timestamp`s follow ISO 8601 format. Note that in general `string` is interchangeable with all other formats, except when used in a `property` chained to an `entity`. In this case, we recommend using `timestamp` over `string` based on the datatype you're targeting.                                                                                                          |
-| Example                          | `literal(100)` or `literal('value')` or `literal(2022-10-17T00:00:00)`                                                                                                                                                                         |
+| Notes                            | Literals can be `int`s, `float`s, `string`s, `date`s or `timestamp`s, where `date`s use the format `yyyy-mm-dd` and `timestamp`s follow ISO 8601 format. Note that in general `string` is interchangeable with all other formats, except when used in a `property` chained to an `entity`. In this case, we recommend matching the data type of the entity property being targeted.                                             |
+| Example                          | `literal(100)` or `literal('value')` or `literal(2022-10-17T00:00:00)`                                                                                                                                                                          |
 
 
 
@@ -287,19 +287,19 @@ The following tables list the query languages's available functions.
 | Description | Matches when the value does not exactly match one of the values from the parameter array. |
 | Example     | `none_of('shoes','shirts')`                                                               |
 
-| `before_date` |                                                           |
-| ------------- | --------------------------------------------------------- |
-| Syntax        | `before_date({t: Timestamp})`<br>`t` - ISO 8601 timestamp |
-| Return Type   | `Comparator`                                              |
-| Notes         | `string` format can also be use                           |
-| Example       | `before_date('2023-12-07T18:50:00Z')`                     |
-
-| `after_date` |                                                          |
-| ------------ | -------------------------------------------------------- |
-| Syntax       | `after_date({t: Timestamp})`<br>`t` - ISO 8601 timestamp |
-| Return Type  | `Comparator`                                             |
-| Notes        | `string` format can also be use                          |
-| Example      | `after_date('2023-12-07T18:50:00Z')`                     |
+| `before_date` |                                                                              |
+| ------------- | ---------------------------------------------------------------------------- |
+| Syntax        | `before_date({t: Timestamp})`<br>`t` - ISO 8601 timestamp                    |
+| Return Type   | `Comparator`                                                                 |
+| Notes         | `string` format can also be use                                              |
+| Example       | `before_date(2023-12-07T18:50:00Z)` or `before_date('2023-12-07T18:50:00Z')` |
+
+| `after_date` |                                                                            |
+| ------------ | -------------------------------------------------------------------------- |
+| Syntax       | `after_date({t: Timestamp})`<br>`t` - ISO 8601 timestamp                   |
+| Return Type  | `Comparator`                                                               |
+| Notes        | `string` format can also be use                                            |
+| Example      | `after_date(2023-12-07T18:50:00Z)` or `after_date('2023-12-07T18:50:00Z')` |
 
 | `within_last` |                                                                                                                                                                                               |
 | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

From 0e5e56075293d9a72fc330f0c6a302f81233e8c9 Mon Sep 17 00:00:00 2001
From: Alastair Mucklow <alastair.mucklow@dotdigital.com>
Date: Mon, 7 Jul 2025 13:47:25 +0100
Subject: [PATCH 032/188] Fix curly quotes

---
 .../destinations/catalog/dotdigital/index.md           | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/connections/destinations/catalog/dotdigital/index.md b/src/connections/destinations/catalog/dotdigital/index.md
index afee218011..5cb07a6d09 100644
--- a/src/connections/destinations/catalog/dotdigital/index.md
+++ b/src/connections/destinations/catalog/dotdigital/index.md
@@ -6,18 +6,18 @@ redirect_from: "/docs/connections/destinations/catalog/actions-dotdigital/"
 ---
 {% include content/plan-grid.md name="actions" %}
 
-[Dotdigital](https://dotdigital.com/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank”} is an all-in-one customer experience and data platform (CXDP) that empowers marketing teams to exceed customer expectations with highly personalized cross-channel journeys.
+[Dotdigital](https://dotdigital.com/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank"} is an all-in-one customer experience and data platform (CXDP) that empowers marketing teams to exceed customer expectations with highly personalized cross-channel journeys.
 
 This destination is maintained by Dotdigital. For any issues with the destination, [contact the Dotdigital Support team](mailto:support@dotdigital.com).
 
 ## Getting started
 
-1. From your workspace's [Destination catalog page](https://app.segment.com/goto-my-workspace/destinations/catalog){:target="_blank”} search for "Dotdigital".
+1. From your workspace's [Destination catalog page](https://app.segment.com/goto-my-workspace/destinations/catalog){:target="_blank"} search for "Dotdigital".
 2. Select Dotdigital and click **Add Destination**.
 3. Select an existing Source to connect to Dotdigital (Actions).
 4. Log in to your [Dotdigital account](https://login.dotdigital.com/){:target="_blank"}. Expand the User menu in the bottom left and go to Settings > Access > API users.
 5. Note your API region (r1, r2 or r3) for step 7.
-6. Create a [new API user](https://developer.dotdigital.com/docs/setting-up-an-api-user) {:target="_blank”}. 
+6. Create a [new API user](https://developer.dotdigital.com/docs/setting-up-an-api-user) {:target="_blank"}. 
 7. In Segment, select your Dotdigital account region and paste the **API user** and **API password** in the Dotdigital destination settings.
 
 {% include components/actions-fields.html %}
@@ -27,8 +27,8 @@ This destination is maintained by Dotdigital. For any issues with the destinatio
 ### Add Contact to List
 Before using the Add Context to List Action, complete the following prerequisites: 
 
-- **Lists**: [Create a contact list in Dotdigital](https://support.dotdigital.com/en/articles/8198769-create-a-contact-list) {:target="_blank”}. After you've created a list in Dotdigital, return to the Segment app and select your list from the dropdown in the Segment event mapping.
-- **Data Fields**: [Create or edit your data fields in Dotdigital](https://support.dotdigital.com/en/articles/8198833-create-delete-and-edit-custom-data-fields){:target="_blank”}, then return to the Segment app, open the event mapping, and map Segment properties to Dotdigital data fields.
+- **Lists**: [Create a contact list in Dotdigital](https://support.dotdigital.com/en/articles/8198769-create-a-contact-list) {:target="_blank"}. After you've created a list in Dotdigital, return to the Segment app and select your list from the dropdown in the Segment event mapping.
+- **Data Fields**: [Create or edit your data fields in Dotdigital](https://support.dotdigital.com/en/articles/8198833-create-delete-and-edit-custom-data-fields){:target="_blank"}, then return to the Segment app, open the event mapping, and map Segment properties to Dotdigital data fields.
 
 ### Enroll Contact to Program
 When you use the Enroll Contact to Program action, Dotdigital creates a contact for the identifier you provide, if the contact doesn't already exist. 
\ No newline at end of file

From 54c52eedfe211d2ab3517b8de0d03ef0f29b19f7 Mon Sep 17 00:00:00 2001
From: Alastair Mucklow <alastair.mucklow@dotdigital.com>
Date: Mon, 7 Jul 2025 13:47:44 +0100
Subject: [PATCH 033/188] Add context notes for new actions

---
 src/connections/destinations/catalog/dotdigital/index.md | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/connections/destinations/catalog/dotdigital/index.md b/src/connections/destinations/catalog/dotdigital/index.md
index 5cb07a6d09..23b51e0ce5 100644
--- a/src/connections/destinations/catalog/dotdigital/index.md
+++ b/src/connections/destinations/catalog/dotdigital/index.md
@@ -31,4 +31,11 @@ Before using the Add Context to List Action, complete the following prerequisite
 - **Data Fields**: [Create or edit your data fields in Dotdigital](https://support.dotdigital.com/en/articles/8198833-create-delete-and-edit-custom-data-fields){:target="_blank"}, then return to the Segment app, open the event mapping, and map Segment properties to Dotdigital data fields.
 
 ### Enroll Contact to Program
-When you use the Enroll Contact to Program action, Dotdigital creates a contact for the identifier you provide, if the contact doesn't already exist. 
\ No newline at end of file
+When you use the Enroll Contact to Program action, Dotdigital creates a contact for the identifier you provide, if the contact doesn't already exist. 
+
+### Send SMS
+- Only valid mobile numbers with an international dialling prefix (E.164 format) will be accepted.
+
+### Send Transactional SMS
+- Only valid mobile numbers with an international dialling prefix (E.164 format) will be accepted.
+- You must have SMS pay-as-you-go enabled to use this action. Learn more about [how to enable SMS pay-as-you-go](https://support.dotdigital.com/en/articles/8199154-understand-sms-pay-as-you-go-and-spend-limit) {:target="_blank"}.

From eba65d7afef5059f1b8d6a17bd8714bec7159979 Mon Sep 17 00:00:00 2001
From: Alastair Mucklow <al.mucklow@gmail.com>
Date: Mon, 7 Jul 2025 14:45:46 +0100
Subject: [PATCH 034/188] Update
 src/connections/destinations/catalog/dotdigital/index.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 src/connections/destinations/catalog/dotdigital/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/catalog/dotdigital/index.md b/src/connections/destinations/catalog/dotdigital/index.md
index 23b51e0ce5..4bf6149b0d 100644
--- a/src/connections/destinations/catalog/dotdigital/index.md
+++ b/src/connections/destinations/catalog/dotdigital/index.md
@@ -37,5 +37,5 @@ When you use the Enroll Contact to Program action, Dotdigital creates a contact
 - Only valid mobile numbers with an international dialling prefix (E.164 format) will be accepted.
 
 ### Send Transactional SMS
-- Only valid mobile numbers with an international dialling prefix (E.164 format) will be accepted.
+- Only valid mobile numbers with an international dialing prefix in E.164 format will be accepted. This format is a combination of `+[country code][phone number]`. For example: `+12133734253`.
 - You must have SMS pay-as-you-go enabled to use this action. Learn more about [how to enable SMS pay-as-you-go](https://support.dotdigital.com/en/articles/8199154-understand-sms-pay-as-you-go-and-spend-limit) {:target="_blank"}.

From b2131c18ef0028e66491844161aa158391dcc69e Mon Sep 17 00:00:00 2001
From: Alastair Mucklow <alastair.mucklow@dotdigital.com>
Date: Mon, 7 Jul 2025 14:47:50 +0100
Subject: [PATCH 035/188] Advised change

---
 src/connections/destinations/catalog/dotdigital/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/catalog/dotdigital/index.md b/src/connections/destinations/catalog/dotdigital/index.md
index 4bf6149b0d..ee91642049 100644
--- a/src/connections/destinations/catalog/dotdigital/index.md
+++ b/src/connections/destinations/catalog/dotdigital/index.md
@@ -38,4 +38,4 @@ When you use the Enroll Contact to Program action, Dotdigital creates a contact
 
 ### Send Transactional SMS
 - Only valid mobile numbers with an international dialing prefix in E.164 format will be accepted. This format is a combination of `+[country code][phone number]`. For example: `+12133734253`.
-- You must have SMS pay-as-you-go enabled to use this action. Learn more about [how to enable SMS pay-as-you-go](https://support.dotdigital.com/en/articles/8199154-understand-sms-pay-as-you-go-and-spend-limit) {:target="_blank"}.
+- You must have SMS pay-as-you-go enabled to use this action. Learn more about how to enable SMS pay-as-you-go in [Dotdigital's documentation](https://support.dotdigital.com/en/articles/8199154-understand-sms-pay-as-you-go-and-spend-limit){:target="_blank"}.

From 6f970a56247df250d569109cd759ae08a480da87 Mon Sep 17 00:00:00 2001
From: Alastair Mucklow <al.mucklow@gmail.com>
Date: Mon, 7 Jul 2025 14:48:20 +0100
Subject: [PATCH 036/188] Update
 src/connections/destinations/catalog/dotdigital/index.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 src/connections/destinations/catalog/dotdigital/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/catalog/dotdigital/index.md b/src/connections/destinations/catalog/dotdigital/index.md
index ee91642049..cc4c4d7ba5 100644
--- a/src/connections/destinations/catalog/dotdigital/index.md
+++ b/src/connections/destinations/catalog/dotdigital/index.md
@@ -34,7 +34,7 @@ Before using the Add Context to List Action, complete the following prerequisite
 When you use the Enroll Contact to Program action, Dotdigital creates a contact for the identifier you provide, if the contact doesn't already exist. 
 
 ### Send SMS
-- Only valid mobile numbers with an international dialling prefix (E.164 format) will be accepted.
+Only valid mobile numbers with an international dialing prefix in E.164 format will be accepted. This format is a combination of `+[country code][phone number]`. For example: `+12133734253`.
 
 ### Send Transactional SMS
 - Only valid mobile numbers with an international dialing prefix in E.164 format will be accepted. This format is a combination of `+[country code][phone number]`. For example: `+12133734253`.

From 01bb741dafdd699eab1ae837d1a1592ac214dbcb Mon Sep 17 00:00:00 2001
From: Alex Golshani <xitonix.io@gmail.com>
Date: Tue, 8 Jul 2025 08:52:49 +1000
Subject: [PATCH 037/188] Update
 src/connections/destinations/catalog/actions-ortto-audiences/index.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 .../destinations/catalog/actions-ortto-audiences/index.md       | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/catalog/actions-ortto-audiences/index.md b/src/connections/destinations/catalog/actions-ortto-audiences/index.md
index 3a20c0fda5..0a7746af1e 100644
--- a/src/connections/destinations/catalog/actions-ortto-audiences/index.md
+++ b/src/connections/destinations/catalog/actions-ortto-audiences/index.md
@@ -1,6 +1,6 @@
 ---
 title: Ortto (Audiences) Destination
-id: 
+id: 686799c65fcebef2a98c8141
 ---
 
 {% include content/plan-grid.md name="actions" %}

From dd0bfa6e39a1305feef5bb82711798b9b241ad41 Mon Sep 17 00:00:00 2001
From: Alex Golshani <xitonix.io@gmail.com>
Date: Tue, 8 Jul 2025 08:53:16 +1000
Subject: [PATCH 038/188] Update
 src/connections/destinations/catalog/actions-ortto-audiences/index.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 .../destinations/catalog/actions-ortto-audiences/index.md       | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/catalog/actions-ortto-audiences/index.md b/src/connections/destinations/catalog/actions-ortto-audiences/index.md
index 0a7746af1e..2e847979b2 100644
--- a/src/connections/destinations/catalog/actions-ortto-audiences/index.md
+++ b/src/connections/destinations/catalog/actions-ortto-audiences/index.md
@@ -5,7 +5,7 @@ id: 686799c65fcebef2a98c8141
 
 {% include content/plan-grid.md name="actions" %}
 
-The **Ortto (Audiences)** destination allows you to send Engage audiences from Segment to Ortto, where they can be used as [Audiences](https://help.ortto.com/a-115-working-with-audiences){:target="_blank"} for marketing automation, personalization, and reporting.
+The **Ortto (Audiences)** destination allows you to send Engage Audiences from Segment to Ortto, where they can be used as [Audiences](https://help.ortto.com/a-115-working-with-audiences){:target="_blank"} for marketing automation, personalization, and reporting.
 
 This destination is maintained by **Ortto**. For support or questions, please [contact the Ortto Support team](mailto:help@ortto.com).
 

From 6edea436a28873240752c37d9fef6760c83b0eeb Mon Sep 17 00:00:00 2001
From: Alex Golshani <xitonix.io@gmail.com>
Date: Tue, 8 Jul 2025 08:53:38 +1000
Subject: [PATCH 039/188] Update
 src/connections/destinations/catalog/actions-ortto-audiences/index.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 .../destinations/catalog/actions-ortto-audiences/index.md       | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/catalog/actions-ortto-audiences/index.md b/src/connections/destinations/catalog/actions-ortto-audiences/index.md
index 2e847979b2..e8c0ecb4fe 100644
--- a/src/connections/destinations/catalog/actions-ortto-audiences/index.md
+++ b/src/connections/destinations/catalog/actions-ortto-audiences/index.md
@@ -16,7 +16,7 @@ Follow these steps to set up the Ortto (Audiences) destination in your Segment w
 1. In your Segment workspace, click **Engage** in the left navigation bar, then select your space.
 2. Click **Engage Settings** and open the **Destinations** tab.
 3. Search for `Ortto (Audiences)` and click **Add Destination**.
-4. Confirm the source. By default, this will be the source connected to the Engage space you're working in.
+4. Confirm the source. This is typically the source connected to the Engage space you're working in.
 5. [Log in to your Ortto account](https://ortto.app/login){:target="_blank"} and either:
    - Create a new **Segment (Actions)** data source, or
    - Use an existing one.

From 781bf0ac4d691cfce5b4b9f740ad44bb5a53059d Mon Sep 17 00:00:00 2001
From: Alex Golshani <xitonix.io@gmail.com>
Date: Tue, 8 Jul 2025 08:54:35 +1000
Subject: [PATCH 040/188] Update
 src/connections/destinations/catalog/actions-ortto-audiences/index.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 .../destinations/catalog/actions-ortto-audiences/index.md       | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/catalog/actions-ortto-audiences/index.md b/src/connections/destinations/catalog/actions-ortto-audiences/index.md
index e8c0ecb4fe..693b9e7bda 100644
--- a/src/connections/destinations/catalog/actions-ortto-audiences/index.md
+++ b/src/connections/destinations/catalog/actions-ortto-audiences/index.md
@@ -14,7 +14,7 @@ This destination is maintained by **Ortto**. For support or questions, please [c
 Follow these steps to set up the Ortto (Audiences) destination in your Segment workspace:
 
 1. In your Segment workspace, click **Engage** in the left navigation bar, then select your space.
-2. Click **Engage Settings** and open the **Destinations** tab.
+2. Select **Engage Settings** and open the Destinations tab.
 3. Search for `Ortto (Audiences)` and click **Add Destination**.
 4. Confirm the source. This is typically the source connected to the Engage space you're working in.
 5. [Log in to your Ortto account](https://ortto.app/login){:target="_blank"} and either:

From c5b04033b8553b069b568746eb58b278a5a1ae62 Mon Sep 17 00:00:00 2001
From: Alex Golshani <xitonix.io@gmail.com>
Date: Tue, 8 Jul 2025 08:54:58 +1000
Subject: [PATCH 041/188] Update
 src/connections/destinations/catalog/actions-ortto-audiences/index.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 .../destinations/catalog/actions-ortto-audiences/index.md       | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/catalog/actions-ortto-audiences/index.md b/src/connections/destinations/catalog/actions-ortto-audiences/index.md
index 693b9e7bda..d848c1d445 100644
--- a/src/connections/destinations/catalog/actions-ortto-audiences/index.md
+++ b/src/connections/destinations/catalog/actions-ortto-audiences/index.md
@@ -23,7 +23,7 @@ Follow these steps to set up the Ortto (Audiences) destination in your Segment w
 6. Copy the API key from your Ortto data source.
 7. In Segment, open the destination's **Settings** tab and paste the API key.
 8. Toggle **Enable Destination** to **ON** and click **Save Changes**.
-9. Go to the **Mappings** tab in the *Ortto (Audiences)* destination and add a **Sync Audience** mapping.
+9. Go to the **Mappings** tab in your Ortto (Audiences) destination and add a **Sync Audience** mapping.
 10. Enable the mapping.
 11. Navigate to the **Audiences** tab in your Engage space and select the audience you want to sync.
 12. Click **Add Destination**.

From b0505ad4a8d8448acfe28a39778364062e5c196f Mon Sep 17 00:00:00 2001
From: Alex Golshani <xitonix.io@gmail.com>
Date: Tue, 8 Jul 2025 08:55:13 +1000
Subject: [PATCH 042/188] Update
 src/connections/destinations/catalog/actions-ortto-audiences/index.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 .../destinations/catalog/actions-ortto-audiences/index.md       | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/catalog/actions-ortto-audiences/index.md b/src/connections/destinations/catalog/actions-ortto-audiences/index.md
index d848c1d445..f6163b49f2 100644
--- a/src/connections/destinations/catalog/actions-ortto-audiences/index.md
+++ b/src/connections/destinations/catalog/actions-ortto-audiences/index.md
@@ -21,7 +21,7 @@ Follow these steps to set up the Ortto (Audiences) destination in your Segment w
    - Create a new **Segment (Actions)** data source, or
    - Use an existing one.
 6. Copy the API key from your Ortto data source.
-7. In Segment, open the destination's **Settings** tab and paste the API key.
+7. In Segment, open the destination's **Settings** tab and enter your Ortto API key.
 8. Toggle **Enable Destination** to **ON** and click **Save Changes**.
 9. Go to the **Mappings** tab in your Ortto (Audiences) destination and add a **Sync Audience** mapping.
 10. Enable the mapping.

From 95285bfb2b675bd7d8f4d8d02bbe237e5ed4aac5 Mon Sep 17 00:00:00 2001
From: piyush-nudge <piyush@nudgenow.com>
Date: Tue, 8 Jul 2025 14:32:38 +0530
Subject: [PATCH 043/188] feat: added destination id to the actions-nudge docs

---
 .../destinations/catalog/actions-nudge/index.md           | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/connections/destinations/catalog/actions-nudge/index.md b/src/connections/destinations/catalog/actions-nudge/index.md
index 797fd5f946..93bb95b177 100644
--- a/src/connections/destinations/catalog/actions-nudge/index.md
+++ b/src/connections/destinations/catalog/actions-nudge/index.md
@@ -1,6 +1,6 @@
 ---
 title: Nudge (Actions) Destination
-id: 
+id: 6863e71f2a1e1ddc4b4612bf
 ---
 
 {% include content/plan-grid.md name="actions" %}
@@ -22,11 +22,11 @@ This destination is maintained by the Nudge Developer Team. For any issues with
 
 ## Supported methods
 
-The Nudge (Actions) Destination currently supports the Identify and Track methods listed below in accordance to the core Segment Specs. Reference: [Spec Overview](https://segment.com/docs/connections/spec/)
+The Nudge (Actions) Destination currently supports the Identify and Track methods listed below in accordance to the core Segment Specs. Reference: [Spec Overview](/docs/connections/spec/)
 
 ### Identify
 
-The Identify method lets you create or update a user in Nudge’s backend. Every Identify call should include a `userId`. See Segment's Spec for Identify for any reference: [Identify Spec](https://segment.com/docs/connections/spec/identify/)
+The Identify method lets you create or update a user in Nudge’s backend. Every Identify call should include a `userId`. See Segment's Spec for Identify for any reference: [Identify Spec](/docs/connections/spec/identify/)
 
 Example (using Segment's Analytics.js SDK):
 
@@ -49,7 +49,7 @@ How Nudge handles Identify calls:
 
 ### Track
 
-The Track method sends custom events and their properties into Nudge. You must include `event` name in every Track call so events can be associated with the correct user. See Segment's Spec for Track for any reference: [Track Spec](https://segment.com/docs/connections/spec/track/)
+The Track method sends custom events and their properties into Nudge. You must include `event` name in every Track call so events can be associated with the correct user. See Segment's Spec for Track for any reference: [Track Spec](/docs/connections/spec/track/)
 
 Example (using Segment's Analytics.js SDK):
 

From d2691081c932c2a7857de88463e0232b83e79b6d Mon Sep 17 00:00:00 2001
From: piyush-nudge <piyush@nudgenow.com>
Date: Wed, 9 Jul 2025 13:36:46 +0530
Subject: [PATCH 044/188] feat: added private and beta flags for docs

---
 src/connections/destinations/catalog/actions-nudge/index.md | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/connections/destinations/catalog/actions-nudge/index.md b/src/connections/destinations/catalog/actions-nudge/index.md
index 93bb95b177..3946ab7c7e 100644
--- a/src/connections/destinations/catalog/actions-nudge/index.md
+++ b/src/connections/destinations/catalog/actions-nudge/index.md
@@ -1,6 +1,8 @@
 ---
 title: Nudge (Actions) Destination
 id: 6863e71f2a1e1ddc4b4612bf
+private: true
+beta: true
 ---
 
 {% include content/plan-grid.md name="actions" %}

From 3f5fe071c73ab5607cb026821af2824204b786eb Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Wed, 9 Jul 2025 12:41:11 +0100
Subject: [PATCH 045/188] Warning removed - Extensible Webhooks now available
 in EU

---
 .../destinations/catalog/actions-webhook-extensible/index.md    | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/connections/destinations/catalog/actions-webhook-extensible/index.md b/src/connections/destinations/catalog/actions-webhook-extensible/index.md
index da2f29b77e..a9846e2771 100644
--- a/src/connections/destinations/catalog/actions-webhook-extensible/index.md
+++ b/src/connections/destinations/catalog/actions-webhook-extensible/index.md
@@ -8,8 +8,6 @@ redirect_from: '/connections/destinations/catalog/extensible-webhook/'
 
 Segment's Extensible Webhook destination lets you send custom data payloads to any webhook endpoint. With support for flexible payload configuration, multiple authentication methods, and real-time data flow, Extensible Webhooks can help you integrate with internal systems or tools not covered by Segment’s standard destinations.
 
-This destination is not currently available in EU regions. 
-
 Segment maintains this destination. For any issues, [contact Segment Support](friends@segment.com). 
 
 ## Overview

From c71630e04bec9f54e3863528635156cb772a3f22 Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Wed, 9 Jul 2025 10:30:01 -0400
Subject: [PATCH 046/188] ortto slug

---
 src/_data/catalog/slugs.yml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/_data/catalog/slugs.yml b/src/_data/catalog/slugs.yml
index b8f945317b..0403ffa935 100644
--- a/src/_data/catalog/slugs.yml
+++ b/src/_data/catalog/slugs.yml
@@ -325,4 +325,6 @@ destinations:
     override: "ninetailed"
   - original: "topsort"
     override: "actions-topsort"
+  - original: "ortto-actions"
+    override: "actions-ortto"
 

From 7f3ea2f8a54cf9ca4de63f17b66f3a5dce1f6a81 Mon Sep 17 00:00:00 2001
From: maleman842 <79479130+maleman842@users.noreply.github.com>
Date: Wed, 9 Jul 2025 08:44:19 -0700
Subject: [PATCH 047/188] Update src/api/public-api/query-language.md

Co-authored-by: Sharon Adewusi <sadewusi@twilio.com>
---
 src/api/public-api/query-language.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/api/public-api/query-language.md b/src/api/public-api/query-language.md
index d98e28bddc..202171751f 100644
--- a/src/api/public-api/query-language.md
+++ b/src/api/public-api/query-language.md
@@ -62,7 +62,7 @@ The following tables list the query languages's available functions.
 | Syntax      | `trait({s: String})` <br> `s` - the name of the trait to reference                                  |
 | Return Type | `ScalarExtractor`                                                                                   |
 | Description | Similar to the event operator, the trait operator is used to specify profile trait filter criteria. |
-| Notes       | You can reference other audiences by using the audience key as the trait name. Also note that inclusion of a `.` signifies traversal through nested structures. If the trait name contains a literal dot, it must be escaped using `\\\\`                                              |
+| Notes       | You can reference other audiences by using the audience key as the trait name. The `.` character indicates traversal through nested structures. If the trait name contains a literal period (`.`), it must be escaped using `\\\\`.                                              |
 | Example     | `trait('total_spend')`                                                                              |
 
 | `entity`     |                                                                                                    |

From 9552e8f8221d9808dcca6fb9155b9809817a5599 Mon Sep 17 00:00:00 2001
From: maleman842 <79479130+maleman842@users.noreply.github.com>
Date: Wed, 9 Jul 2025 08:44:29 -0700
Subject: [PATCH 048/188] Update src/api/public-api/query-language.md

Co-authored-by: Sharon Adewusi <sadewusi@twilio.com>
---
 src/api/public-api/query-language.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/api/public-api/query-language.md b/src/api/public-api/query-language.md
index 202171751f..6cc60533d4 100644
--- a/src/api/public-api/query-language.md
+++ b/src/api/public-api/query-language.md
@@ -77,7 +77,7 @@ The following tables list the query languages's available functions.
 | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
 | Syntax      | `property({s: String})` <br> `s` - the name of the property to build an extractor for  <br> In the context of funnel audiences, you can add a parent prefix to reference the parent event. <br> `property(parent: {s: String})` |
 | Return Type | `ScalarExtractor`                                                                                                                                                                                                               |
-| Notes       | Only valid within a `where` function or a Reducer. Also note that inclusion of a `.` signifies traversal through nested structures. If the property name contains a literal dot, it must be escaped using `\\\\`                |
+| Notes       | Only valid within a `where` function or a Reducer. The `.` character indicates traversal through nested structures. If the trait name contains a literal period (`.`), it must be escaped using `\\\\`.                 |
 | Example     | `property('total')`                                                                                                                                                                                                             |
 
 | `context`   |                                                                                     |

From 7929f634b5470a5e1476b97f4d643db96729097d Mon Sep 17 00:00:00 2001
From: maleman842 <79479130+maleman842@users.noreply.github.com>
Date: Wed, 9 Jul 2025 08:44:38 -0700
Subject: [PATCH 049/188] Update src/api/public-api/query-language.md

Co-authored-by: Sharon Adewusi <sadewusi@twilio.com>
---
 src/api/public-api/query-language.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/api/public-api/query-language.md b/src/api/public-api/query-language.md
index 6cc60533d4..767e23d22a 100644
--- a/src/api/public-api/query-language.md
+++ b/src/api/public-api/query-language.md
@@ -91,7 +91,7 @@ The following tables list the query languages's available functions.
 | -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
 | Syntax                           | `literal({a: Any})`  <br> `a` - the value to treat as a literal expression                                                                                                                                                                      |
 | Operations allowed in call-chain | None allowed; typically used within another function, like a comparison (with syntactic sugar, this would appear on the right side of the comparison). The outer function or comparison dictates the operations allowed in the call-chain. |
-| Notes                            | Literals can be `int`s, `float`s, `string`s, `date`s or `timestamp`s, where `date`s use the format `yyyy-mm-dd` and `timestamp`s follow ISO 8601 format. Note that in general `string` is interchangeable with all other formats, except when used in a `property` chained to an `entity`. In this case, we recommend matching the data type of the entity property being targeted.                                             |
+| Notes                            | Literals can be `int`, `float`, `string`, `date` or `timestamp`, where `date` uses the format `yyyy-mm-dd` and `timestamp` follows the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601){:target="_blank"} format. `string` is generally interchangeable with all other formats, except when used in a `property` chained to an `entity`. In this case, Segment recommends matching the data type of the entity property being targeted.                                             |
 | Example                          | `literal(100)` or `literal('value')` or `literal(2022-10-17T00:00:00)`                                                                                                                                                                          |
 
 

From b83273b4c45b6efd0197f63c3283be30262abe78 Mon Sep 17 00:00:00 2001
From: maleman842 <79479130+maleman842@users.noreply.github.com>
Date: Wed, 9 Jul 2025 08:44:44 -0700
Subject: [PATCH 050/188] Update src/api/public-api/query-language.md

Co-authored-by: Sharon Adewusi <sadewusi@twilio.com>
---
 src/api/public-api/query-language.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/api/public-api/query-language.md b/src/api/public-api/query-language.md
index 767e23d22a..f899cbb17a 100644
--- a/src/api/public-api/query-language.md
+++ b/src/api/public-api/query-language.md
@@ -92,7 +92,7 @@ The following tables list the query languages's available functions.
 | Syntax                           | `literal({a: Any})`  <br> `a` - the value to treat as a literal expression                                                                                                                                                                      |
 | Operations allowed in call-chain | None allowed; typically used within another function, like a comparison (with syntactic sugar, this would appear on the right side of the comparison). The outer function or comparison dictates the operations allowed in the call-chain. |
 | Notes                            | Literals can be `int`, `float`, `string`, `date` or `timestamp`, where `date` uses the format `yyyy-mm-dd` and `timestamp` follows the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601){:target="_blank"} format. `string` is generally interchangeable with all other formats, except when used in a `property` chained to an `entity`. In this case, Segment recommends matching the data type of the entity property being targeted.                                             |
-| Example                          | `literal(100)` or `literal('value')` or `literal(2022-10-17T00:00:00)`                                                                                                                                                                          |
+| Example                          | `literal(100)`, `literal('value')`, or `literal(2022-10-17T00:00:00)`                                                                                                                                                                          |
 
 
 

From 5c74d0b1f99b1b0abcb748714654c3aeadb55f93 Mon Sep 17 00:00:00 2001
From: maleman842 <79479130+maleman842@users.noreply.github.com>
Date: Wed, 9 Jul 2025 08:44:50 -0700
Subject: [PATCH 051/188] Update src/api/public-api/query-language.md

Co-authored-by: Sharon Adewusi <sadewusi@twilio.com>
---
 src/api/public-api/query-language.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/api/public-api/query-language.md b/src/api/public-api/query-language.md
index f899cbb17a..62e7f893a7 100644
--- a/src/api/public-api/query-language.md
+++ b/src/api/public-api/query-language.md
@@ -291,7 +291,7 @@ The following tables list the query languages's available functions.
 | ------------- | ---------------------------------------------------------------------------- |
 | Syntax        | `before_date({t: Timestamp})`<br>`t` - ISO 8601 timestamp                    |
 | Return Type   | `Comparator`                                                                 |
-| Notes         | `string` format can also be use                                              |
+| Notes         | `string` format can also be used                                              |
 | Example       | `before_date(2023-12-07T18:50:00Z)` or `before_date('2023-12-07T18:50:00Z')` |
 
 | `after_date` |                                                                            |

From 4fceccca294fc530f8ab11318cbfc2bfbe95fa91 Mon Sep 17 00:00:00 2001
From: maleman842 <79479130+maleman842@users.noreply.github.com>
Date: Wed, 9 Jul 2025 08:44:56 -0700
Subject: [PATCH 052/188] Update src/api/public-api/query-language.md

Co-authored-by: Sharon Adewusi <sadewusi@twilio.com>
---
 src/api/public-api/query-language.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/api/public-api/query-language.md b/src/api/public-api/query-language.md
index 62e7f893a7..9ca126196b 100644
--- a/src/api/public-api/query-language.md
+++ b/src/api/public-api/query-language.md
@@ -298,7 +298,7 @@ The following tables list the query languages's available functions.
 | ------------ | -------------------------------------------------------------------------- |
 | Syntax       | `after_date({t: Timestamp})`<br>`t` - ISO 8601 timestamp                   |
 | Return Type  | `Comparator`                                                               |
-| Notes        | `string` format can also be use                                            |
+| Notes        | `string` format can also be used                                           |
 | Example      | `after_date(2023-12-07T18:50:00Z)` or `after_date('2023-12-07T18:50:00Z')` |
 
 | `within_last` |                                                                                                                                                                                               |

From 85a20ab41c5c38d7fae8026552f64e36f139b228 Mon Sep 17 00:00:00 2001
From: maleman842 <79479130+maleman842@users.noreply.github.com>
Date: Wed, 9 Jul 2025 08:45:13 -0700
Subject: [PATCH 053/188] Update src/api/public-api/query-language.md

Co-authored-by: Sharon Adewusi <sadewusi@twilio.com>
---
 src/api/public-api/query-language.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/api/public-api/query-language.md b/src/api/public-api/query-language.md
index 9ca126196b..3aa8325130 100644
--- a/src/api/public-api/query-language.md
+++ b/src/api/public-api/query-language.md
@@ -494,7 +494,7 @@ ANY event('Shoes Bought').count() >= 1
 
 #### Associated with Orders that have an association to Order Products
 
-This example collects all users which have at least 1 association to an `orders` entity where the `orders` entity has at least 1 association to an  `order-products` entity:
+This example collects all users who have at least 1 association to an `orders` entity where the `orders` entity has at least 1 association to an  `order-products` entity:
 
 ```sql
 entity('orders').where(entity('order-products').count() >= 1).count() >= 1

From 272c282482424e40c08364804e8ee2143fcce159 Mon Sep 17 00:00:00 2001
From: maleman842 <79479130+maleman842@users.noreply.github.com>
Date: Wed, 9 Jul 2025 08:45:21 -0700
Subject: [PATCH 054/188] Update src/api/public-api/query-language.md

Co-authored-by: Sharon Adewusi <sadewusi@twilio.com>
---
 src/api/public-api/query-language.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/api/public-api/query-language.md b/src/api/public-api/query-language.md
index 3aa8325130..9b60bf4054 100644
--- a/src/api/public-api/query-language.md
+++ b/src/api/public-api/query-language.md
@@ -502,7 +502,7 @@ entity('orders').where(entity('order-products').count() >= 1).count() >= 1
 
 #### Associated to Orders or is a VIP user
 
-This example collects all users which have at least 1 association to an `order` entity or have a `VIP` trait equal to true:
+This example collects all users who have at least 1 association to an `order` entity or have a `VIP` trait equal to true:
 
 ```sql
 entity('orders').count() >= 1 OR trait('VIP') = 'true'

From 6b0483ea089c302c6b04afd79ca40a8b20bca768 Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Wed, 9 Jul 2025 17:52:55 +0100
Subject: [PATCH 055/188] Suggested Mapping T&Cs added + update to destination
 action set up

---
 src/connections/destinations/actions.md | 215 ++++++++++++------------
 1 file changed, 111 insertions(+), 104 deletions(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index 68dd8bef64..322eb4cfe6 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -3,19 +3,22 @@ title: Destination Actions
 plan: dest-actions
 ---
 
-The Destination Actions framework improves on classic destinations by enabling you to see and control how Segment sends the event data it receives from your sources, to actions-based destinations. Each Action in a destination lists the event data it requires, and the event data that is optional.
+The Destination Actions framework improves on classic destinations by enabling you to see and control how Segment sends the event data it receives from your sources to actions-based destinations. Each Action in a destination lists the event data it requires, and the event data that is optional.
 
-You can also choose which event types, event names, or event property values trigger an Action. These Triggers and mappings make it possible to send different versions of the Action, depending on the context from which it is triggered.
+You can also choose which event types, event names, or event property values trigger an Action. These Triggers and Mappings make it possible to send different versions of the Action, depending on the context from which it is triggered.
 
-Each Actions-framework Destination you see in the Segment catalog represents a feature or capability of the destination which can consume data from your Segment source. The Action clearly lists which data from the events it requires, and which data is optional. For example, Amplitude requires that you always send a  `LogEvent` , or Slack always requires a `PostMessage`.  Each Action also includes a default mapping which you can modify.
+Each Actions-framework Destination you see in the Segment catalog represents a feature or capability of the destination which can consume data from your Segment source. The Action clearly lists which data from the events it requires and which data is optional. For example, [Amplitude](/docs/connections/destinations/catalog/actions-amplitude) requires that you always send a  `LogEvent` and [Slack](/docs/connections/destinations/catalog/actions-slack) always requires a `PostMessage`.  Each Action also includes a default mapping which you can modify.
 
 ## Benefits of Destination Actions
 
-- **Easier setup**: Users see fewer initial settings which can decrease the time spent configuring the destination.
-- **Increased transparency**: Users can see the exact data that is sent to the destination, and when Segment sends it. For example, users can see exactly when Segment sends an IP address to FullStory or an AnonymousId to Amplitude.
-- **Improved customization**: Users can determine how the events their sources trigger and map to actions supported by the destination. For example, define the exact events that are considered purchases by Braze.
+The advantages of using Destination Actions include: 
+
+- **Easier setup**: Fewer initial settings which can decrease the time spent configuring the destination.
+- **Increased transparency**: You can see the exact data that is sent to the destination and when Segment sends it. For example, users can see exactly when Segment sends an IP address to [FullStory](https://www.fullstory.com/){:target="_blank"} or an AnonymousId to Amplitude.
+- **Improved customization**: You can determine which events from your sources trigger actions, and map the events to destination-supported actions. For example, you can define exactly which events are considered purchases by [Braze](https://www.braze.com/){:target="_blank"}.
 - **Partner ownership**: Partners can own and contribute to any Actions-based destination that use cloud and device mode (web).
 
+
 ## Available Actions-based Destinations
 
 The following Actions-based Destinations are available:
@@ -24,24 +27,25 @@ The following Actions-based Destinations are available:
 
 ## Destination Actions compatibility
 
-- Destination Actions are available to all customers on all Segment plans.
-- Destination Actions do not require that you disable or change existing destinations. However, to prevent data duplication in the destination tool, you should make sure you aren't sending the data through both a standard destination and the Actions destination at the same time.
-- You can still use the [Event Tester](/docs/connections/test-connections) with Destination Actions, and event delivery metrics are still collected and available in the destination information pages.
-- If you are using Protocols, Destination Actions actions are applied *after* [schema filters](/docs/protocols/enforce/schema-configuration/) and [transformations](/docs/protocols/transform/). If you are using [destination filters](/docs/connections/destinations/destination-filters/), Actions are applied after the filters - meaning that they are not applied to data that is filtered out.
-- Destination Actions can not yet be accessed or modified using the Segment APIs.
+Destination Actions are available to all customers on all Segment plans. You do not need to disable or change existing destinations to use Destination Actions. However, to prevent data duplication in the destination tool, ensure that you are not sending data through both a standard destination and the Actions destination at the same time.
+
+- You can use the [Event Tester](/docs/connections/test-connections) with Destination Actions. Event delivery metrics are collected and available in the destination information pages.
+- If you are using [Protocols](/docs/protocols/), Destination Actions actions are applied **after** [schema filters](/docs/protocols/enforce/schema-configuration/) and [transformations](/docs/protocols/transform/). 
+- If you are using [Destination Filters](/docs/connections/destinations/destination-filters/), Actions are applied after the filters. They are not applied to data that is filtered out.
+- Destination Actions can not be accessed or modified using the Segment APIs yet.
 
 ## Components of a Destination Action
 
-A Destination Action contains a hierarchy of components, that work together to ensure the right data is sent to the destination.
+A Destination Action contains a hierarchy of components that work together to ensure the right data is sent to the destination.
 
 | Component       | Description                                                                                                                                                                                                                                                                                                                                                                                             |
 | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
 | Global Settings | Define authentication and connection-related information like API and Secret keys.                                                                                                                                                                                                                                                                                                                      |
-| Mappings        | Handle the individual calls to the destination. In them, you define what type of call you want to make to the destination, and what Triggers that call. Individual Destination Actions may come enabled with some predefined mappings to handle common events like Screen calls, Identify calls, and Track calls. Mappings have two components that make this possible: **Triggers** and an **Action**. |
-| Triggers        | Enable you to define *when* the corresponding Action fires. As part of a Trigger, you can use condition-based filters to narrow the scope of the Trigger. Triggers don't support matching on event fields containing `.$` or `.$.`, which reference an array type. <br /> <br /> Self-service users can add a maximum of two conditions per Trigger. |
-| Actions         | Determine the information sent to the destination. In the Configure action section, you map the fields that come from your source, to fields that the destination expects to find. Fields on the destination side depend on the type of action selected. |
+| Mappings        | Handle the individual calls to the destination. In them, you define what type of call you want to make to the destination and what triggers that call. Individual Destination Actions may come enabled with some predefined mappings to handle common events like Screen calls, Identify calls, and Track calls. Mappings have 2 components that make this possible: **Triggers** and an **Action**. |
+| Triggers        | Allow you to define when the corresponding Action fires. As part of a Trigger, you can use condition-based filters to narrow the scope of the Trigger. Triggers don't support matching on event fields containing `.$` or `.$.`, which reference an array type. <br /> <br /> Self-service users can add a maximum of 2 conditions per Trigger. |
+| Actions         | Determine the information sent to the destination. In the **Configure action** section, you map the fields that come from your source to fields that the destination expects to find. Fields on the destination-side depend on the type of action selected. |
 
-For example, in the Amplitude (Actions) destination, you define your API and Secret keys in the destination's global settings. Then, the provided Page Calls mapping:
+For example, in the Amplitude (Actions) destination, you define your API and Secret keys in the destination's global settings. Then the provided Page Calls mapping:
 
 1. Triggers the action on all incoming Page events.
 2. Runs the Log Event action, to map your incoming data to Amplitudes properties.
@@ -49,58 +53,59 @@ For example, in the Amplitude (Actions) destination, you define your API and Sec
 
 ## Set up a destination action
 
-To set up a new Actions-framework destination for the first time:
+To set up a new Actions-framework destination:
 
-1. Log in to the Workspace where you want to add the new destination, go to the Catalog page, and click the Destinations tab. (You can also get to this screen by clicking **Add Destination**  either from an existing Source, or from your list of existing destinations.)
-2. Click the **Destination Actions** category in the left navigation, then click the destination you want to add.
-3. From the preview screen that appears, click **Configure**.
-4. If prompted, select the source you want to connect to the new destination.
-5. Enter your credentials. This could be an API Key and secret key, or similar information that allows the destination to connect to your account.
-6. Next, choose how you want to set up the destination, and click **Configure Actions**.
-   * You can choose **Quick Setup** to use the default mappings, or choose **Customized Setup** (if available) to create new mappings and conditions from a blank state. You can always edit these mappings later.
-   * *(Optional)* Click **Suggest Mappings** to get suggested mappings. Learn more about [suggested mappings](#suggested-mappings).
-7. Once you're satisfied with your mappings, click **Create Destination**.
+1. Log in to the Segment Workspace you want to add your destination to. Go to the **Connections > Catalog** page and click the **Destinations** tab. You can also click **Add Destination** either from an existing Source or from your list of existing destinations.
+2. Select the **Destination Actions** category and select the destination you want to add.
+3. Click **Add destination** and configure your destination, selecting the source you want to connect to the new destination.
+4. Enter your credentials in the **Settings** of your new destination. This could be an API Key and Secret Key, or similar information that allows the destination to connect to your account.
+5. Next, go to **Mappings** to configure Actions. Add new mappings and select the Action you would like to use. 
+   * **(Optional)** Click **Suggest Mappings** to get suggested mappings. Learn more about [suggested mappings](#suggested-mappings).
+6. Once you're satisfied with your mappings, click **Save and enable**.
 
-> info ""
-> You must configure and enable at least one mapping to handle a connected source's event(s) in an Actions-framework destination in order for data to send downstream. 
-> Events send downstream in the order in which they appear in the mappings UI. There is no mechanism through which you can control the order of events that send to the downstream destinations outside of that. 
+You must configure and enable at least 1 mapping to handle a connected source's event(s) in an Actions-framework destination for data to flow downstream. 
+Events flow downstream in the order in which they appear in the mappings UI. There is no mechanism available where you can control the order of events sent to the downstream destinations. 
 
 ## Migrate a classic destination to an actions-based destination
 
-Moving from a classic destination to an actions-based destination is a manual process. Segment recommends that you follow the procedure below:
+Moving from a classic destination to an actions-based destination is a manual process. Segment recommends that you use the following steps to do this:
 
 1. Create the actions-based destination with your development or test source.
 2. Copy API keys, connection details, and other settings from the classic destination to the actions-based destination.
-3. Refer to the actions-based destination's documentation for information about migrating specific settings.
-4. Disable the classic version of the destination, and enable the actions-based version.
+3. Refer to the actions-based destination's documentation for information about how to migrate specific settings.
+4. Disable the classic version of the destinatio  and enable the actions-based version.
 5. Verify that data is flowing from the development or test source to the partner tool.
-6. Repeat the steps above with your production source.
+6. Repeat steps 1-5 with your production source.
 
 ### Migrate your destination filters from the classic destination to the actions destination
 
 > warning ""
-> You can only migrate your destination filters using the Public API if you're on the business tier plan. This functionality isn't available in the Segment app. 
+> You can only migrate your destination filters using the Public API if you are on the Segment Business Tier plan. This functionality isn't available in the Segment app. 
 
 To migrate your destination filters to your actions destination from the classic destination: 
 1. Send a request to the Public API endpoint. 
-     - Use [List Filters from Destination](https://docs.segmentapis.com/tag/Destination-Filters#operation/listFiltersFromDestination){:target="_blank"} . The `destinationId` can be found in the URL while viewing the destination in your Segment workspace.
+     - Use [List Filters from Destination](https://docs.segmentapis.com/tag/Destination-Filters#operation/listFiltersFromDestination){:target="_blank"}. You can find `destinationId` in the page URL while viewing the destination in your Segment workspace.
 2. Grab the response and parse through the `data.filters` object. Each object returned inside the `data.filters` object is an individual filter associated with the specified destination.
 4. Send individual `POST` requests to the Public API endpoint.
-     - Use [Create Filter for Destination](https://docs.segmentapis.com/tag/Destination-Filters/#operation/createFilterForDestination){:target="_blank"} , for each of the filters from step 2. 
-     - Specify the Actions `destinationId`, found in the URL when viewing that destination. The body of the request is the individual filters from step 2.
+     - Use [Create Filter for Destination](https://docs.segmentapis.com/tag/Destination-Filters/#operation/createFilterForDestination){:target="_blank"}, for each of the filters from step 2. 
+     - Specify the Actions `destinationId`, found in the URL of that destination. The body of the request is the individual filters from step 2.
 6. If the bodies of those requests don't already include the field `"enabled": true`, make sure to enable each of those filters after you create them.
 
 ### Migrate to an actions-based destination using Destination Filters
-For a more comprehensive migration from a classic destination to an actions-based destination, follow the steps outlined below. This implementation strategy is only available for customers on a Segment Business Tier plan with access to [Destination Filters](/docs/connections/destinations/destination-filters/). By adding additional line of defense with Destination Filters, you remove the possibility of duplicate events or dropped events and ensure that events sent before/after a specified `received_at` timestamp are sent to each destination.
+For a more comprehensive migration from a classic destination to an actions-based destination, use [Destination Filters](/docs/connections/destinations/destination-filters/). This implementation strategy is only available to customers on a Segment Business Tier plan with access to Destination Filters. By adding an extra line of defense with Destination Filters, you reduce the chance of duplicate events or dropped events and ensure that only events sent before or after a specified `received_at` timestamp are sent to each destination.
+
+This approach involves configuring a destination filter on both the Classic and Actions destinations. 
+1. Configure the classic destination filter to block events by the `received_at` field with a certain value.
+2. Set up the Actions destination to drop events until the `received_at` timestamp field reaches that same value.
 
-This migration strategy involves configuring a destination filter on both the Classic destination and the Actions destination. Configure the classic destination filter to block events by the `received_at` field with a certain value, and the Actions destination to drop events until the `received_at` timestamp field reaches that same value. Destination Filters within the UI have a limitation where they cannot access any top-level fields, but this is not a limitation for [Destination Filters](https://docs.segmentapis.com/tag/Destination-Filters/){:target="_blank”} created by the [Public API](https://segment.com/docs/api/public-api/){:target="_blank”} using [FQL](https://segment.com/docs/api/public-api/fql/){:target="_blank”}. Because the `received_at` is a top-level field in the payload, you'll need to create a destination filter with the Public API and submit the request with that FQL information described below.
+While Destination Filters within the UI cannot access any top-level fields, such as `received_at`, this is not a limitation for [Destination Filters](https://docs.segmentapis.com/tag/Destination-Filters/){:target="_blank”} created by the [Public API](/docs/api/public-api/) using [Filter Query Language (FQL)](/docs/api/public-api/fql/). Since `received_at` is a top-level field in the payload, you need to create a destination filter with the Public API and submit the request with that FQL information described below.
 
-By combining these Filters, Segment sends events through the Classic integration up until a specified time and then blocks events after that time. Then the Actions integration blocks events until that specified time, and only allows events beginning at that specified time.
+By combining these Filters, Segment sends events through the Classic integration up until a specified time and then blocks events after that. The Actions integration then blocks events until that specified time and only allows events beginning at that specified time.
 
 The following code samples show you how you can create filters for your destinations using the [Create Filter for Destination](https://docs.segmentapis.com/tag/Destination-Filters#operation/createFilterForDestination){:target="_blank”} Public API operation.
 
 #### Classic destination
-_Endpoint_: `POST` `https://api.segmentapis.com/destination/classic_destination_id_from_url/filters`
+Endpoint: `POST` `https://api.segmentapis.com/destination/classic_destination_id_from_url/filters`
 ``` 
 // JSON BODY : 
 {
@@ -119,7 +124,7 @@ _Endpoint_: `POST` `https://api.segmentapis.com/destination/classic_destination_
 ```
 
 #### Actions destination
-_Endpoint_: `POST` `https://api.segmentapis.com/destination/actions_destination_id_from_url/filters`
+Endpoint: `POST` `https://api.segmentapis.com/destination/actions_destination_id_from_url/filters`
 ```
 // JSON BODY :
 {
@@ -137,7 +142,7 @@ _Endpoint_: `POST` `https://api.segmentapis.com/destination/actions_destination_
 }
 ```
 
-After configuring the Destination Filter on both the Classic and Actions destination, see each destination's Filters tab and enable the filters. After completing the migration, you can disable the Classic destination on the Settings page, and remove each of the filters from both destinations.
+After configuring the Destination Filter on both the Classic and Actions destination, go to each destination's **Filters** tab and enable the filters. After completing the migration, you can disable the Classic destination on the Settings page and remove each of the filters from both destinations.
 
 ## Edit a destination action
 You can add or remove, disable and re-enable, and rename individual actions from the Actions tab on the destination's information page in the Segment app. Click an individual action to edit it.
@@ -146,77 +151,74 @@ From the edit screen you can change the action's name and mapping, and toggle it
 
 ![Screenshot of the Mappings table with several enabled mappings](images/actions-list.png)
 
-When an Action is created, it's disabled by default, to ensure that it's only used after being fully configured. To begin sending data through an Action, enable it on the Actions page by selecting the toggle so that it appears blue.
+When an Action is created, it is disabled by default. This ensures that it's only used after being fully configured. To begin sending data through an Action, enable it on the Actions page by clicking the toggle so that it appears blue.
 
 ## Disable a destination action
-If you find that you need to stop an action from running, but don't want to delete it completely, you can click the action to select it, then click the toggle next to the action's name to disable it. This takes effect within minutes, and disables the action until you reenable it.
+If you find that you need to stop an action from running, but don't want to delete it completely, you can select the action and click the toggle next to the action's name to disable it. This takes effect within minutes, and disables the action until you re-enable it.
 
 ## Delete a destination action
-To delete a destination action: click the action to select it, and click **Delete** (the trash can icon).
+To delete a destination action, select the action, click **...** and select **Delete**.
 
 This takes effect within minutes, and removes the action completely. Any data that would have gone to the destination is not delivered. Once deleted, the saved action cannot be restored.
 
 ## Test a destination action
-To test a destination action, follow the instructions in [Event Tester](/docs/connections/test-connections/). You must enable a mapping in order to test the destination. Otherwise, this error occurs: *You may not have any subscriptions that match this event.*
+To test a destination action, follow the instructions outlined in [Event Tester](/docs/connections/test-connections/). You must enable a mapping to test the destination. If a mapping is not enabled, the following error message will appear: `You may not have any subscriptions that match this event.`
 
 You can also test within the mapping itself. To test the mapping:
 1. Navigate to the **Mappings** tab of your destination. 
 2. Select a mapping and click the **...** and select **Edit Mapping**. 
-3. In step 2 of the **Set up mappings** page, click **Load event from source** to add a test event from the source, select **Generate sample event** for Segment to generate a sample event for you, or enter your own event. 
-4. Scroll to step 5 on the page and click **Send test event** to test the mapping and view the response from the destination.
+3. In the "Define event trigger" step, click **Load event from source** to add a test event from the source. You can also select **Generate sample event** which allows Segment to generate a sample event for you, or enter your own event. 
+4. In the "Send test record" step, click **Send test event** to test the mapping and view the response from the destination.
 
 > info "Test Mapping might not return the events you're looking for"
-> Segment only surfaces a small subset of events for the Test Mapping feature and might not always return the event you're looking for. If you'd like to test with a specific event, copy a specific event from your [Source Debugger](/docs/connections/sources/debugger/) and paste it into the **Add test event** interface.
+> Segment only surfaces a small subset of events for the Test Mapping feature and might not always return the event you're looking for. To test with a specific event, copy a specific event from your [Source Debugger](/docs/connections/sources/debugger/) and paste it into the **Add test event** interface.
 
 ## Customize mappings
 
-If you use the default mappings for a destination action, you don't *need* to customize the mapping template for the action. You can edit the fields later if you find that the defaults no longer meet your needs.
+If you use the default mappings for a destination action, you don't need to customize the mapping template for the action. You can edit the fields later if you find that the defaults no longer meet your needs.
 
-> info ""
+> info "Destination limit"
 > Actions-based destinations have a limit of 50 individual mappings.
 
-To create a custom destination action, start from the Actions tab.
-If necessary, click **New Mapping** to create a new, blank action.
+To create a custom destination action, start from the Actions tab. If necessary, click **New Mapping** to create a new action.
 
 1. In the edit panel, define the [conditions](#conditions) under which the action should run.
-2. Test those conditions to make sure that they correctly match an expected event.
-    This step looks for events that match the criteria in the [debugger queue](/docs/connections/sources/debugger/), so you might need to Trigger some events with the expected criteria to test your conditions. You can skip the test step if needed, and re-try it at any time.
+2. Test those conditions to make sure that they correctly match an expected event. This step looks for events that match the criteria in the [debugger queue](/docs/connections/sources/debugger/), so you might need to trigger some events with the expected criteria to test your conditions. You can skip the test step if needed, and re-try it at any time.
 3. Select data models to [enrich your events](/docs/unify/linked-profiles/linked-events/) with.
 4. Set up the data mapping from the Segment format to the destination tool format.
-- You can click the Source field, then select previously configured Enrichments from the Event Properties tab.
-5. Test the mapping with data from a sample event.
-    The edit panel shows you the mapping output in the format for the destination tool. The **Select Object** option sends the entire object from the event, while the **Edit Object** option lets you map each individual property. You can change your mapping as needed and re-test.
+    - You can click the Source field, then select previously configured Enrichments from the Event Properties tab.
+5. Test the mapping with data from a sample event. The edit panel shows you the mapping output in the format for the destination tool. The **Select Object** option sends the entire object from the event, while the **Edit Object** option lets you map each individual property. You can change your mapping as needed and re-test.
 6. When you're satisfied with the mapping, click **Save**. Segment returns you to the Mappings table.
 7. In the Mappings table **Status** column, verify that the **Enabled** toggle is on for the mapping you just customized.
 
-> info ""
-> The required fields for a destination mapping appear automatically. Click the + sign to see optional fields.
+The required fields for a destination mapping appear automatically. Click **+** to see optional fields.
 
-## Suggested mappings
+## Suggested Mappings
 
 > info ""
-> Suggested mappings is fully available for RETL mappings, and is in public beta for event streams and connections. 
+> Suggested Mappings is fully available for RETL mappings, and is in public beta for event streams and connections. 
 
-Segment offers suggested mappings that automatically propose relevant destination fields for both model columns and payload elements. For example, if your model includes a column or payload field named `transaction_amount`, the feature might suggest mapping it to a destination field like `Amount` or `TransactionValue`. This automation, powered by intelligent autocompletion, matches and identifies near-matching field names to streamline the setup. For more information, see [Segment's suggested mappings blogpost](https://segment.com/blog/ai-assisted-magical-mappings/){:target="_blank”} and the [Suggested Mappings Nutrition Label](/docs/connections/reverse-etl/suggested-mappings-nutrition-facts). 
+Segment offers suggested mappings that automatically propose relevant destination fields for both model columns and payload elements. For example, if your model includes a column or payload field named `transaction_amount`, the feature might suggest mapping it to a destination field like `Amount` or `TransactionValue`. This automation, powered by intelligent autocompletion, matches and identifies near-matching field names to streamline the setup. 
 
-> warning ""
-> Review the suggested mappings for accuracy before finalizing them as the suggestions aren't guaranteed to be 100% accurate.
+To use Suggested Mappings, the workspace owner must first accept the Customer AI Terms and Conditions. Ensure that you review the suggested mappings for accuracy before finalizing them as the suggestions are not guaranteed to be 100% accurate.
+
+For more information, see [Segment's Suggested Mappings blogpost](https://segment.com/blog/ai-assisted-magical-mappings/){:target="_blank”} and the [Suggested Mappings Nutrition Label](/docs/connections/reverse-etl/suggested-mappings-nutrition-facts). 
 
 ## Static values
-Segment supports 4 static value types in Destination Actions mappings: string, boolean, number, and null. 
-* To create a string static value, type the string directly into the input field. 
-* To create boolean, number, and null values, use the **Static values** tab to create the appropriate static value based on its type.
+Segment supports 4 static value types in Destination Actions mappings: `string`, `boolean`, `number`, and `null`. 
+* To create a `string` static value, type the string directly into the input field. 
+* To create `boolean`, `number`, and `null` values, use the **Static values** tab to create the appropriate static value based on its type.
 
 ## Functions
 In Destination Actions mappings, functions transform event data before it sends to the destination. This enables custom data handling, such as selecting non-null values or formatting fields.
 
 ### Coalesce function
 
-The coalesce function takes a primary value and uses it if it is available. If the value isn't available, the function uses the fallback value instead. 
+The Coalesce function takes a primary value and uses it if it is available. If the value isn't available, the function uses the fallback value instead. 
 
 ### Case function
 
-The case function allows you to change the casing of a given string value.
+The Case function allows you to change the casing of a given string value.
 
 ### JSON function
 
@@ -224,15 +226,15 @@ The JSON function allows you to convert an object or array to a JSON encoded str
 
 ### Flatten function
 
-The flatten function allows you to flatten a nested object to an object with a depth of 1. Keys are delimited by the configured separator. For example, an object like {a: { b: { c: 1 }, d: 2 } } will be converted to { 'a.b.c': 1, 'a.d': 2 }.
+The Flatten function allows you to flatten a nested object to an object with a depth of 1. Keys are delimited by the configured separator. For example, an object like {a: { b: { c: 1 }, d: 2 } } will be converted to { 'a.b.c': 1, 'a.d': 2 }.
 
 ### Replace function
 
-The replace function allows you to replace a string, integer, or boolean with a new value. You have the option to replace up to two values within a single field.
+The Replace function allows you to replace a `string`, `integer`, or `boolean` with a new value. You have the option to replace up to 2 values within a single field.
 
 ### Concatenate function
 
-To combine 2 values in the event variable field, you can concatenate them using plain text and variables together. For example, to prepend the country code to a phone number, enter `+1{{Phone Number}}`. Segment evaluates this field as a string, so placing text next to a variable automatically concatenates them.
+To combine 2 values in the event variable field, you can concatenate them using plain text and variables together. For example, to prepend the country code to a phone number, enter `+1{{Phone Number}}`. Segment evaluates this field as a `string`, so placing text next to a variable automatically concatenates them.
 
 You can't concatenate event variables and plain text with static values and functions. Adding a static value or function into an input field replaces any previously added event variables and plain text.
 
@@ -241,7 +243,7 @@ You can't concatenate event variables and plain text with static values and func
 ## Conditions
 
 > info ""
-> Self-service users can add a maximum of two conditions per Trigger.
+> Self-service users can add a maximum of 2 conditions per Trigger.
 
 Mapping fields are case-sensitive. The following type filters and operators are available to help you build conditions:
 
@@ -249,8 +251,7 @@ Mapping fields are case-sensitive. The following type filters and operators are
 - **Event name** (`is`, `is not`, `contains`, `does not contain`, `starts with`, `ends with`). Use these filters to find events that match a specific name, regardless of the event type.
 - **Event property** (`is`, `is equals to`, `is not`, `is not equals to`, `less than`, `less than or equal to`, `greater than`, `greater than or equal to`, `contains`,  `does not contain`, `starts with`, `ends with`, `exists`, `does not exist`).  Use these filters to trigger the action only when an event with a specific property occurs. 
 
-    You can specify nested properties using dot notation, for example `context.app.name`. If the property might appear in more than one format or location, you can use an ANY statement and add conditions for each of those formats. For example, you might filter for both `context.device.type = ios`  as well as `context.os.name = "iPhone OS``"`
-    The `does` `not exist` operator matches both a `null` value or a missing property.
+You can specify nested properties using dot notation, for example `context.app.name`. If a property might appear in multiple formats or locations, you can use an `ANY` statement and add conditions for each of those formats. For example, you might filter for both `context.device.type = ios` and `context.os.name = "iPhone OS "`.   The `does not exist` operator matches both a `null` value or a missing property.
 {% comment %}
 
 > info "Valid property and trait values"
@@ -275,20 +276,22 @@ The available operators depend on the property's data type:
 | string or numeric | `is less than`, `is less than or equal to`, `is greater than`, `is greater than or equal to` |
 | boolean           | `is true`, `is false`                                                                        |
 
-You can combine criteria in a single group using **ALL** or **ANY**.  Use an ANY to “subscribe” to multiple conditions. Use ALL when you need to filter for very specific conditions. You can only create one group condition per destination action. You cannot created nested conditions.
+You can combine criteria in a single group using **`ALL`** or **`ANY`**.  Use an `ANY` to “subscribe” to multiple conditions. Use `ALL` when you need to filter for very specific conditions. You can only create one group condition per destination action. You cannot created nested conditions.
 
 > info "Unsupported special characters in trigger fields"
 > Trigger fields don't support double quotes (`"`) or the tilde (`~`) character.
 
-> info "Mapping field limitations"
-> In **destination** fields, you can use dot notation to create nested objects and arrays (for example, `info.name` or `info[0].email`), unless the field is enclosed in double quotes (for example, `"user.email"` creates a literal key, not a nested structure). In **source**, dots are only supported for accessing object keys. Literal strings that include a dot (like `user.email`) aren't supported as property names.
+## Mapping field limitations
+In **destination** fields, you can use dot notation to create nested objects and arrays, such as `info.name` or `info[0].email`. This is not the case if the field is enclosed in double quotes. For example, `"user.email"` creates a literal key, not a nested structure. 
 
-> info "Destination Filters"
-> Destination filters are compatible with Destination Actions. Consider a Destination Filter when:
-> - You need to remove properties from the data sent to the destination
-> - You need to filter data from multiple types of call (for example, Track, Page, and Identify calls)
->
-> If your use case does not match these criteria, you might benefit from using Mapping-level Triggers to match only certain events.
+In **source** fields, dots are only supported for accessing object keys. Literal strings that include a dot, like `user.email`, aren't supported as property names.
+
+## Destination Filters
+Destination Filters are compatible with Destination Actions. Consider a Destination Filter when:
+- You need to remove properties from the data sent to the destination.
+- You need to filter data from multiple types of call, for example, Track, Page, and Identify calls.
+
+If your use case does not match these criteria, you might benefit from using Mapping-level Triggers to match only certain events.
 
 ## Duplicate Mappings
 
@@ -304,38 +307,42 @@ To duplicate your mappings:
 
 Segment creates a disabled mapping with the name "Original Mapping Name (Copy)". You must enable the mapping for data to flow. 
 
+## FAQs and troubleshooting
 
-## FAQ and troubleshooting
+#### Why does a validation error appears when using the Event Tester?
 
-### Validation error when using the Event Tester
+When you send an event with an actions destination Event Tester that doesn't match the trigger of any configured and enabled mappings, an error message that states `You may not have any subscriptions that match this event` will appear. 
 
-When you send an event with an actions destination Event Tester that doesn't match the trigger of any configured and enabled mappings, you'll see an error message that states, *You may not have any subscriptions that match this event.* To resolve the error, create a mapping with a trigger to handle the event being tested, or update the test event's payload to match the trigger of any existing mappings. 
+To resolve the error, create a mapping with a trigger to handle the event being tested, or update the test event's payload to match the trigger of any existing mappings. 
 
-### Data not sending downstream
+#### Why is the data not sending downstream?
 
-If no mappings are enabled to trigger on an event that has been received from the connected source, the destination will not send any events. Ensure that at least one mapping has been configured and enabled in the destination mappings for an event that you would like to reach downstream. 
+If no mappings are enabled to trigger on an event that has been received from the connected source, the destination will not send any events. Ensure that at least 1 mapping has been configured and enabled in the destination mappings for an event that you would like to reach downstream. 
 
 > info ""
 > Events without mappings enabled to handle them display as being discarded due to "No matching mapping" in a destination's Delivery Overview.
 
-### Multiple mappings triggered by the same event
+#### Why are multiple mappings triggered by the same event?
+
+When an event triggers multiple mappings, a request is generated for each mapping configured to trigger on the event. For example, if two mappings are enabled for the `Subscription Updated` event and both mappings have conditions defined to trigger on the 'Subscription Updated' event, two requests will be generated and sent to the destination for each event - one for each mapping.
 
-When the same event triggers multiple mappings, a request will be generated for each mapping that's configured to trigger on an event. For example, for the *Subscription Updated* event, if two mappings are enabled and both have conditions defined to trigger on the *Subscription Updated* event, the two requests will be generated and sent to the destination for each *Subscription Updated* event. 
+#### Why is an OAuth "access token expired" message appearing in Segment?
+Access tokens generated during initial authorization are short-lived, for example, when you connect a destination via OAuth. The token typically remains valid for 30 minutes to 1 hour. When Segment receives a `401 error` response from a destination after a token expires, it will automatically request the destination for a new token and will then retry the event. Therefore, `401` responses are sometimes expected and do not indicate an event failure. There are 3 event flows when events are received and sent to a destination:
 
-### Oauth "access token expired" message shown in Segment UI
-Access Tokens that were generated from initial authorization, for example, when you connect a destination via Oauth, are always short-lived. Commonly, the token remains valid for 30 minutes to 1 hour. When Segment receives 401 error responses from the destination after a token has expired, it will automatically make another request to the destination for a new token and will then retry the event. Therefore, 401 responses are sometimes expected and do not indicate an event failure. There are three event flows when events are received and sent to a destination:
+- through source.
+- through event tester.
+- through actions tester in mapping screen.
 
-- through source 
-- through event tester 
-- through actions tester in mapping screen
+The underlying systems for these flows have their own copy of the token, which can expire at different points in time. If you see a `401` error in a sample response, it is likely that another request was made afterward to fetch a new token. Then one more request was made to actually send the data in your payload to the downstream destination.
 
-The underlying systems for these flows have their own copy of the token, which can expire at different points in time.
-Threfore, if you see a 401 error in a sample response, it is likely that you’ll also see another request was made after it, to ask the downstream destination for a new token. Then one more request was made to actually send the data in your payload to the downstream destination.
+#### Is it possible to map a field from one event to another?
 
-### Is it possible to map a field from one event to another?
+No. Segment integrations process events through mappings individially. This means that no context is held that would allow you to map a value from one event to the field of a subsequent event.
 
-Segment integrations process events through mappings individially. This means that no context is held that would allow you to map a value from one event to the field of a subsequent event. Each event itself must contain all of the data you'd like to send downstream in regards to it. For example, you cannot send `email` in on an Identify call and then access that same `email` field on a Track call that comes in later if that Track call doesn't also have `email` set on it. 
+Each event must include all of the data you'd like to send downstream. For example, you can't send `email` field in an Identify call and then access it later on a Track unless that Track call also includes the `email` field. 
 
-### I'm getting a 'Couldn't load page' error when viewing or editing a mapping
+#### Why do I get a "Couldn't load page" error when viewing or editing a mapping?
 
-This issue can occur due to a browser cache conflict or if an event property name includes a `/`. To resolve it, try clearing your browser cache or accessing the mapping page in an incognito window. Additionally, check if the mapped property name contains a `/`. If it does, rename the property to remove the `/` and update the mapping.
+This error might occur due to a browser cache conflict or if an event property name includes a `/` character. To fix this:
+- Try clearing your browser cache or opening the mapping page in an incognito/ private window.
+- Check whether the mapped property name contains a `/`. If it does, rename the property to remove the `/` and update the mapping.

From 53272cf2e8a1e5c0b73ec89edf0ed63c525a2c92 Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Wed, 9 Jul 2025 17:57:35 +0100
Subject: [PATCH 056/188] Update actions [netlify-build]


From b87bd1d8800b58ded10d0e07be19a26a298650f2 Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Wed, 9 Jul 2025 18:47:44 +0100
Subject: [PATCH 057/188] Added integrations and consent behaviors [DOC-1144]

---
 src/guides/what-is-replay.md | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/src/guides/what-is-replay.md b/src/guides/what-is-replay.md
index 2d29e99b29..31596329c2 100644
--- a/src/guides/what-is-replay.md
+++ b/src/guides/what-is-replay.md
@@ -19,11 +19,11 @@ This means you can send a limited sample of your data to a new tool to test it o
 
 With Replays, you're protected from outages and errors. If a destination which you rely on experiences an outage, or is temporarily unable to accept incoming data, you can use Replays to re-send data to that tool once the service recovers. You can also use Replays to recover from errors caused by misconfigurations in your Segment systems. For example, if you send data in the wrong format, or want to apply [destination filters](/docs/connections/destinations/destination-filters/). In this case, you can change your mapping using a destination filter, clear out the bad data, and replay it to that destination. You can also use this to update the schema in your data warehouse when it changes.
 
-For more information, [Contact us](https://segment.com/help/contact/) and our Success Engineers will walk you through the process.
+For more information, [contact Segment support](https://segment.com/help/contact/).
 
 ## Replays considerations
 
-Replays are currently only available for Business Tier customers, and due to their complex nature are not self-serve. [Contact us](https://segment.com/help/contact/) to learn more, or to request a replay for your workspace. When requesting a replay, include the workspace, the source to replay from, the destination tool or tools, and the time period.
+Replays are currently only available for Business Tier customers, and due to their complex nature are not self-serve. [Contact Segment support](https://segment.com/help/contact/) to learn more, or to request a replay for your workspace. When requesting a replay, include the workspace, the source to replay from, the destination tool or tools, and the time period.
 
 Replays can process unlimited data, but they're rate limited to respect limitations in downstream partner tools. If you're also sending data to the destination being replayed to in real time, then, when determining your replay's limit, you'll want to take into account the rate limit being used by real-time events. You should also account for a small margin of your rate limit to allow events to be retried. 
 
@@ -38,13 +38,19 @@ You can initiate replays for some or all events, but you can't apply conditional
 The destination is not required to be enabled in order for a replay to be successful, including Destination Functions.
 - The destination must be connected to the source, but can remain disabled while the replay is running.
 - Destination filters are still considered when you run replays on disabled destinations.
-- There are a few exceptions for destinations that must be enabled for the replay to be successful : Amazon S3 and Google Cloud Source (GCS).
+- There are a few exceptions for destinations that must be enabled for the replay to be successful: Amazon S3 and Google Cloud Source (GCS).
 
 ### Replay-eligible destinations
 
 Replays are available for any destinations which support cloud-mode data (meaning data routed through Segment) and which also process timestamps. Destinations that are only available in device-mode (meaning where data is sent directly from the users' devices to the destination tool) cannot receive Replays.
 
-Not all destinations support data deduplication, so you may need to delete, archive, or remove any older versions of the data before initiating a replay. [contact Segment support](https://segment.com/help/contact/){:target="_blank"} if you have questions or want help.
+Not all destinations support data deduplication, so you may need to delete, archive, or remove any older versions of the data before initiating a replay. [Contact Segment support](https://segment.com/help/contact/){:target="_blank"} if you have questions or want help.
+
+#### What happens to `integrations` and `consent` objects during a replay?
+
+When Segment replays events, it does not retain the original `integrations` object flag, but it does preserve the `consent` object. 
+
+During replays, Segment replaces the `integrations` object with a structure that includes `All:false` and `[integration name]:true`. As a result, the original 'integrations' flag is removed during replay. However, the replay tool does not overwrite the original `consent` object. If an event was previously dropped for a specific destination due to the `consent` object, the event is dropped within Segment again during replay. 
 
 ### Replays & Destination Filters
 

From 4b9f140b10ffc18e41a64ac921e6b9e6afb678ec Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Wed, 9 Jul 2025 18:50:45 +0100
Subject: [PATCH 058/188] wording tweak

---
 src/connections/destinations/actions.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index 322eb4cfe6..2e0f1e073f 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -339,7 +339,7 @@ The underlying systems for these flows have their own copy of the token, which c
 
 No. Segment integrations process events through mappings individially. This means that no context is held that would allow you to map a value from one event to the field of a subsequent event.
 
-Each event must include all of the data you'd like to send downstream. For example, you can't send `email` field in an Identify call and then access it later on a Track unless that Track call also includes the `email` field. 
+Each event must include all of the data you'd like to send downstream. For example, you can't send an `email` field in an Identify call and then access it later on a Track call unless that Track call also includes the `email` field. 
 
 #### Why do I get a "Couldn't load page" error when viewing or editing a mapping?
 

From 4019716fb3d4c53e7f5c94b3c9c08f6a6f0cf6f0 Mon Sep 17 00:00:00 2001
From: stayseesong <STACY.S.SONG@GMAIL.COM>
Date: Wed, 9 Jul 2025 13:33:43 -0700
Subject: [PATCH 059/188] removed mentions of Azure Data Lakes

---
 .../storage/catalog/data-lakes/index.md       | 324 +-----------------
 src/connections/storage/data-lakes/index.md   |  48 +--
 2 files changed, 6 insertions(+), 366 deletions(-)

diff --git a/src/connections/storage/catalog/data-lakes/index.md b/src/connections/storage/catalog/data-lakes/index.md
index 9d96da8d11..d05220b839 100644
--- a/src/connections/storage/catalog/data-lakes/index.md
+++ b/src/connections/storage/catalog/data-lakes/index.md
@@ -7,9 +7,7 @@ redirect_from:
 {% include content/plan-grid.md name="data-lakes" %}
 
 Segment Data Lakes provide a way to collect large quantities of data in a format that's optimized for targeted data science and data analytics workflows. You can read [more information about Data Lakes](/docs/connections/storage/data-lakes/) and learn [how they differ from Warehouses](/docs/connections/storage/data-lakes/comparison/) in Segment's Data Lakes documentation.
-Segment supports two type of data-lakes:
-- [AWS Data Lakes](/docs/connections/storage/catalog/data-lakes/#set-up-segment-data-lakes)
-- [Segment Data Lakes (Azure)](/docs/connections/storage/catalog/data-lakes/#set-up-segment-data-lakes-azure)
+Segment only supports [AWS Data Lakes](/docs/connections/storage/catalog/data-lakes/#set-up-segment-data-lakes).
 
 > success ""
 > You can also set up your Segment Data Lakes using [Lake Formation](/docs/connections/storage/data-lakes/lake-formation/), a fully managed service built on top of the AWS Glue Data Catalog.
@@ -83,302 +81,6 @@ Replay processing time can vary depending on the volume of data and number of ev
 
 Segment creates a separate EMR cluster to run replays, then destroys it when the replay finishes. This ensures that regular Data Lakes syncs are not interrupted, and helps the replay finish faster.
 
-## Set up Segment Data Lakes (Azure)
-
-To set up Segment Data Lakes (Azure), create your Azure resources and then enable the Data Lakes destination in the Segment app.
-
-### Prerequisites
-
-Before you can configure your Azure resources, you must complete the following prerequisites:
-- [Create an Azure subscription](https://azure.microsoft.com/en-us/free/){:target="_blank”}
-- [Create an Azure resource group](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/manage-resource-groups-portal#create-resource-groups){:target="_blank”}
-- Create an account with `Microsoft.Authorization/roleAssignments/write` permissions
-- Configure the [Azure Command Line Interface (Azure CLI)](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli){:target="_blank”}
-
-### Step 1 - Create an ALDS-enabled storage account
-
-1. Sign in to your [Azure environment](https://portal.azure.com){:target="_blank”}.
-2. From the [Azure home page](https://portal.azure.com/#home){:target="_blank”}, select **Create a resource**.
-3. Search for and select **Storage account**.
-4. On the Storage account resource page, select the **Storage account** plan and click **Create**.
-5. On the **Basic** tab, select an existing subscription and resource group, give your storage account a name, and update any necessary instance details.
-6. Click **Next: Advanced**.
-7. On the **Advanced Settings** tab in the Security section, select the following options:
-  - Require secure transfer for REST API operations
-  - Enable storage account key access
-  - Minimum TLS version: Version 1.2
-8. In the Data Lake Storage Gen2 section, select **Enable hierarchical namespace**. In the Blob storage selection, select the **Hot** option.
-9. Click **Next: Networking**.
-10. On the **Networking** page, select **Disable public access and use private access**.
-11. Click **Review + create**. Take note of your location and storage account name, and review your chosen settings. When you are satisfied with your selections, click **Create**.
-12. After your resource is deployed, click **Go to resource**.
-13. On the storage account overview page, select the **Containers** button in the Data storage tab.
-14. Select **Container**. Give your container a name, and select the **Private** level of public access. Click **Create**.
-
-> warning " "
-> Before continuing, note the Location, Storage account name, and the Azure storage container name: you'll need this information when configuring the Segment Data Lakes (Azure) destination in the Segment app.
-
-### Step 2 - Set up Key Vault
-
-1. From the [home page of your Azure portal](https://portal.azure.com/#home){:target="_blank”}, select **Create a resource**.
-2. Search for and select **Key Vault**.
-3. On the Key Vault resource page, select the **Key Vault** plan and click **Create**.
-4. On the **Basic** tab, select an existing subscription and resource group, give your Key Vault a name, and update the **Days to retain deleted vaults** setting, if desired.
-5. Click **Review + create**.
-6. Review your chosen settings. When you are satisfied with your selections, click **Review + create**.
-7. After your resource is deployed, click **Go to resource**.
-8. On the Key Vault page, select the **Access control (IAM)** tab.
-9. Click **Add** and select **Add role assignment**.
-10. On the **Roles** tab, select the `Key Vault Secrets User` role. Click **Next**.
-11. On the **Members** tab, select a **User, group, or service principal**.
-12. Click **Select members**.
-13. Search for and select the `Databricks Resource Provider` service principal.
-14. Click **Select**.
-15. Under the **Members** header, verify that you selected the Databricks Resource Provider. Click **Review + assign**.
-
-### Step 3 - Set up Azure MySQL database
-
-1. From the [home page of your Azure portal](https://portal.azure.com/#home){:target="_blank”}, select **Create a resource**.
-2. Search for and select **Azure Database for MySQL**.
-3. On the Azure Database for MySQL resource page, select the **Azure Database for MySQL** plan and click **Create**.
-4. Select **Single server** and click **Create**.
-5. On the **Basic** tab, select an existing subscription and resource group, enter server details and create an administrator account. Due to the configurations required for the setup, Data Lakes supports MySQL version **5.7** only. Before you proceed, please ensure you have the correct MySQL server version selected. 
-6. Click **Review + create**.
-7. Review your chosen settings. When you are satisfied with your selections, click **Create**.
-8. After your resource is deployed, click **Go to resource**.
-9. From the resource page, select the **Connection security** tab.
-10. Under the Firewall rules section, select **Yes** to allow access to Azure services, and click the **Allow current client IP address (xx.xxx.xxx.xx)** button to allow access from your current IP address.
-11. Click **Save** to save the changes you made on the **Connection security** page, and select the **Server parameters** tab.
-12. Update the `lower_case_table_names` value to 2, and click **Save**.
-13. Select the **Overview** tab and click the **Restart** button to restart your database. Restarting your database updates the `lower_case_table_name` setting.
-14. Once the server restarts successfully, open your Azure CLI.
-15. Sign into the MySQL server from your command line by entering the following command:
-  ```curl
-  mysql --host=/[HOSTNAME] --port=3306 --user=[USERNAME] --password=[PASSWORD]
-  ```
-16. Run the `CREATE DATABASE` command to create your Hive Metastore:
-  ```sql
-  CREATE DATABASE <name>;
-  ```
-
-> warning " "
-> Before continuing, note the MySQL server URL, username and password for the admin account, and your database name: you'll need this information when configuring the Segment Data Lakes (Azure) destination in the Segment app.
-
-
-### Step 4 - Set up Databricks
-
-> info "Databricks pricing tier"
-> If you create a Databricks instance only for Segment Data Lakes (Azure) usage, only the standard pricing tier is required. However, if you use your Databricks instance for other applications, you may require premium pricing.
-
-1. From the [home page of your Azure portal](https://portal.azure.com/#home){:target="_blank”}, select **Create a resource**.
-2. Search for and select **Azure Databricks**.
-3. On the Azure Database for MySQL resource page, select the **Azure Databricks** plan and click **Create**.
-4. On the **Basic** tab, select an existing subscription and resource group, enter a name for your workspace, select the region you'd like to house your Databricks instance in, and select a pricing tier. For those using the Databricks instance only for Segment Data Lakes (Azure), a Standard pricing tier is appropriate. If you plan to use your Databricks instance for more than just Segment Data Lakes (Azure), you may require the premium pricing tier.
-5. Click **Review + create**.
-6. Review your chosen settings. When you are satisfied with your selections, click **Create**.
-7. After your resource is deployed, click **Go to resource**.
-8. On the Azure Databricks Service overview page, click **Launch Workspace**.
-9. On the Databricks page, select **Create a cluster**.
-10. On the Compute page, select **Create Cluster**.
-11. Enter a name for your cluster and select the `Standard_DS4_v2` worker type. Set the minimum number of workers to 2, and the maximum number of workers to 8. __Segment recommends deselecting the "Terminate after X minutes" setting, as the time it takes to restart a cluster may delay your Data Lake syncs.__
-12. Click **Create Cluster**.
-13. Open [your Azure portal](https://portal.azure.com/#home){:target="_blank”} and select the Key Vault you created in a previous step.
-14. On the Key Vault page, select the JSON View link to view the Resource ID and vaultURI. Take note of these values, as you'll need them in the next step to configure your Databricks instance.
-15. Open `https://<databricks-instance>#secrets/createScope` and enter the following information to connect your Databricks instance to the Key Vault you created in an earlier step:
-  - **Scope Name**: Set this value to `segment`.
-  - **Manage Principal**: Select **All Users**.
-  - **DNS Name**: Set this value to the Vault URI of your Key Vault instance.
-  - **Resource ID**: The Resource ID of your Azure Key Vault instance.
-16. When you've entered all of your information, click **Create**.
-
-> warning " "
-> Before continuing, note the Cluster ID, Workspace name, Workspace URL, and the Azure Resource Group for your Databricks Workspace: you'll need this information when configuring the Segment Data Lakes (Azure) destination in the Segment app.
-
-### Step 5 - Set up a Service Principal
-
-1. Open the Databricks instance you created in [Step 4 - Set up Databricks](#step-4---set-up-databricks).
-2. Click **Settings** and select **User settings**.
-3. On the Access tokens page, click **Generate new token**.
-4. Enter a comment for your token, select the lifetime of your ticket, and click **Generate**.
-5. Copy your token, as you'll use this to add your service principal to your workspace.
-6. Open your Azure CLI and create a new service principal using the following commands: <br/>
-``` powershell
-az login
-az ad sp create-for-rbac --name <ServicePrincipalName>
-```
-7. In your Azure portal, select the Databricks instance you created in [Step 4 - Set up Databricks](#step-4---set-up-databricks).
-8. On the overview page for your Databricks instance, select **Access control (IAM)**.
-9. Click **Add** and select **Add role assignment**.
-10. On the **Roles** tab, select the `Managed Application Operator` role. Click **Next**.
-11. On the **Members** tab, select a **User, group, or service principal**.
-12. Click **Select members**.
-13. Search for and select the Service Principal you created above.
-14. Click **Select**.
-15. Under the **Members** header, verify that you selected your Service Principal. Click **Review + assign**.
-16. Return to the Azure home page. Select your storage account.
-17. On the overview page for your storage account, select **Access control (IAM)**.
-18. Click **Add** and select **Add role assignment**.
-19. On the **Roles** tab, select the `Storage Blob Data Contributor` role. Click **Next**.
-20. On the **Members** tab, select a **User, group, or service principal**.
-21. Click **Select members**.
-22. Search for and select the Service Principal you created above.
-23. Click **Select**.
-24. Under the **Members** header, verify that you selected your Service Principal. Click **Review + assign**.
-25. Open your Key Vault. In the sidebar, select **Secrets**.
-26. Click **Generate/Import**.
-27. On the Create a secret page, select **Manual**. Enter the name `spsecret` for your secret, and enter the name of the secret you created in Databricks in the **Value** field.
-28. From your Azure CLI, call the Databricks SCIM API to add your service principal to your workspace, replacing `<per-workspace-url> `with the URL of your Databricks workspace, `<personal-access-token> `with the access token you created in an earlier step, and `<application-id>` with the client ID of your service principal: <br/>
-```curl
-curl -X POST 'https://<per-workspace-url>/api/2.0/preview/scim/v2/ServicePrincipals' \
-  --header 'Content-Type: application/scim+json' \
-  --header 'Authorization: Bearer <personal-access-token>' \
-  --data-raw '{
-    "schemas":[
-      "urn:ietf:params:scim:schemas:core:2.0:ServicePrincipal"
-    ],
-    "applicationId":"<application-id>",
-    "displayName": "test-sp",
-    "entitlements":[
-      {
-        "value":"allow-cluster-create"
-      }
-    ]
-  }'
-```
-29. Open Databricks and navigate to your cluster. Select **Permissions**.
-30. In the permissions menu, grant your service principal **Can Manage** permissions.
-
-> warning " "
-> Before continuing, note the Client ID and Client Secret for your Service Principal: you'll need this information when configuring the Segment Data Lakes (Azure) destination in the Segment app.
-
-### Step 6 - Configure Databricks Cluster
-
-> warning "Optional configuration settings for log4j vulnerability"
-> While Databricks released a statement that clusters are likely unaffected by the log4j vulnerability, out of an abundance of caution, Databricks recommends updating to log4j 2.15+ or adding the following options to the Spark configuration: <br/> `spark.driver.extraJavaOptions "-Dlog4j2.formatMsgNoLookups=true"`<br/>`spark.executor.extraJavaOptions "-Dlog4j2.formatMsgNoLookups=true"`
-
-1. Connect to a [Hive metastore](https://docs.databricks.com/data/metastores/external-hive-metastore.html){:target="_blank”} on your Databricks cluster using the following Spark configuration, replacing the variables (`<example_variable>`) with information from your workspace: <br/>
-```py
-## Configs so we can read from the storage account
-spark.hadoop.fs.azure.account.oauth.provider.type.<storage_account_name>.dfs.core.windows.net org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider
-spark.hadoop.fs.azure.account.oauth2.client.endpoint.<storage_account_name>.dfs.core.windows.net https://login.microsoftonline.com/<azure-tenant-id>/oauth2/token
-spark.hadoop.fs.azure.account.oauth2.client.secret.<storage_account_name>.dfs.core.windows.net <service-principal-secret>
-spark.hadoop.fs.azure.account.auth.type.<storage_account_name>.dfs.core.windows.net OAuth
-spark.hadoop.fs.azure.account.oauth2.client.id.<storage_account_name>.dfs.core.windows.net <service_principal_client_id>
-##
-##
-spark.hadoop.javax.jdo.option.ConnectionDriverName org.mariadb.jdbc.Driver
-spark.hadoop.javax.jdo.option.ConnectionURL jdbc:mysql://<db-host>:<port>/<database-name>?useSSL=true&requireSSL=true&enabledSslProtocolSuites=TLSv1.2
-spark.hadoop.javax.jdo.option.ConnectionUserName <database_user>
-spark.hadoop.javax.jdo.option.ConnectionPassword <database_password>
-##
-##
-##
-spark.hive.mapred.supports.subdirectories true
-spark.sql.storeAssignmentPolicy Legacy
-mapreduce.input.fileinputformat.input.dir.recursive true
-spark.sql.hive.convertMetastoreParquet false
-##
-datanucleus.autoCreateSchema true
-datanucleus.autoCreateTables true
-spark.sql.hive.metastore.schema.verification false
-datanucleus.fixedDatastore false
-##
-spark.sql.hive.metastore.version 2.3.7
-spark.sql.hive.metastore.jars builtin
-```
-
-3. Log in to your Databricks instance and open your cluster.
-4. On the overview page for your cluster, select **Edit**.
-5. Open the **Advanced options** toggle and paste the Spark config you copied above, replacing the variables (`<example_variable>`) with information from your workspace.
-6. Select **Confirm and restart**. On the popup window, select **Confirm**.
-7. Log in to your Azure MySQL database using the following command: <br/>
-```curl
-mysql --host=[HOSTNAME] --port=3306 --user=[USERNAME] --password=[PASSWORD]
-```
-8. Once you've logged in to your MySQL database, run the following commands: <br/>
-```sql
-USE <db-name>
-INSERT INTO VERSION (VER_ID, SCHEMA_VERSION) VALUES (0, '2.3.7');
-```
-9. Log in to your Databricks cluster.
-10. Click **Create** and select **Notebook**.
-11. Give your cluster a name, select **SQL** as the default language, and make sure it's located in the cluster you created in [Step 4 - Set up Databricks](#step-4---set-up-databricks).
-12. Click **Create**.
-13. On the overview page for your new notebook, run the following command: <br/>
-```sql
-CREATE TABLE test (id string);
-```
-14. Open your cluster.
-15. On the overview page for your cluster, select **Edit**.
-16. Open the **Advanced options** toggle and paste the following code snippet: <br/>
-```py
-datanucleus.autoCreateSchema false
-datanucleus.autoCreateTables false
-spark.sql.hive.metastore.schema.verification true
-datanucleus.fixedDatastore true
-```
-17. Select **Confirm and restart**. On the popup window, select **Confirm**.
-
-### Step 7 - Enable the Data Lakes destination in the Segment app
-
-After you set up the necessary resources in Azure, the next step is to set up the Data Lakes destination in Segment:
-
-1. In the [Segment App](https://app.segment.com/goto-my-workspace/overview){:target="_blank”}, click **Add Destination**.
-2. Search for and select **Segment Data Lakes (Azure)**.
-2. Click the **Configure Data Lakes** button, and select the source you'd like to receive data from. Click **Next**.
-3. In the **Connection Settings** section, enter the following values:
-  - **Azure Storage Account**: The name of the Azure Storage account that you set up in [Step 1 - Create an ALDS-enabled storage account](#step-1---create-an-alds-enabled-storage-account).
-    ![img.png](images/storageaccount.png)
-  - **Azure Storage Container**: The name of the Azure Storage Container you created in [Step 1 - Create an ALDS-enabled storage account](#step-1---create-an-alds-enabled-storage-account).
-    ![img_1.png](images/storagecontainer.png)
-  - **Azure Subscription ID**: The ID of your [Azure subscription](https://docs.microsoft.com/en-us/azure/azure-portal/get-subscription-tenant-id){:target="_blank”}. <br> Please add it as it is in the Azure portal, in the format `********-****-****-****-************`
-  - **Azure Tenant ID**: The Tenant ID of your [Azure Active directory](https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-how-to-find-tenant){:target="_blank”}. <br> Please add it as it is in the Azure portal, in the format `********-****-****-****-************`
-  - **Databricks Cluster ID**: The ID of your [Databricks cluster](https://docs.databricks.com/workspace/workspace-details.html#cluster-url-and-id){:target="_blank”}.
-  - **Databricks Instance URL**: The ID of your [Databricks workspace](https://docs.databricks.com/workspace/workspace-details.html#workspace-instance-names-urls-and-ids){:target="_blank”}. <br> The correct format for adding the URL is 'adb-0000000000000000.00.azureatabricks.net'
-  - **Databricks Workspace Name**: The name of your [Databricks workspace](https://docs.databricks.com/workspace/workspace-details.html#workspace-instance-names-urls-and-ids){:target="_blank”}.
-  - **Databricks Workspace Resource Group**: The resource group that hosts your Azure Databricks instance. This is visible in Azure on the overview page for your Databricks instance.
-  - **Region**: The location of the Azure Storage account you set up in [Step 1 - Create an ALDS-enabled storage account](#step-1---create-an-alds-enabled-storage-account).
-  - **Service Principal Client ID**: The Client ID of the Service Principal that you set up in [Step 5 - Set up a Service Principal](#step-5---set-up-a-service-principal).
-  - **Service Principal Client Secret**: The Secret for the Service Principal that you set up in [Step 5 - Set up a Service Principal](#step-5---set-up-a-service-principal).
-
-
-### (Optional) Set up your Segment Data Lake (Azure) using Terraform
-
-Instead of manually configuring your Data Lake, you can create it using the script in the [`terraform-segment-data-lakes`](https://github.com/segmentio/terraform-segment-data-lakes){:target="_blank”} GitHub repository.
-
-> warning ""
-> This script requires Terraform versions 0.12+.
-
-Before you can run the Terraform script, create a Databricks workspace in the Azure UI using the instructions in [Step 4 - Set up Databricks](#step-4---set-up-databricks). Note the **Workspace URL**, as you will need it to run the script.
-
-In the setup file, set the following local variables:
-
-```js
-
-locals {
-region         = "<segment-datlakes-region>"
-resource_group = "<segment-datlakes-regource-group>"
-storage_account = "<segment-datalake-storage-account"
-container_name  = "<segment-datlakes-container>"
-key_vault_name = "<segment-datlakes-key vault>"
-server_name = "<segment-datlakes-server>"
-db_name     = "<segment-datlakes-db-name>"
-db_password = "<segment-datlakes-db-password>"
-db_admin    = "<segment-datlakes-db-admin>"
-databricks_workspace_url = "<segment-datlakes-db-worspace-url>"
-cluster_name   = "<segment-datlakes-db-cluster>"
-tenant_id      = "<tenant-id>"
-}
-```
-After you've configured your local variables, run the following commands:
-
-```hcl
-terraform init
-terraform plan
-terraform apply
-```
-
-Running the `plan` command gives you an output that creates 19 new objects, unless you are reusing objects in other Azure applications. Running the `apply` command creates the resources and produces a service principal password you can use to set up the destination.
 
 
 ## FAQ
@@ -410,7 +112,7 @@ The roles which Data Lakes assigns during set up are:
 
 
 #### Why doesn't the Data Lakes Terraform module create an S3 bucket?
-The module doesn't create a new S3 bucket so you can re-use an existing bucket for your Data Lakes.
+The module doesn't create a new S3 bucket so you can re-use an existing bucket for your Data Lakes. 
 
 #### Does my S3 bucket need to be in the same region as the other infrastructure?
 Yes, the S3 bucket and the EMR cluster must be in the same region.
@@ -462,25 +164,3 @@ create external database if not exists;
 Replace:
 - [glue_db_name] = The Glue database created by Data Lakes which is named after the source slug
 - [spectrum_schema_name] = The schema name in Redshift you want to map to
-
-### Segment Data Lakes (Azure)
-
-#### Does my ALDS-enabled storage account need to be in the same region as the other infrastructure?
-Yes, your storage account and Databricks instance should be in the same region.
-
-#### What analytics tools are available to use with my Segment Data Lake (Azure)?
-Segment Data Lakes (Azure) supports the following post-processing tools:
-  - PowerBI
-  - Azure HDInsight
-  - Azure Synapse Analytics
-  - Databricks
-
-#### What can I do to troubleshoot my Databricks database?
-If you encounter errors related to your Databricks database, try adding the following line to the config: <br/>
-```py
-spark.sql.hive.metastore.schema.verification.record.version false
-```
-<br/>After you've added to your config, restart your cluster so that your changes can take effect. If you continue to encounter errors, [contact Segment Support](https://segment.com/help/contact/){:target="_blank"}.
-
-#### What do I do if I get a "Version table does not exist" error when setting up the Azure MySQL database?
-Check your Spark configs to ensure that the information you entered about the database is correct, then restart the cluster. The Databricks cluster automatically initializes the Hive Metastore, so an issue with your config file will stop the table from being created.  If you continue to encounter errors, [contact Segment Support](https://segment.com/help/contact/){:target="_blank"}.
diff --git a/src/connections/storage/data-lakes/index.md b/src/connections/storage/data-lakes/index.md
index d2a823fb09..620d6d71e8 100644
--- a/src/connections/storage/data-lakes/index.md
+++ b/src/connections/storage/data-lakes/index.md
@@ -19,16 +19,16 @@ Data lakes typically have four layers:
 
 ![A graphic showing the information flowing from the metadata into the query, compute, and metadata layers, and then into the storage layer](images/data_lakes_overview_graphic.png)
 
-Segment Data Lakes sends Segment data to a cloud data store, either AWS S3 or Azure Data Lake Storage Gen2 (ADLS), in a format optimized to reduce processing for data analytics and data science workloads. Segment data is great for building machine learning models for personalization and recommendations, and for other large scale advanced analytics. Data Lakes reduces the amount of processing required to get real value out of your data.
+Segment Data Lakes sends Segment data to a cloud data store, AWS S3, in a format optimized to reduce processing for data analytics and data science workloads. Segment data is great for building machine learning models for personalization and recommendations, and for other large scale advanced analytics. Data Lakes reduces the amount of processing required to get real value out of your data.
 
 > warning "Segment Data Lakes deletion policies"
-> Segment Data Lakes (AWS) and Segment Data Lakes (Azure) do not support Segment's [user deletion and suppression](/docs/privacy/user-deletion-and-suppression/) capabilities, as you retain your data in systems that you manage.
+> Segment Data Lakes (AWS) does not support Segment's [user deletion and suppression](/docs/privacy/user-deletion-and-suppression/) capabilities, as you retain your data in systems that you manage.
 
 To learn more about Segment Data Lakes, check out the Segment blog post [Introducing Segment Data Lakes](https://segment.com/blog/introducing-segment-data-lakes/){:target="_blank"}.
 
 ## How Data Lakes work
 
-Segment supports Data Lakes hosted on two cloud providers: Amazon Web Services (AWS) and Microsoft Azure. Each cloud provider has a similar system for managing data, but offer different query engines, post-processing systems, and analytics options.
+Segment supports Data Lakes hosted on Amazon Web Services (AWS). Each cloud provider has a similar system for managing data, but offer different query engines, post-processing systems, and analytics options.
 
 ### How Segment Data Lakes (AWS) works
 
@@ -40,16 +40,6 @@ Segment sends data to S3 by orchestrating the processing in an EMR (Elastic MapR
 
 ![A diagram visualizing data flowing from a Segment user into your account and into a Glue catalog/S3 bucket](images/dl_vpc.png)
 
-### How Segment Data Lakes (Azure) works
-
-Data Lakes store Segment data in ADLS in a read-optimized encoding format (Parquet) which makes the data more accessible and actionable. To help you zero-in on the right data, Data Lakes also creates logical data partitions and event tables, and integrates metadata with existing schema management tools, like the Hive Metastore. The resulting data set is optimized for use with systems like Power BI and Azure HDInsight or machine learning vendors like Azure Databricks or Azure Synapse Analytics.
-
-![A diagram showing data flowing from Segment, through DataBricks, Parquet and Azure Data Lake Storage Gen2 into the Hive Metastore, and then into your post-processing systems](images/Azure_DL_setup.png)
-
-## Set up Segment Data Lakes (Azure)
-
-For detailed Segment Data Lakes (Azure) setup instructions, see the [Data Lakes setup page](/docs/connections/storage/catalog/data-lakes/).
-
 ### Set up Segment Data Lakes (AWS)
 
 When setting up your data lake using the [Data Lakes catalog page](/docs/connections/storage/catalog/data-lakes/), be sure to consider the EMR and AWS IAM components listed below.
@@ -64,18 +54,6 @@ Data Lakes uses an IAM role to grant Segment secure access to your AWS account.
 - **external_ids**: External IDs are the part of the IAM role which Segment uses to assume the role providing access to your AWS account. You will define the external ID in the IAM role as the Segment Workspace ID in which you want to connect to Data Lakes. The Segment Workspace ID can be retrieved from the [Segment app](https://app.segment.com/goto-my-workspace/overview){:target="_blank"} by navigating to **Settings > General Settings > ID**.
 - **s3_bucket**: Name of the S3 bucket used by the Data Lake.
 
-### Set up Segment Data Lakes (Azure)
-
-To connect Segment Data Lakes (Azure), you must set up the following components in your Azure environment:
-
-- [Azure Storage Account](/docs/connections/storage/catalog/data-lakes/#step-1---create-an-alds-enabled-storage-account): An Azure storage account contains all of your Azure Storage data objects, including blobs, file shares, queues, tables, and disks.
-- [Azure KeyVault Instance](/docs/connections/storage/catalog/data-lakes/#step-2---set-up-key-vault): Azure KeyVault provides a secure store for your keys, secrets, and certificates.
-- [Azure MySQL Database](/docs/connections/storage/catalog/data-lakes/#step-3---set-up-azure-mysql-database): The MySQL database is a relational database service based on the MySQL Community Edition, versions 5.6, 5.7, and 8.0.
-- [Databricks Instance](/docs/connections/storage/catalog/data-lakes/#step-4---set-up-databricks): Azure Databricks is a data analytics cluster that offers multiple environments (Databricks SQL, Databricks Data Science and Engineering, and Databricks Machine Learning) for you to develop data-intensive applications.
-- [Databricks Cluster](/docs/connections/storage/catalog/data-lakes/#step-6---configure-databricks-cluster): The Databricks cluster is a cluster of computation resources that you can use to run data science and analytics workloads.
-- [Service Principal](/docs/connections/storage/catalog/data-lakes/#step-5---set-up-a-service-principal): Service principals are identities used to access specific resources.
-
-For more information about configuring Segment Data Lakes (Azure), see the [Data Lakes setup page](/docs/connections/storage/catalog/data-lakes/#set-up-segment-data-lakes-azure).
 
 ## Data Lakes schema
 
@@ -128,15 +106,6 @@ The schema inferred by Segment is stored in a Glue database within Glue Data Cat
 > info ""
 > The recommended IAM role permissions grant Segment access to create the Glue databases on your behalf. If you do not grant Segment these permissions, you must manually create the Glue databases for Segment to write to.
 
-### Segment Data Lakes (Azure) schema
-
-Segment Data Lakes (Azure) applies a consistent schema to make raw data accessible for queries. A transformer automatically calculates the desired schema and uploads a schema JSON file for each event type to your Azure Data Lake Storage (ADLS) in the `/staging/` directory.
-
-Segment partitions the data in ALDS by the Segment source, event type, then the day and hour an event was received by Segment, to ensure that the data is actionable and accessible.
-
-The file path looks like this:
-`<storage-account-name>/<container-name>/staging/<source-id>/`
-
 ### Data types
 
 Data Lakes infers the data type for an event it receives. Groups of events are polled every hour to infer the data type for that each event.
@@ -181,7 +150,7 @@ Segment doesn't support User deletions in Data Lakes, but supports [user suppres
 
 
 ### How does Data Lakes handle schema evolution?
-As the data schema evolves, both Segment Data Lakes (AWS) and Segment Data Lakes (Azure) can detect new columns and add them to Glue Data Catalog or Azure Data Lake Storage (ADLS). However, Segment can't update existing data types. To update Segment-created data types, please reach out to [AWS Support](https://aws.amazon.com/contact-us/){:target="_blank"} or [Azure Support](https://support.microsoft.com/en-us/topic/contact-microsoft-azure-support-2315e669-8b1f-493b-5fb1-d88a8736ffe4){:target="_blank"}. 
+As the data schema evolves, Segment Data Lakes (AWS) can detect new columns and add them to Glue Data Catalog. However, Segment can't update existing data types. To update Segment-created data types, please reach out to [AWS Support](https://aws.amazon.com/contact-us/){:target="_blank"}. 
 
 
 ### How does Data Lakes work with Protocols?
@@ -206,9 +175,6 @@ Data Lakes offers 12 syncs in a 24 hour period and doesn't offer a custom sync s
 ### What is the cost to use AWS Glue?
 You can find details on Amazon's [pricing for Glue](https://aws.amazon.com/glue/pricing/){:target="_blank"} page. For reference, Data Lakes creates 1 table per event type in your source, and adds 1 partition per hour to the event table.
 
-### What is the cost to use Microsoft Azure?
-You can find details on Microsoft's [pricing for Azure](https://azure.microsoft.com/en-us/pricing/){:target="_blank"} page. For reference, Data Lakes creates 1 table per event type in your source, and adds 1 partition per hour to the event table.
-
 
 ### What limits does AWS Glue have?
 AWS Glue has limits across various factors, such as number of databases per account, tables per account, and so on. See the [full list of Glue limits](https://docs.aws.amazon.com/general/latest/gr/glue.html#limits_glue){:target="_blank"} for more information.
@@ -222,9 +188,3 @@ Segment stops creating new tables for the events after you exceed this limit. Ho
 
 You should also read the [additional considerations in Amazon's documentation](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hive-metastore-glue.html){:target="_blank"} when using AWS Glue Data Catalog.
 
-### What analytics tools are available to use with Segment Data Lakes (Azure)?
-Segment Data Lakes (Azure) supports the following analytics tools:
-  - PowerBI
-  - Azure HDInsight
-  - Azure Synapse Analytics
-  - Databricks

From f64912c1f99f213560132294d35d721561c0e7ef Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Thu, 10 Jul 2025 12:31:04 +0100
Subject: [PATCH 060/188] target blank

Co-authored-by: stayseesong <83784848+stayseesong@users.noreply.github.com>
---
 src/guides/what-is-replay.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/guides/what-is-replay.md b/src/guides/what-is-replay.md
index 31596329c2..368565bcd9 100644
--- a/src/guides/what-is-replay.md
+++ b/src/guides/what-is-replay.md
@@ -19,7 +19,7 @@ This means you can send a limited sample of your data to a new tool to test it o
 
 With Replays, you're protected from outages and errors. If a destination which you rely on experiences an outage, or is temporarily unable to accept incoming data, you can use Replays to re-send data to that tool once the service recovers. You can also use Replays to recover from errors caused by misconfigurations in your Segment systems. For example, if you send data in the wrong format, or want to apply [destination filters](/docs/connections/destinations/destination-filters/). In this case, you can change your mapping using a destination filter, clear out the bad data, and replay it to that destination. You can also use this to update the schema in your data warehouse when it changes.
 
-For more information, [contact Segment support](https://segment.com/help/contact/).
+For more information, [contact Segment support](https://segment.com/help/contact/){:target="_blank"}.
 
 ## Replays considerations
 

From 1a731bf1961dc6e64919fdb11c30efbe1e05d35b Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Thu, 10 Jul 2025 12:31:10 +0100
Subject: [PATCH 061/188] Update src/guides/what-is-replay.md

Co-authored-by: stayseesong <83784848+stayseesong@users.noreply.github.com>
---
 src/guides/what-is-replay.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/guides/what-is-replay.md b/src/guides/what-is-replay.md
index 368565bcd9..943fc3b20f 100644
--- a/src/guides/what-is-replay.md
+++ b/src/guides/what-is-replay.md
@@ -23,7 +23,7 @@ For more information, [contact Segment support](https://segment.com/help/contact
 
 ## Replays considerations
 
-Replays are currently only available for Business Tier customers, and due to their complex nature are not self-serve. [Contact Segment support](https://segment.com/help/contact/) to learn more, or to request a replay for your workspace. When requesting a replay, include the workspace, the source to replay from, the destination tool or tools, and the time period.
+Replays are currently only available for Business Tier customers, and due to their complex nature are not self-serve. [Contact Segment support](https://segment.com/help/contact/){:target="_blank"} to learn more, or to request a replay for your workspace. When requesting a replay, include the workspace, the source to replay from, the destination tool or tools, and the time period.
 
 Replays can process unlimited data, but they're rate limited to respect limitations in downstream partner tools. If you're also sending data to the destination being replayed to in real time, then, when determining your replay's limit, you'll want to take into account the rate limit being used by real-time events. You should also account for a small margin of your rate limit to allow events to be retried. 
 

From 3de1d3d56c34addc376a6c82b272fe8893068789 Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Thu, 10 Jul 2025 12:34:14 +0100
Subject: [PATCH 062/188] rewording

Co-authored-by: stayseesong <83784848+stayseesong@users.noreply.github.com>
---
 src/guides/what-is-replay.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/guides/what-is-replay.md b/src/guides/what-is-replay.md
index 943fc3b20f..be058eb015 100644
--- a/src/guides/what-is-replay.md
+++ b/src/guides/what-is-replay.md
@@ -50,7 +50,7 @@ Not all destinations support data deduplication, so you may need to delete, arch
 
 When Segment replays events, it does not retain the original `integrations` object flag, but it does preserve the `consent` object. 
 
-During replays, Segment replaces the `integrations` object with a structure that includes `All:false` and `[integration name]:true`. As a result, the original 'integrations' flag is removed during replay. However, the replay tool does not overwrite the original `consent` object. If an event was previously dropped for a specific destination due to the `consent` object, the event is dropped within Segment again during replay. 
+During replays, Segment replaces the `integrations` object with a structure that includes `All:false` and `[integration name]:true`. As a result, Segment removes the original `integrations` flag during replay. The replay tool doesn't overwrite the original `consent` object. If an event was previously dropped for a specific destination due to the `consent` object, the event drops within Segment again during replay. 
 
 ### Replays & Destination Filters
 

From 1db4826d0adf2f0b2e6fad69643622454a7599fb Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Thu, 10 Jul 2025 12:38:29 +0100
Subject: [PATCH 063/188] removed backticks from integrations

---
 src/guides/what-is-replay.md | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/guides/what-is-replay.md b/src/guides/what-is-replay.md
index be058eb015..ef3faba484 100644
--- a/src/guides/what-is-replay.md
+++ b/src/guides/what-is-replay.md
@@ -46,11 +46,11 @@ Replays are available for any destinations which support cloud-mode data (meanin
 
 Not all destinations support data deduplication, so you may need to delete, archive, or remove any older versions of the data before initiating a replay. [Contact Segment support](https://segment.com/help/contact/){:target="_blank"} if you have questions or want help.
 
-#### What happens to `integrations` and `consent` objects during a replay?
+#### What happens to integrations and `consent` objects during a replay?
 
-When Segment replays events, it does not retain the original `integrations` object flag, but it does preserve the `consent` object. 
+When Segment replays events, it does not retain the original integrations object flag, but it does preserve the `consent` object. 
 
-During replays, Segment replaces the `integrations` object with a structure that includes `All:false` and `[integration name]:true`. As a result, Segment removes the original `integrations` flag during replay. The replay tool doesn't overwrite the original `consent` object. If an event was previously dropped for a specific destination due to the `consent` object, the event drops within Segment again during replay. 
+During replays, Segment replaces the 'integrations' object with a structure that includes `All:false` and `[integration name]:true`. As a result, Segment removes the original integrations flag during replay. The replay tool doesn't overwrite the original `consent` object. If an event was previously dropped for a specific destination due to the `consent` object, the event drops within Segment again during replay. 
 
 ### Replays & Destination Filters
 

From 034bd42d69362837b011817915a1c23568140870 Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Thu, 10 Jul 2025 11:52:16 -0400
Subject: [PATCH 064/188] Add private and beta tags

---
 .../destinations/catalog/actions-ortto-audiences/index.md       | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/connections/destinations/catalog/actions-ortto-audiences/index.md b/src/connections/destinations/catalog/actions-ortto-audiences/index.md
index f6163b49f2..5f1fba0dbb 100644
--- a/src/connections/destinations/catalog/actions-ortto-audiences/index.md
+++ b/src/connections/destinations/catalog/actions-ortto-audiences/index.md
@@ -1,6 +1,8 @@
 ---
 title: Ortto (Audiences) Destination
 id: 686799c65fcebef2a98c8141
+beta: true
+private: true
 ---
 
 {% include content/plan-grid.md name="actions" %}

From 7690170dff991f07cf2f28e9cf88e871a6375bec Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Thu, 10 Jul 2025 16:54:53 +0100
Subject: [PATCH 065/188] missing backticks added

---
 src/connections/destinations/actions.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index 2e0f1e073f..c6c4b1691b 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -226,7 +226,7 @@ The JSON function allows you to convert an object or array to a JSON encoded str
 
 ### Flatten function
 
-The Flatten function allows you to flatten a nested object to an object with a depth of 1. Keys are delimited by the configured separator. For example, an object like {a: { b: { c: 1 }, d: 2 } } will be converted to { 'a.b.c': 1, 'a.d': 2 }.
+The Flatten function allows you to flatten a nested object to an object with a depth of 1. Keys are delimited by the configured separator. For example, an object like `{a: { b: { c: 1 }, d: 2 } }` will be converted to `{ 'a.b.c': 1, 'a.d': 2 }`.
 
 ### Replace function
 

From 75b2e72b818382310000325f2d1bda64697c6b64 Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Thu, 10 Jul 2025 17:41:24 +0100
Subject: [PATCH 066/188] target blank added

---
 .../destinations/catalog/actions-ortto-audiences/index.md       | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/catalog/actions-ortto-audiences/index.md b/src/connections/destinations/catalog/actions-ortto-audiences/index.md
index 5f1fba0dbb..a6ef792f4f 100644
--- a/src/connections/destinations/catalog/actions-ortto-audiences/index.md
+++ b/src/connections/destinations/catalog/actions-ortto-audiences/index.md
@@ -9,7 +9,7 @@ private: true
 
 The **Ortto (Audiences)** destination allows you to send Engage Audiences from Segment to Ortto, where they can be used as [Audiences](https://help.ortto.com/a-115-working-with-audiences){:target="_blank"} for marketing automation, personalization, and reporting.
 
-This destination is maintained by **Ortto**. For support or questions, please [contact the Ortto Support team](mailto:help@ortto.com).
+This destination is maintained by **Ortto**. For support or questions, please [contact the Ortto Support team](mailto:help@ortto.com){:target="_blank"}.
 
 ## Getting started
 

From e909f06b2aef6bcd82dd45cecc6c3a9f3b8d3f23 Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Thu, 10 Jul 2025 13:18:03 -0400
Subject: [PATCH 067/188] catalog

---
 src/_data/catalog/destination_categories.yml |   2 +-
 src/_data/catalog/destinations.yml           | 514 +++++++------------
 src/_data/catalog/destinations_private.yml   |   2 +-
 src/_data/catalog/source_categories.yml      |   2 +-
 src/_data/catalog/sources.yml                |   2 +-
 5 files changed, 192 insertions(+), 330 deletions(-)

diff --git a/src/_data/catalog/destination_categories.yml b/src/_data/catalog/destination_categories.yml
index d752536048..9d1dc61343 100644
--- a/src/_data/catalog/destination_categories.yml
+++ b/src/_data/catalog/destination_categories.yml
@@ -1,5 +1,5 @@
 # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
-# destination categories last updated 2025-07-07 
+# destination categories last updated 2025-07-10 
 items:
 - display_name: A/B Testing
   slug: a-b-testing
diff --git a/src/_data/catalog/destinations.yml b/src/_data/catalog/destinations.yml
index 9bc940dbeb..c8a1914d2f 100644
--- a/src/_data/catalog/destinations.yml
+++ b/src/_data/catalog/destinations.yml
@@ -1,5 +1,5 @@
 # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
-# destination data last updated 2025-07-07 
+# destination data last updated 2025-07-10 
 items:
 - id: 637e8d185e2dec264895ea89
   display_name: 1Flow
@@ -37744,7 +37744,7 @@ items:
   previous_names:
   - Extensible Webhook
   website: http://www.segment.com
-  status: PUBLIC_BETA
+  status: PUBLIC
   categories:
   - Raw Data
   logo:
@@ -45881,7 +45881,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: ejWurq2rBDsCgnuu7gUkfP
+    - id: d8ZX5a19Xv36HNTk5SxWeP
       sortOrder: 0
       fieldKey: eventType
       label: Event Type
@@ -45896,7 +45896,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 49UBKvAQRCHcvU8p3bBgMU
+    - id: bqoumn1Za2cwqcsb7u4tv9
       sortOrder: 1
       fieldKey: eventProperties
       label: Event Properties
@@ -45914,7 +45914,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: mGVhUaP3RuwTsTZdpEoQPX
+    - id: d4ukxc9VWsrFEewLkk54PL
       sortOrder: 2
       fieldKey: deduplicationId
       label: Event ID
@@ -45931,7 +45931,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: Gjy2F7ujet3ZtFNa36vvB
+    - id: VBRCSArFbFmTaNmNexuD9
       sortOrder: 3
       fieldKey: customerId
       label: Customer ID
@@ -45952,7 +45952,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: uQUG6igtnQaaHMtkBDLBPy
+    - id: 7dbozzEhtjFwbmQj3AEre9
       sortOrder: 4
       fieldKey: anonymousId
       label: Anonymous ID
@@ -45967,7 +45967,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: u7Ren1bQoSKSZEX7q31aAP
+    - id: jmHz964gJgZF7BbQnGsL5s
       sortOrder: 5
       fieldKey: email
       label: Email
@@ -45990,7 +45990,7 @@ items:
     hidden: false
     defaultTrigger: event = "Signed Up"
     fields:
-    - id: vCYC98ivGTnZFPD2BdigAk
+    - id: kziVHoixgvK2GzbQ1NawYZ
       sortOrder: 0
       fieldKey: customerId
       label: Customer ID
@@ -46011,7 +46011,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 8ovNDhpRH8b7ftYUSbiYuq
+    - id: enVaDD5pXR2utLkhcHmfEE
       sortOrder: 1
       fieldKey: anonymousId
       label: Anonymous ID
@@ -46026,7 +46026,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: w2BSBoSzA6sPjTPhxCimyP
+    - id: 5VYcjBeByFwwK5bAX8un46
       sortOrder: 2
       fieldKey: email
       label: Email
@@ -46041,7 +46041,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 9RPeb3FwcZ2PkX4kTfjwf9
+    - id: 7mWFogh1knG4oBnPXG9tu8
       sortOrder: 3
       fieldKey: isNewCustomer
       label: New Customer Flag
@@ -46056,7 +46056,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: tRnUs96hC8qtBpDJULC5Wv
+    - id: ms3Vb5UwXcb3XmEoYB86YR
       sortOrder: 4
       fieldKey: loyaltyStatus
       label: Loyalty Program Status
@@ -46073,7 +46073,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 8mSVU4ZFrZLdaQ5zhWMCQg
+    - id: 4CeDLqyBbfKR8MbPPk3Mgf
       sortOrder: 5
       fieldKey: firstName
       label: First Name
@@ -46088,7 +46088,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: wmrSZxSGDkg49HzeX9x38s
+    - id: 2CQGvV5FaGA9TNrsZPhvYp
       sortOrder: 6
       fieldKey: lastName
       label: Last Name
@@ -46103,7 +46103,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: pnSYzM79hHRUAnfqmXhPR1
+    - id: dRZRctiaZEPpSZdoiFZvZo
       sortOrder: 7
       fieldKey: name
       label: Name
@@ -46118,7 +46118,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: pZ8DujrjiSURj9Tgf5G72Z
+    - id: mZKhWaiZnd8AsnZvdMHyHW
       sortOrder: 8
       fieldKey: age
       label: Age
@@ -46133,7 +46133,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: wtxL8ncWxq4eCaL69QZEPN
+    - id: rNwRi3hVNgUzpNKRHqAsiw
       sortOrder: 9
       fieldKey: birthday
       label: Birthday
@@ -46150,7 +46150,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 2nW3vfptTX13YhyjkgTFuA
+    - id: 5yPzkQBn4VbvZr3R5sH3Ko
       sortOrder: 10
       fieldKey: coupon
       label: Coupon Code
@@ -46165,7 +46165,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 9kvGtxJGeTxMBQDW5ki3XL
+    - id: vS2KjQwtYgtNGBJ7Zmx474
       sortOrder: 11
       fieldKey: attributionId
       label: Friendbuy Attribution ID
@@ -46182,7 +46182,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: m7KAr3ogqs7qoA6tdMZ2Jw
+    - id: 9NTxhvRdYhfmaesQPr9DXB
       sortOrder: 12
       fieldKey: referralCode
       label: Friendbuy Referral ID
@@ -46199,7 +46199,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: ijWBVDgTHCNy8m25YMVW8o
+    - id: xahUp79NtFA9zY9Emra6L1
       sortOrder: 13
       fieldKey: friendbuyAttributes
       label: Custom Attributes
@@ -46225,7 +46225,7 @@ items:
     hidden: false
     defaultTrigger: event = "Order Completed"
     fields:
-    - id: 5WjHrBCkCj3edpz7bngu1L
+    - id: 9AEP912d257Xi9c5DujmN1
       sortOrder: 0
       fieldKey: orderId
       label: Order ID
@@ -46240,7 +46240,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: neQbZ7y9G8D8GBmi6L7TwG
+    - id: kNo8MNntCJevg9EkC5gJM7
       sortOrder: 1
       fieldKey: amount
       label: Purchase Amount
@@ -46255,7 +46255,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: mcbEjuL8xaFp2Y5feaGzQj
+    - id: j15ZWtXFyANdJvk71hRi2w
       sortOrder: 2
       fieldKey: currency
       label: Currency
@@ -46270,7 +46270,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: hRbLRY8WxGxMyXtnR4Vy2z
+    - id: dJ2nuUARwbXM14vvepSTda
       sortOrder: 3
       fieldKey: coupon
       label: Coupon
@@ -46285,7 +46285,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: tTuq8xv1LZjdK429XHQQJE
+    - id: umiNBqS58WvUXTHehdiXGF
       sortOrder: 4
       fieldKey: attributionId
       label: Friendbuy Attribution ID
@@ -46302,7 +46302,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: d7zKntMD3XhSsyUXycTVM8
+    - id: hkozD7eyipEVgargQUVYwS
       sortOrder: 5
       fieldKey: referralCode
       label: Friendbuy Referral ID
@@ -46319,7 +46319,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: f5ftrEEpvZodKvCevvxyYs
+    - id: 56BkojcpCkT52pA25TQSoH
       sortOrder: 6
       fieldKey: giftCardCodes
       label: Gift Card Codes
@@ -46334,7 +46334,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: r1qtFhFk8h4czXxQinHwXD
+    - id: bnXCmz11HimhNbtQVNCZoS
       sortOrder: 7
       fieldKey: products
       label: Products
@@ -46349,7 +46349,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: xouR34VFZfRSqVhkeydA6w
+    - id: 6nvbgosu9x2FaXvyXiSuJk
       sortOrder: 8
       fieldKey: customerId
       label: Customer ID
@@ -46370,7 +46370,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 9pJKLMZLpmwU4SHnhcwmfz
+    - id: rC5X9PghsymRb75A2nGgmm
       sortOrder: 9
       fieldKey: anonymousId
       label: Anonymous ID
@@ -46385,7 +46385,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: kQ8ngcFNgb3f7zsHLNHzgB
+    - id: 66GbxZRJbF6ttB1F2bTDyN
       sortOrder: 10
       fieldKey: email
       label: Email
@@ -46400,7 +46400,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: sD9VkFwa7tNc4msLjRQs1R
+    - id: qArtRrSKhYN11gJPr77rKq
       sortOrder: 11
       fieldKey: isNewCustomer
       label: New Customer Flag
@@ -46415,7 +46415,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: fua5c3GJUihvNuS5YS5YSm
+    - id: 2K3X7unfcYgtZDAz5X7sDr
       sortOrder: 12
       fieldKey: loyaltyStatus
       label: Loyalty Program Status
@@ -46432,7 +46432,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 6Y5kFPumK9qLifaG8DxiPt
+    - id: g2USvWypGhiZFSFbuPJyZa
       sortOrder: 13
       fieldKey: firstName
       label: First Name
@@ -46447,7 +46447,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 8PAax2B2zXMw2HanvYJgB4
+    - id: j8o9jrMEF1ZTBW9k3mcVkU
       sortOrder: 14
       fieldKey: lastName
       label: Last Name
@@ -46462,7 +46462,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: fvujcPZpLpYweszLWLacGG
+    - id: ha4KHTBeHtxzvci9Fv866j
       sortOrder: 15
       fieldKey: name
       label: Name
@@ -46477,7 +46477,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 2raZiFQAUFEXDVJsXmSrXs
+    - id: i5NDZnXEdeVikZvcezs7rP
       sortOrder: 16
       fieldKey: age
       label: Age
@@ -46492,7 +46492,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: efyUW87iUbKEbrFCovPfJe
+    - id: iD6EntrdLxhf8p1GkeaNGH
       sortOrder: 17
       fieldKey: birthday
       label: Birthday
@@ -46509,7 +46509,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 57iKyKbadLvmSPS7yG4bez
+    - id: hQtVzytUyGTzu1eDb1ntvW
       sortOrder: 18
       fieldKey: friendbuyAttributes
       label: Custom Attributes
@@ -46535,7 +46535,7 @@ items:
     hidden: false
     defaultTrigger: type = "identify"
     fields:
-    - id: cRpZUanEFouGKUmPaAynae
+    - id: mt1tsyzXdsgx2q2MuzezJ
       sortOrder: 0
       fieldKey: customerId
       label: Customer ID
@@ -46550,7 +46550,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: tXzWmhtx5zMDkzLPqbuWPX
+    - id: ihjXAgoPZ8wvRyVqRzjTzS
       sortOrder: 1
       fieldKey: anonymousId
       label: Anonymous ID
@@ -46565,7 +46565,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 4LBJGNXckZ45Q7DMaNsxE1
+    - id: oHNrPAeF3PWfWk7C7A5D7Y
       sortOrder: 2
       fieldKey: email
       label: Email
@@ -46580,7 +46580,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: mCHjjrNqWxsrfPTJV8NUkj
+    - id: tQ23DP7HXw8CuaeDL7ceCt
       sortOrder: 3
       fieldKey: firstName
       label: First Name
@@ -46595,7 +46595,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: jhU9DPhtN9NPcnRhfWSDAn
+    - id: sk3uGGQ6c9F2u7paaNyUY1
       sortOrder: 4
       fieldKey: lastName
       label: Last Name
@@ -46610,7 +46610,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: cW7Z2tJ8BQoMBpnkk9LPLS
+    - id: 6dDCzVwiMqG89kcYQBbNgA
       sortOrder: 5
       fieldKey: name
       label: Name
@@ -46628,7 +46628,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: ggEfxnbXSzb7PH86VvNjAr
+    - id: vzUvVM9Ymu75883KmjpzfA
       sortOrder: 6
       fieldKey: age
       label: Age
@@ -46643,7 +46643,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: BGVd2mbDda3Dapz45iF5P
+    - id: jpUb81CTqjs1wsBuh79QPv
       sortOrder: 7
       fieldKey: birthday
       label: Birthday
@@ -46660,7 +46660,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 5z8txbByuGPQpKNi79fQjk
+    - id: f9E9V3HSCKMU6QKX6spNCv
       sortOrder: 8
       fieldKey: language
       label: Language
@@ -46675,7 +46675,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 7h2KBTf6Pje2S7qSgRD5y1
+    - id: iD3yVFcXbQdH2BxwXAyXTY
       sortOrder: 9
       fieldKey: addressCountry
       label: Country
@@ -46690,7 +46690,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: hb4URs3QmKh3BCU4eCQtHf
+    - id: ceWgsjeVL7GUZbQ2GEPanU
       sortOrder: 10
       fieldKey: addressState
       label: State
@@ -46705,7 +46705,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: iQitSpMkfs7E1EAhY9Z39B
+    - id: ppZPTSRHVbp4aB5Tjsp8Sq
       sortOrder: 11
       fieldKey: addressCity
       label: City
@@ -46720,7 +46720,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: j64R2HBx8LC4eBotQ6T4sX
+    - id: vG9t2zsqR1eLgkWVzjiDmQ
       sortOrder: 12
       fieldKey: addressPostalCode
       label: State
@@ -46735,7 +46735,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: jywnQKwXgWqM1Z36LyRxkh
+    - id: 5VWdFYYiFLzAsCYsmR1cAV
       sortOrder: 13
       fieldKey: customerSince
       label: Customer Since
@@ -46750,7 +46750,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: hhsGTynpidBroAJAvb8Xfj
+    - id: 6GFUvQ4oN9jT6WgyocDEdK
       sortOrder: 14
       fieldKey: loyaltyStatus
       label: Loyalty Status
@@ -46767,7 +46767,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: gVYGWF7cBNUC1mbKfb8hF8
+    - id: 4HFSh4tmpZhnXr361sgsrB
       sortOrder: 15
       fieldKey: isNewCustomer
       label: New Customer Flag
@@ -46782,7 +46782,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 8A3b5omAUfFNiqdXYdFnRa
+    - id: 6di6K8ZRAzpK7oU7V6tjRq
       sortOrder: 16
       fieldKey: friendbuyAttributes
       label: Custom Attributes
@@ -46810,7 +46810,7 @@ items:
     hidden: false
     defaultTrigger: type = "page"
     fields:
-    - id: 9m4ebCrh63BiJ5JZfHfLjx
+    - id: 7d99TsT6iyvqgegs4jDRNb
       sortOrder: 0
       fieldKey: name
       label: Page Name
@@ -46825,7 +46825,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: gpbuBNz73y2QzrqcKAssZK
+    - id: vp5V75NmVcHSRDYBcPPLVP
       sortOrder: 1
       fieldKey: category
       label: Page Category
@@ -46840,7 +46840,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: ja1bDYBCX5nbifXwAARRwu
+    - id: nNSJNxaVnyki7GF3avoBXN
       sortOrder: 2
       fieldKey: title
       label: Page Title
@@ -46856,64 +46856,6 @@ items:
       allowNull: false
       hidden: false
   presets:
-  - actionId: fk2xKEXiXd9qEkQb24nzXh
-    name: Track Page
-    fields:
-      name:
-        '@path': $.name
-      category:
-        '@path': $.category
-      title:
-        '@path': $.properties.title
-    trigger: type = "page"
-  - actionId: vj1sYaj9saWmcRUVbFaPf5
-    name: Track Purchase
-    fields:
-      orderId:
-        '@path': $.properties.order_id
-      amount:
-        '@path': $.properties.total
-      currency:
-        '@path': $.properties.currency
-      coupon:
-        '@path': $.properties.coupon
-      attributionId:
-        '@path': $.properties.attributionId
-      referralCode:
-        '@path': $.properties.referralCode
-      giftCardCodes:
-        '@path': $.properties.giftCardCodes
-      products:
-        '@path': $.properties.products
-      customerId:
-        '@if':
-          exists:
-            '@path': $.properties.customerId
-          then:
-            '@path': $.properties.customerId
-          else:
-            '@path': $.userId
-      anonymousId:
-        '@path': $.anonymousId
-      email:
-        '@path': $.properties.email
-      isNewCustomer:
-        '@path': $.properties.isNewCustomer
-      loyaltyStatus:
-        '@path': $.properties.loyaltyStatus
-      firstName:
-        '@path': $.properties.firstName
-      lastName:
-        '@path': $.properties.lastName
-      name:
-        '@path': $.properties.name
-      age:
-        '@path': $.properties.age
-      birthday:
-        '@path': $.properties.birthday
-      friendbuyAttributes:
-        '@path': $.properties.friendbuyAttributes
-    trigger: event = "Order Completed"
   - actionId: otSYqZFafJi5aae1yTwynq
     name: Track Sign Up
     fields:
@@ -46990,6 +46932,64 @@ items:
       friendbuyAttributes:
         '@path': $.traits.friendbuyAttributes
     trigger: type = "identify"
+  - actionId: fk2xKEXiXd9qEkQb24nzXh
+    name: Track Page
+    fields:
+      name:
+        '@path': $.name
+      category:
+        '@path': $.category
+      title:
+        '@path': $.properties.title
+    trigger: type = "page"
+  - actionId: vj1sYaj9saWmcRUVbFaPf5
+    name: Track Purchase
+    fields:
+      orderId:
+        '@path': $.properties.order_id
+      amount:
+        '@path': $.properties.total
+      currency:
+        '@path': $.properties.currency
+      coupon:
+        '@path': $.properties.coupon
+      attributionId:
+        '@path': $.properties.attributionId
+      referralCode:
+        '@path': $.properties.referralCode
+      giftCardCodes:
+        '@path': $.properties.giftCardCodes
+      products:
+        '@path': $.properties.products
+      customerId:
+        '@if':
+          exists:
+            '@path': $.properties.customerId
+          then:
+            '@path': $.properties.customerId
+          else:
+            '@path': $.userId
+      anonymousId:
+        '@path': $.anonymousId
+      email:
+        '@path': $.properties.email
+      isNewCustomer:
+        '@path': $.properties.isNewCustomer
+      loyaltyStatus:
+        '@path': $.properties.loyaltyStatus
+      firstName:
+        '@path': $.properties.firstName
+      lastName:
+        '@path': $.properties.lastName
+      name:
+        '@path': $.properties.name
+      age:
+        '@path': $.properties.age
+      birthday:
+        '@path': $.properties.birthday
+      friendbuyAttributes:
+        '@path': $.properties.friendbuyAttributes
+    trigger: event = "Order Completed"
   partnerOwned: true
 - id: 54521fd625e721e32a72eeb8
   display_name: FullStory
@@ -70387,7 +70387,7 @@ items:
     hidden: false
     defaultTrigger: type = "track"
     fields:
-    - id: mq1JBc7UE5jezBA9BJuNkH
+    - id: q3tMM7GJnQDrR9434wLyrx
       sortOrder: 0
       fieldKey: event_name
       label: Event Name
@@ -70401,7 +70401,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: xynLS9fBioXaiHxTk5q2Qc
+    - id: iBmfEFXhgW2y4YDCxB3k3m
       sortOrder: 1
       fieldKey: revenue
       label: Revenue
@@ -70417,7 +70417,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: d1fFHeUCUmYupZCkzBFhW4
+    - id: qmCjcgmFhLVmGUvmWUdkN7
       sortOrder: 2
       fieldKey: currency
       label: Currency
@@ -70433,7 +70433,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: pY9vJcUt4Ps96fZu51uAn3
+    - id: ptGRqqjrbV2MeMi1rJV6xA
       sortOrder: 3
       fieldKey: event_metadata
       label: Event Metadata
@@ -70455,7 +70455,7 @@ items:
     hidden: false
     defaultTrigger: type = "group"
     fields:
-    - id: 6aEhSk9Xxi6zdwt78AunMp
+    - id: bDPnWGcGHWXWj5nANtZYZP
       sortOrder: 0
       fieldKey: company
       label: Company
@@ -70490,7 +70490,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5zBgiK62Rp8w3YGB7VjGg9
+    - id: juHWuh64cJFTmu4fQby8Vk
       sortOrder: 1
       fieldKey: hide_default_launcher
       label: Hide Default Launcher
@@ -70524,7 +70524,7 @@ items:
     hidden: false
     defaultTrigger: type = "identify" or type = "page"
     fields:
-    - id: szzhV3uoFuH1cDpqyMNoYx
+    - id: b38rUKWz2doCTdnf7uaJ4B
       sortOrder: 0
       fieldKey: user_id
       label: User ID
@@ -70538,7 +70538,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: kczvBPohUPGu38k8otGk5g
+    - id: anqafKKQ66Se8ttGaXkRSr
       sortOrder: 1
       fieldKey: custom_traits
       label: Custom Attributes
@@ -70550,7 +70550,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: cMvFExAeUenaZTCdtPaNVu
+    - id: uwLDCEbBSriBL2tQ53zKAf
       sortOrder: 2
       fieldKey: name
       label: Name
@@ -70564,7 +70564,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: d5wyJQybuiaoFJ87JfMcx4
+    - id: ocfjoKATo9M2xFmRZDX1YL
       sortOrder: 3
       fieldKey: phone
       label: Phone Number
@@ -70578,7 +70578,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ran9B5T8nV1Jqskruk8skp
+    - id: aHcMwcmDQLK6vtkPdDFYVo
       sortOrder: 4
       fieldKey: unsubscribed_from_emails
       label: Unsubscribed From Emails
@@ -70590,7 +70590,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: tW4W819YNUhtF5itADRUkc
+    - id: utTEacb4Z3YodS9LYxFwyZ
       sortOrder: 5
       fieldKey: language_override
       label: Language Override
@@ -70604,7 +70604,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: uBbuEwKUaikLUw6VH5MQTh
+    - id: qKZkWiHyT7MD8n4F23XJKo
       sortOrder: 6
       fieldKey: email
       label: Email Address
@@ -70618,7 +70618,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: d1oAVy86TTzDk3KYxXzvFB
+    - id: faSozTVDyr41hu1AJJ7K9a
       sortOrder: 7
       fieldKey: created_at
       label: User Creation Time
@@ -70638,7 +70638,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: hdGhrbjyGsJ7RiFQtbGpG6
+    - id: 2VuNZhEmxiTWjU8ka9DBrM
       sortOrder: 8
       fieldKey: avatar_image_url
       label: Avatar
@@ -70652,7 +70652,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 8GWMZnfBhwBaoKhhWMCVPY
+    - id: oSYzfbVpP53GcMGRz6hSKo
       sortOrder: 9
       fieldKey: user_hash
       label: User Hash
@@ -70675,7 +70675,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: eAKgAWEvqBx9eYghqpZBNQ
+    - id: 2UMW9XztJGHE7RUwFy344C
       sortOrder: 10
       fieldKey: intercom_user_jwt
       label: Intercom User JWT
@@ -70699,7 +70699,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: wbgKoz36MtxFcic8Pz3rHD
+    - id: sc4asvfuszwnTY6nGGJqQp
       sortOrder: 11
       fieldKey: company
       label: Company
@@ -70734,7 +70734,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ihytDbuPQgRhpJptC5HmZX
+    - id: uqrhkyxQA2vRV5s74KeBgK
       sortOrder: 12
       fieldKey: companies
       label: Companies
@@ -70771,7 +70771,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 9WCnDuuQPojuykHHxzpwqo
+    - id: 4yGDpFYKBjzGT8k8DETUW9
       sortOrder: 13
       fieldKey: hide_default_launcher
       label: Hide Default Launcher
@@ -70798,53 +70798,6 @@ items:
       dynamic: false
       allowNull: false
   presets:
-  - actionId: 9e8n4VX1tR81fawEiAtGPg
-    name: Identify Company
-    fields:
-      company:
-        company_id:
-          '@path': $.groupId
-        name:
-          '@path': $.traits.name
-        created_at:
-          '@if':
-            exists:
-              '@path': $.traits.createdAt
-            then:
-              '@path': $.traits.createdAt
-            else:
-              '@path': $.traits.created_at
-        plan:
-          '@path': $.traits.plan
-        size:
-          '@path': $.traits.size
-        website:
-          '@path': $.traits.website
-        industry:
-          '@path': $.traits.industry
-        monthly_spend:
-          '@path': $.traits.monthly_spend
-      hide_default_launcher:
-        '@if':
-          exists:
-            '@path': $.context.Intercom.hideDefaultLauncher
-          then:
-            '@path': $.context.Intercom.hideDefaultLauncher
-          else:
-            '@path': $.context.Intercom.hide_default_launcher
-    trigger: type = "group"
-  - actionId: obbhMxCCfbwRwxViADd4Dq
-    name: Track Event
-    fields:
-      event_name:
-        '@path': $.event
-      revenue:
-        '@path': $.properties.revenue
-      currency:
-        '@path': $.properties.currency
-      event_metadata:
-        '@path': $.properties
-    trigger: type = "track"
   - actionId: soJTzcZj8roZAwGZow5YNp
     name: Identify User
     fields:
@@ -70939,6 +70892,53 @@ items:
           else:
             '@path': $.context.Intercom.hide_default_launcher
     trigger: type = "identify" or type = "page"
+  - actionId: 9e8n4VX1tR81fawEiAtGPg
+    name: Identify Company
+    fields:
+      company:
+        company_id:
+          '@path': $.groupId
+        name:
+          '@path': $.traits.name
+        created_at:
+          '@if':
+            exists:
+              '@path': $.traits.createdAt
+            then:
+              '@path': $.traits.createdAt
+            else:
+              '@path': $.traits.created_at
+        plan:
+          '@path': $.traits.plan
+        size:
+          '@path': $.traits.size
+        website:
+          '@path': $.traits.website
+        industry:
+          '@path': $.traits.industry
+        monthly_spend:
+          '@path': $.traits.monthly_spend
+      hide_default_launcher:
+        '@if':
+          exists:
+            '@path': $.context.Intercom.hideDefaultLauncher
+          then:
+            '@path': $.context.Intercom.hideDefaultLauncher
+          else:
+            '@path': $.context.Intercom.hide_default_launcher
+    trigger: type = "group"
+  - actionId: obbhMxCCfbwRwxViADd4Dq
+    name: Track Event
+    fields:
+      event_name:
+        '@path': $.event
+      revenue:
+        '@path': $.properties.revenue
+      currency:
+        '@path': $.properties.currency
+      event_metadata:
+        '@path': $.properties
+    trigger: type = "track"
   partnerOwned: false
 - id: 54521fd725e721e32a72eec5
   display_name: Iron.io
@@ -92734,14 +92734,14 @@ items:
 - id: 682db7017819e7e055f55cb4
   display_name: Ortto (Actions)
   name: Ortto (Actions)
-  slug: ortto-actions
+  slug: actions-ortto
   hidden: false
   endpoints:
   - US
   regions:
   - us-west-2
   - eu-west-1
-  url: connections/destinations/catalog/ortto-actions
+  url: connections/destinations/catalog/actions-ortto
   previous_names:
   - Ortto (Actions)
   website: https://ortto.com/
@@ -111033,144 +111033,6 @@ items:
       hidden: false
   presets: []
   partnerOwned: false
-- id: 6189bc6dc616c2d82f61349c
-  display_name: Segment Data Lakes (Azure)
-  name: Segment Data Lakes (Azure)
-  slug: segment-data-lakes-azure
-  hidden: true
-  endpoints:
-  - US
-  regions:
-  - us-west-2
-  - eu-west-1
-  url: connections/destinations/catalog/segment-data-lakes-azure
-  previous_names:
-  - Azure Data Lakes
-  - Segment Data Lakes (Azure)
-  website: https://segment.com/docs/connections/storage/data-lakes/
-  status: PUBLIC
-  categories:
-  - Raw Data
-  - Email
-  - CRM
-  logo:
-    url: https://cdn.filepicker.io/api/file/blchmYvQ36JOzWPWZ7Qa
-  mark:
-    url: https://cdn.filepicker.io/api/file/SIWnw2VqRPqF7abxuHZK
-  methods:
-    track: true
-    identify: true
-    group: true
-    alias: true
-    screen: false
-    page: true
-  platforms:
-    browser: true
-    mobile: true
-    server: true
-    warehouse: false
-    cloudAppObject: false
-    linkedAudiences: false
-  components:
-  - code: https://github.com/segmentio/integrations/tree/master/integrations/hubspot
-    owner: SEGMENT
-    type: SERVER
-  browserUnbundlingSupported: false
-  browserUnbundlingPublic: true
-  replay: false
-  connection_modes:
-    device:
-      web: false
-      mobile: false
-      server: false
-    cloud:
-      web: true
-      mobile: true
-      server: true
-  settings:
-  - name: azureStorageAccount
-    type: string
-    defaultValue: ''
-    description: The name of the Azure Storage Account
-    required: true
-    label: Azure Storage Account Name
-  - name: azureStorageContainer
-    type: string
-    defaultValue: ''
-    description: The name of the storage container
-    required: true
-    label: Azure Storage Container Name
-  - name: azureSubscriptionId
-    type: string
-    defaultValue: ''
-    description: Azure Subscription ID
-    required: true
-    label: Azure Subscription ID
-  - name: azureTenantId
-    type: string
-    defaultValue: ''
-    description: Azure Tenant ID
-    required: true
-    label: Azure Tenant ID
-  - name: databricksClusterId
-    type: string
-    defaultValue: ''
-    description: Databricks Cluster ID
-    required: true
-    label: Databricks Cluster ID
-  - name: databricksInstanceUrl
-    type: string
-    defaultValue: ''
-    description: Databricks Instance URL
-    required: true
-    label: Databricks Instance URL
-  - name: databricksWorkspaceName
-    type: string
-    defaultValue: ''
-    description: Databricks Workspace Name
-    required: true
-    label: Databricks Workspace Name
-  - name: databricksWorkspaceResourceGroup
-    type: string
-    defaultValue: ''
-    description: Databricks Workspace Resource Group
-    required: true
-    label: Databricks Workspace Resource Group Id
-  - name: datePartition
-    type: select
-    defaultValue: ''
-    description: >-
-      This drop down can be used to select the type of date partition required
-      to store the tables.
-    required: false
-    label: Date Partition
-  - name: partitionBySlugName
-    type: boolean
-    defaultValue: false
-    description: Enable to partition the data by source_slug_name instead of source_id
-    required: false
-    label: Partition by Slug Name
-  - name: region
-    type: string
-    defaultValue: ''
-    description: Azure Account Region
-    required: true
-    label: Region
-  - name: servicePrincipalClientId
-    type: string
-    defaultValue: ''
-    description: Service Principal Client ID
-    required: true
-    label: Service Principal Client ID
-  - name: servicePrincipalClientSecret
-    type: string
-    defaultValue: ''
-    description: Service Principal Client Secret
-    required: true
-    label: Service Principal Client Secret
-  actions: []
-  presets: []
-  partnerOwned: false
 - id: 639c2dbb1309fdcad13951b6
   display_name: Segment Profiles
   name: Segment Profiles
diff --git a/src/_data/catalog/destinations_private.yml b/src/_data/catalog/destinations_private.yml
index d78ab8da5e..43df3f3dfa 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 2025-07-07 
+# destination data last updated 2025-07-10 
 items:
   - id: 54521fd925e721e32a72eee1
     display_name: Pardot
diff --git a/src/_data/catalog/source_categories.yml b/src/_data/catalog/source_categories.yml
index 8e23322b82..595bb73691 100644
--- a/src/_data/catalog/source_categories.yml
+++ b/src/_data/catalog/source_categories.yml
@@ -1,5 +1,5 @@
 # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
-# source categories last updated 2025-07-07 
+# source categories last updated 2025-07-10 
 items:
   - display_name: A/B testing
     slug: a-b-testing
diff --git a/src/_data/catalog/sources.yml b/src/_data/catalog/sources.yml
index 63f73ab407..a08d455fe8 100644
--- a/src/_data/catalog/sources.yml
+++ b/src/_data/catalog/sources.yml
@@ -1,5 +1,5 @@
 # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
-# sources last updated 2025-07-07 
+# sources last updated 2025-07-10 
 items:
   - id: 8HWbgPTt3k
     display_name: .NET

From 91f0c716f8850183ce2c8801c31735c7e10f1f98 Mon Sep 17 00:00:00 2001
From: Austin Hsueh <austin.hsueh@reddit.com>
Date: Thu, 10 Jul 2025 13:47:51 -0700
Subject: [PATCH 068/188] Add Reddit Pixel Docs and minor update to CAPI doc

---
 .../actions-reddit-conversions-api/index.md   |  2 +-
 .../catalog/actions-reddit-pixel/index.md     | 32 +++++++++++++++++++
 2 files changed, 33 insertions(+), 1 deletion(-)
 create mode 100644 src/connections/destinations/catalog/actions-reddit-pixel/index.md

diff --git a/src/connections/destinations/catalog/actions-reddit-conversions-api/index.md b/src/connections/destinations/catalog/actions-reddit-conversions-api/index.md
index b645afe69d..da658603a3 100644
--- a/src/connections/destinations/catalog/actions-reddit-conversions-api/index.md
+++ b/src/connections/destinations/catalog/actions-reddit-conversions-api/index.md
@@ -60,7 +60,7 @@ Segment creates a SHA-256 hash of the following fields before sending to Reddit.
 
 If you implement both the [Reddit Pixel](https://business.reddithelp.com/helpcenter/s/article/reddit-pixel){:target="_blank"} and [Conversions API (CAPI)](https://business.reddithelp.com/helpcenter/s/article/Conversions-API){:target="_blank"} and the same events are shared across both sources, deduplication is necessary to ensure those events aren’t double-counted.
 
-You can pass a unique conversion ID for every distinct event to its corresponding Reddit Pixel and CAPI event. Reddit will determine which events are duplicates based on the conversion ID and the conversion event name. This is the best and most accurate way to ensure proper deduplication, and Reddit recommends this method since there’s less risk of incorrect integration, which can impact attribution accuracy.
+The integration automatically pre-maps the Segment `messageId` as the Reddit Conversion ID. If you wish to change this, you can pass a unique conversion ID for every distinct event to its corresponding Reddit Pixel and CAPI event. Reddit will determine which events are duplicates based on the conversion ID and the conversion event name. This is the best and most accurate way to ensure proper deduplication, and Reddit recommends this method since there’s less risk of incorrect integration, which can impact attribution accuracy.
 
 To ensure your events are deduplicated:
 - Create a unique conversion ID for every distinct event. You can set this as a random number or ID. Similarly, you could set this to the order number when tracking purchase events.
diff --git a/src/connections/destinations/catalog/actions-reddit-pixel/index.md b/src/connections/destinations/catalog/actions-reddit-pixel/index.md
new file mode 100644
index 0000000000..1e477dc756
--- /dev/null
+++ b/src/connections/destinations/catalog/actions-reddit-pixel/index.md
@@ -0,0 +1,32 @@
+---
+title: Reddit Pixel
+---
+
+{% include content/plan-grid.md name="actions" %}
+
+The [Reddit Pixel](https://business.reddithelp.com/s/article/reddit-pixel){:target="_blank"} lets advertisers send Segment events to the Reddit Pixel without any additional manual JavaScript installation. This destination has Segment events pre-mapped to Reddit Pixel events and metadata. You can edit this mapping and create new events - no custom code required.
+
+## Getting started
+
+1. From your workspace's [Destination catalog page](https://app.segment.com/goto-my-workspace/destinations/catalog){:target="_blank”}, find the Reddit Pixel destination and select **Add Destination**.
+2. Select the source that will connect to the Reddit Pixel destination.
+3. Open the destination settings and provide your Pixel ID. This can be found in the [Events Manager](https://ads.reddit.com/events-manager){:target="_blank"}.
+4. Configure and map the events you'd like to send to the Reddit Pixel. The destination pre-maps certain Segment events to Reddit Pixel events and metadata, but you can edit these values. You can also set up custom events.
+
+After enabling the destination, Segment will automatically initialize and load the Reddit Pixel on each page that Segment is tracking based on your mappings.
+
+
+{% include components/actions-fields.html %}
+
+## Deduplication with the Reddit Conversions API
+
+If you implement both the [Reddit Pixel](https://business.reddithelp.com/s/article/reddit-pixel){:target="_blank"} and [Reddit Conversions API (CAPI)](https://business.reddithelp.com/s/article/Conversions-API){:target="_blank"} and the same events are shared across both sources, deduplication is necessary to ensure those events aren’t double-counted.
+
+The integration automatically pre-maps the Segment `messageId` to the Reddit conversion ID. If you wish to change this, you can pass a different unique conversion ID for every distinct event to its corresponding Reddit Pixel and CAPI event. Reddit will determine which events are duplicates based on the conversion ID and conversion event name. This is the most accurate way to ensure proper deduplication. Reddit recommends this method since there’s less risk of incorrect integration, which can impact attribution accuracy.
+
+To ensure your events are deduplicated:
+- Create a unique conversion ID for every distinct event. You can set this as a random number or ID. Similarly, you could set this to the order number when tracking purchase events.
+- Include the event in the Reddit Pixel and CAPI.
+- Ensure the conversion event name and conversion ID for its corresponding events match.
+
+For more information on deduplication, see the [Reddit Event Deduplication documentation](https://business.reddithelp.com/s/article/event-deduplication){:target="_blank"}.
\ No newline at end of file

From 2e0635b8b7fb0e17757ea9c586d2628939102114 Mon Sep 17 00:00:00 2001
From: Piyush Mishra <162315711+piyush-nudge@users.noreply.github.com>
Date: Fri, 11 Jul 2025 13:00:26 +0530
Subject: [PATCH 069/188] update: updated index.md to include hidden flag

---
 src/connections/destinations/catalog/actions-nudge/index.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/connections/destinations/catalog/actions-nudge/index.md b/src/connections/destinations/catalog/actions-nudge/index.md
index 3946ab7c7e..554e7b1978 100644
--- a/src/connections/destinations/catalog/actions-nudge/index.md
+++ b/src/connections/destinations/catalog/actions-nudge/index.md
@@ -3,6 +3,7 @@ title: Nudge (Actions) Destination
 id: 6863e71f2a1e1ddc4b4612bf
 private: true
 beta: true
+hidden: true
 ---
 
 {% include content/plan-grid.md name="actions" %}

From 0266f63ba39830f7a262077ee6dd7d690230600d Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Fri, 11 Jul 2025 09:54:02 -0400
Subject: [PATCH 070/188] vale edits, callout about data type

---
 .../catalog/amazon-kinesis/index.md           | 27 ++++++++++---------
 1 file changed, 15 insertions(+), 12 deletions(-)

diff --git a/src/connections/destinations/catalog/amazon-kinesis/index.md b/src/connections/destinations/catalog/amazon-kinesis/index.md
index af32a8dad2..2ade5cf926 100644
--- a/src/connections/destinations/catalog/amazon-kinesis/index.md
+++ b/src/connections/destinations/catalog/amazon-kinesis/index.md
@@ -8,9 +8,7 @@ id: 57da359580412f644ff33fb9
 > info "Amazon Kinesis is not compatible with IP Allowlisting"
 > For more information, see the [IP Allowlisting](/docs/connections/destinations/#ip-allowlisting) documentation. 
 
-## Getting Started
-
-
+## Getting started
 
 To get started:
 1. Create a Kinesis stream. Follow these [instructions](http://docs.aws.amazon.com/streams/latest/dev/learning-kinesis-module-one-create-stream.html){:target="_blank"} in order to create a new AWS Kinesis Stream.
@@ -53,15 +51,18 @@ To get started:
    2. Enter the **Role Address**, **Stream Region**, **Stream Name**, and **Secret ID**.
    * **NOTE:** For security purposes, Segment sets your Workspace ID as your Secret ID. If you're using a Secret ID different from your Workspace ID, reach out to our support team so they can change it to make your account more secure.
 
+> success ""
+> Segment's Amazon Kinesis destination only transmits data in JSON format. 
+
 ## Page
-If you're not familiar with the Segment Specs, take a look to understand what the [Page method](/docs/connections/spec/page/) does. An example call would look like:
+If you're not familiar with the Segment Spec, take a look to understand what the [Page method](/docs/connections/spec/page/) does. An example call would look like:
 
 ```js
   analytics.page();
 ```
 
 ## Identify
-If you're not familiar with the Segment Specs, take a look to understand what the [Identify method](/docs/connections/spec/identify/) does.  An example call would look like:
+If you're not familiar with the Segment Spec, take a look to understand what the [Identify method](/docs/connections/spec/identify/) does.  An example call would look like:
 
 ```js
 analytics.identify('97980cfea0085', {
@@ -71,7 +72,7 @@ analytics.identify('97980cfea0085', {
 ```
 
 ## Track
-If you're not familiar with the Segment Specs, take a look to understand what the [Track method](/docs/connections/spec/track/) does. An example call would look like:
+If you're not familiar with the Segment Spec, take a look to understand what the [Track method](/docs/connections/spec/track/) does. An example call would look like:
 
 ```js
 analytics.track("User Registered", {
@@ -80,8 +81,8 @@ analytics.track("User Registered", {
 });
 ```
 
-### Data Model
-Let's say you're connecting your Segment customer data stream to Kinesis Stream `arn:aws:kinesis:{region}:{account-id}:stream/{stream-name}`. If you send Segment the following in a `track` call:
+### Data model
+Let's say you're connecting your Segment customer data stream to Kinesis Stream `arn:aws:kinesis:{region}:{account-id}:stream/{stream-name}`. If you send Segment the following in a Track call:
 ```json
 {
   "userId": "user_1",
@@ -106,9 +107,9 @@ const request = kinesis.putRecord(payload)
 Segment uses the `messageId` or the `userId || anonymousId` as the `PartitionKey`. The partition key is used by Amazon Kinesis to distribute data across shards. Amazon Kinesis segregates the data records that belong to a stream into multiple shards, using the partition key associated with each data record to determine which shard a given data record belongs to.
 
 ## Group
-If you're not familiar with the Segment Specs, take a look to understand what the [Group method](/docs/connections/spec/group/) does.
+If you're not familiar with the Segment Spec, take a look to understand what the [Group method](/docs/connections/spec/group/) does.
 
-An example group call is shown below:
+An example Group call is shown below:
 ```js
 analytics.group("0e8c78ea9d9dsasahjg", {
   name: "group_name",
@@ -121,7 +122,9 @@ analytics.group("0e8c78ea9d9dsasahjg", {
 ## Troubleshooting
 When you get started, Segment recommends using any of the open source [Kinesis tailing utility](https://github.com/search?utf8=%E2%9C%93&q=kinesis-tail){:target="_blank"} to validate that data is flowing correctly.
 
-## Best Practices
+## Best practices
+
+The following best practices help you implement additional Amazon Kinesis functionality like encryption, the use of multiple data sources, and more efficient data transmission. 
 
 ### Updating IAM role permissions for encryption
 Extra permissions need to be added to the IAM role if using at-rest encryption on the Kinesis stream. An updated role policy like below resolves issues when submitting PutRecords into Kinesis stream using encryption:
@@ -141,7 +144,7 @@ Extra permissions need to be added to the IAM role if using at-rest encryption o
 }
 ```
 
-### Multiple Sources
+### Multiple sources
 If you have multiple sources using Kinesis/Firehose, you have two options:
 
 ### Attach multiple sources to your IAM role

From 68e70776892de9b88446895142064ddd18fff417 Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Fri, 11 Jul 2025 10:06:56 -0400
Subject: [PATCH 071/188] update build instructions with info from
 action-destinations repo

https://github.com/segmentio/action-destinations/tree/main
---
 src/partners/destinations/build.md | 28 ++++++++++++++++++++--------
 1 file changed, 20 insertions(+), 8 deletions(-)

diff --git a/src/partners/destinations/build.md b/src/partners/destinations/build.md
index 849ea63320..bf63ececae 100644
--- a/src/partners/destinations/build.md
+++ b/src/partners/destinations/build.md
@@ -11,7 +11,7 @@ Before you begin, consider the following prerequisites.
 
 ### Security
 
-The security of customers and partners is a top priority at Segment. Before you begin building, review the [Acceptable Use Policy](https://segment.com/legal/acceptable-use-policy/), and keep in mind:
+The security of customers and partners is a top priority at Segment. Before you begin building, review the [Acceptable Use Policy](https://segment.com/legal/acceptable-use-policy/){:target="_blank}, and keep in mind:
 
 - Follow a secure software-development lifecycle, which enables you to both create code that is safe for Segment customers and their end users, and maintain and raise the security of that code over time.
 - If you or your code comes into contact with Segment customer or end-user data for any reason, protect it with commercially reasonable methods throughout the data lifecycle, including creating, handling, transporting, and destruction.
@@ -23,9 +23,11 @@ The security of customers and partners is a top priority at Segment. Before you
 You don't need to access a Segment dev environment to build an integration. You’ll test it locally on your machine. Destinations are written in TypeScript. For more information about TypeScript, see TypeScript's [documentation](https://www.typescriptlang.org/docs/){:target="_blank}.
 
 To work with Segment's actions repository, download and install the following:
-  - [node](https://nodejs.org/en/){:target="_blank"}
+  - [node](https://nodejs.org/en/){:target="_blank"} (_version 18.7+. Segment recommends managing Node versions with `nvm`._)
   - [nvm](https://github.com/nvm-sh/nvm){:target="_blank"}
-  - [yarn](https://yarnpkg.com/){:target="_blank"}
+  - [yarn](https://yarnpkg.com/){:target="_blank"} (_version 1.x_)
+
+If you encounter errors when setting up your development environment, ensure you're running the correct version of Node by running `nvm use`. 
 
 ### Fork the repository
 
@@ -37,16 +39,26 @@ Fork the `segmentio/action-destinations` repository, connect to NPM and Yarn, an
 Run the test suite to ensure the environment is properly configured.
 
 ```sh
-git clone https://github.com/<your_gh_org>/action-destinations.git
+# Clone the repo locally
+git clone <your fork or https://github.com/segmentio/action-destinations.git>
 cd action-destinations
+
 npm login
 yarn login
-# Requires node 14.17, optionally: nvm use 14.17
-yarn --ignore-engines --ignore-optional
-yarn bootstrap
-yarn build
+
+# Requires node 18.17.1, optionally: nvm use 18.17.1
+yarn --ignore-optional
 yarn install
+yarn build
+
+# Run unit tests to ensure things are working! For partners who don't have access to internal packages, you can run:
+yarn test-partners
+
+# For segment employees, you can run:
 yarn test
+
+# to reset all caches and rebuild again
+yarn clean-build
 ```
 
 ## Create a destination

From 19d6d0f5e04387904a5ca6fb71a9feb4b7370838 Mon Sep 17 00:00:00 2001
From: saiyamshah1496 <saiyam@aampe.com>
Date: Mon, 14 Jul 2025 15:26:54 +0530
Subject: [PATCH 072/188] Add Aampe (Actions) destination documentation

---
 .../catalog/actions-aampe/index.md            | 28 +++++++++++++++++++
 1 file changed, 28 insertions(+)
 create mode 100644 src/connections/destinations/catalog/actions-aampe/index.md

diff --git a/src/connections/destinations/catalog/actions-aampe/index.md b/src/connections/destinations/catalog/actions-aampe/index.md
new file mode 100644
index 0000000000..07c8f4bfe8
--- /dev/null
+++ b/src/connections/destinations/catalog/actions-aampe/index.md
@@ -0,0 +1,28 @@
+---
+title: Aampe (Actions) Destination
+---
+
+[Aampe](https://aampe.com/)'s Agentic AI learns what works for each customer. Then it instantly adapts your messaging and delivers at optimal times to drive better engagement, growth and unlock valuable insights. 
+
+By assigning a dedicated agent for each user, Aampe conducts controlled, parallelized experiments to learn user preferences and optimizes engagement for them. It’s a dynamic, self-improving system that fine-tunes every interaction, ensuring your messaging evolves as fast as your audience does.
+
+This destination is maintained by Aampe. For any issues with the destination, [contact the Aampe Support team](mailto:developer@aampe.com).
+
+## Getting Started
+
+
+1. From the Destinations catalog page in the Segment App, click **Add Destination**.
+2. Search for "Aampe (Actions)" in the Destinations Catalog, and select the "Aampe (Actions)" destination.
+3. Choose which Source should send data to the "Aampe" destination.
+4. Go to the [Data Integrations page](https://compose.aampe.com/configure/integrations) on Aampe Composer, click on "Add Integration", select "Segment" and click "Next".
+5. Copy the Segment API Key from the resulting page.
+6. Enter this key in "API Key" in the "Aampe" destination settings in Segment.
+7. Enter the appropriate data region as per the privacy policy.
+
+## Supported methods
+
+Aampe supports the following methods, as specified in the [Segment Spec](/docs/connections/spec).
+
+Segment sends Track, Page, Screen calls to Aampe as an event. These are used by Aampe agents to learn preferences for your users and take the best action 
+
+Aampe also recevies identify calls and user property update calls from Segment which help in high-level segmentation for eligible audiences
\ No newline at end of file

From 7f3b4ba04f9f71e1271a3d47c6019ea1e544c0db Mon Sep 17 00:00:00 2001
From: saiyamaampe <saiyam@aampe.com>
Date: Mon, 14 Jul 2025 19:01:50 +0530
Subject: [PATCH 073/188] Revert extra space

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 src/connections/destinations/catalog/actions-aampe/index.md | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/connections/destinations/catalog/actions-aampe/index.md b/src/connections/destinations/catalog/actions-aampe/index.md
index 07c8f4bfe8..73b2bb4c8d 100644
--- a/src/connections/destinations/catalog/actions-aampe/index.md
+++ b/src/connections/destinations/catalog/actions-aampe/index.md
@@ -9,8 +9,6 @@ By assigning a dedicated agent for each user, Aampe conducts controlled, paralle
 This destination is maintained by Aampe. For any issues with the destination, [contact the Aampe Support team](mailto:developer@aampe.com).
 
 ## Getting Started
-
-
 1. From the Destinations catalog page in the Segment App, click **Add Destination**.
 2. Search for "Aampe (Actions)" in the Destinations Catalog, and select the "Aampe (Actions)" destination.
 3. Choose which Source should send data to the "Aampe" destination.

From 7cab54f19d9c2958c37d7f3a30f2d1638f43c824 Mon Sep 17 00:00:00 2001
From: saiyamaampe <saiyam@aampe.com>
Date: Mon, 14 Jul 2025 19:48:30 +0530
Subject: [PATCH 074/188] Apply suggestions from code review

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 .../catalog/actions-aampe/index.md            | 21 +++++++++++--------
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/src/connections/destinations/catalog/actions-aampe/index.md b/src/connections/destinations/catalog/actions-aampe/index.md
index 73b2bb4c8d..578bc17c6f 100644
--- a/src/connections/destinations/catalog/actions-aampe/index.md
+++ b/src/connections/destinations/catalog/actions-aampe/index.md
@@ -1,8 +1,11 @@
 ---
 title: Aampe (Actions) Destination
+id: 6874c64e5eda096bf3850ee0
+private: true
+beta: true
 ---
 
-[Aampe](https://aampe.com/)'s Agentic AI learns what works for each customer. Then it instantly adapts your messaging and delivers at optimal times to drive better engagement, growth and unlock valuable insights. 
+[Aampe](https://aampe.com/){:target="_blank”}'s Agentic AI learns what works for each customer. Then it instantly adapts your messaging and delivers at optimal times to drive better engagement, growth and unlock valuable insights. 
 
 By assigning a dedicated agent for each user, Aampe conducts controlled, parallelized experiments to learn user preferences and optimizes engagement for them. It’s a dynamic, self-improving system that fine-tunes every interaction, ensuring your messaging evolves as fast as your audience does.
 
@@ -10,17 +13,17 @@ This destination is maintained by Aampe. For any issues with the destination, [c
 
 ## Getting Started
 1. From the Destinations catalog page in the Segment App, click **Add Destination**.
-2. Search for "Aampe (Actions)" in the Destinations Catalog, and select the "Aampe (Actions)" destination.
-3. Choose which Source should send data to the "Aampe" destination.
-4. Go to the [Data Integrations page](https://compose.aampe.com/configure/integrations) on Aampe Composer, click on "Add Integration", select "Segment" and click "Next".
-5. Copy the Segment API Key from the resulting page.
-6. Enter this key in "API Key" in the "Aampe" destination settings in Segment.
-7. Enter the appropriate data region as per the privacy policy.
+2. Search for "Aampe (Actions)" in the Destinations Catalog, and select the **Aampe (Actions)** destination.
+3. Choose which Source should send data to the Aampe destination.
+4. Open Aampe Composer and navigate to the [Data Integrations page](https://compose.aampe.com/configure/integrations), click **Add Integration**, select Segment and click **Next**.
+5. Copy the Segment API Key from Aampe Composer, then return to the Segment app.
+6. On your Aampe destination's settings page, enter the API key that you copied from Aampe Composer.
+7. Select the appropriate data region as per the privacy policy and click **Save**. 
 
 ## Supported methods
 
 Aampe supports the following methods, as specified in the [Segment Spec](/docs/connections/spec).
 
-Segment sends Track, Page, Screen calls to Aampe as an event. These are used by Aampe agents to learn preferences for your users and take the best action 
+Segment sends Track, Page, Screen calls to Aampe as an event. These are used by Aampe agents to learn preferences for your users and take action accordingly. 
 
-Aampe also recevies identify calls and user property update calls from Segment which help in high-level segmentation for eligible audiences
\ No newline at end of file
+Aampe also receives Identify calls and user property update calls from Segment which helps with high-level segmentation for eligible Aampe audiences.
\ No newline at end of file

From 0d8885a5c20f232bc93a668429b957bd31577f92 Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Mon, 14 Jul 2025 10:30:39 -0400
Subject: [PATCH 075/188] Update src/_data/privacy.yml

---
 src/_data/privacy.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/_data/privacy.yml b/src/_data/privacy.yml
index 80a9090a28..be80df6fd2 100644
--- a/src/_data/privacy.yml
+++ b/src/_data/privacy.yml
@@ -7,7 +7,7 @@ sections:
     path: /privacy/portal/
     icon: media/classify.svg
   - name: Control what data you collect
-    description: "Take control of the data that comes into your workspace."
+    description: "Take control of the data that enters your workspace."
     path: /privacy/data-controls/
     icon: media/control.svg
 

From 1af1c9ac3f5ea14952454b1910023f3e0cb16c4e Mon Sep 17 00:00:00 2001
From: saiyamaampe <saiyam@aampe.com>
Date: Mon, 14 Jul 2025 20:30:41 +0530
Subject: [PATCH 076/188] Add target for link

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 src/connections/destinations/catalog/actions-aampe/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/catalog/actions-aampe/index.md b/src/connections/destinations/catalog/actions-aampe/index.md
index 578bc17c6f..6e59357a27 100644
--- a/src/connections/destinations/catalog/actions-aampe/index.md
+++ b/src/connections/destinations/catalog/actions-aampe/index.md
@@ -15,7 +15,7 @@ This destination is maintained by Aampe. For any issues with the destination, [c
 1. From the Destinations catalog page in the Segment App, click **Add Destination**.
 2. Search for "Aampe (Actions)" in the Destinations Catalog, and select the **Aampe (Actions)** destination.
 3. Choose which Source should send data to the Aampe destination.
-4. Open Aampe Composer and navigate to the [Data Integrations page](https://compose.aampe.com/configure/integrations), click **Add Integration**, select Segment and click **Next**.
+4. Open Aampe Composer and navigate to the [Data Integrations page](https://compose.aampe.com/configure/integrations){:target="_blank”}, click **Add Integration**, select Segment and click **Next**.
 5. Copy the Segment API Key from Aampe Composer, then return to the Segment app.
 6. On your Aampe destination's settings page, enter the API key that you copied from Aampe Composer.
 7. Select the appropriate data region as per the privacy policy and click **Save**. 

From fd13503a525fcc33789afb63442763af0479b19c Mon Sep 17 00:00:00 2001
From: akhsueh <austin.hsueh@gmail.com>
Date: Mon, 14 Jul 2025 11:07:30 -0700
Subject: [PATCH 077/188] Apply suggestions from code review

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 .../actions-reddit-conversions-api/index.md        |  2 +-
 .../catalog/actions-reddit-pixel/index.md          | 14 +++++++-------
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/connections/destinations/catalog/actions-reddit-conversions-api/index.md b/src/connections/destinations/catalog/actions-reddit-conversions-api/index.md
index da658603a3..88b1bde2c0 100644
--- a/src/connections/destinations/catalog/actions-reddit-conversions-api/index.md
+++ b/src/connections/destinations/catalog/actions-reddit-conversions-api/index.md
@@ -60,7 +60,7 @@ Segment creates a SHA-256 hash of the following fields before sending to Reddit.
 
 If you implement both the [Reddit Pixel](https://business.reddithelp.com/helpcenter/s/article/reddit-pixel){:target="_blank"} and [Conversions API (CAPI)](https://business.reddithelp.com/helpcenter/s/article/Conversions-API){:target="_blank"} and the same events are shared across both sources, deduplication is necessary to ensure those events aren’t double-counted.
 
-The integration automatically pre-maps the Segment `messageId` as the Reddit Conversion ID. If you wish to change this, you can pass a unique conversion ID for every distinct event to its corresponding Reddit Pixel and CAPI event. Reddit will determine which events are duplicates based on the conversion ID and the conversion event name. This is the best and most accurate way to ensure proper deduplication, and Reddit recommends this method since there’s less risk of incorrect integration, which can impact attribution accuracy.
+The integration automatically pre-maps the Segment `messageId` to the Reddit Conversion ID. If you wish to change this, you can pass a unique conversion ID for every distinct event to its corresponding Reddit Pixel and CAPI event. Reddit will determine which events are duplicates based on the conversion ID and the conversion event name. This is the best and most accurate way to ensure proper deduplication, and Reddit recommends this method since there’s less risk of incorrect integration, which can impact attribution accuracy.
 
 To ensure your events are deduplicated:
 - Create a unique conversion ID for every distinct event. You can set this as a random number or ID. Similarly, you could set this to the order number when tracking purchase events.
diff --git a/src/connections/destinations/catalog/actions-reddit-pixel/index.md b/src/connections/destinations/catalog/actions-reddit-pixel/index.md
index 1e477dc756..0715741030 100644
--- a/src/connections/destinations/catalog/actions-reddit-pixel/index.md
+++ b/src/connections/destinations/catalog/actions-reddit-pixel/index.md
@@ -4,16 +4,16 @@ title: Reddit Pixel
 
 {% include content/plan-grid.md name="actions" %}
 
-The [Reddit Pixel](https://business.reddithelp.com/s/article/reddit-pixel){:target="_blank"} lets advertisers send Segment events to the Reddit Pixel without any additional manual JavaScript installation. This destination has Segment events pre-mapped to Reddit Pixel events and metadata. You can edit this mapping and create new events - no custom code required.
+The [Reddit Pixel](https://business.reddithelp.com/s/article/reddit-pixel){:target="_blank"} destination lets advertisers send Segment events to the Reddit Pixel without any additional manual JavaScript installation. This destination has Segment events pre-mapped to Reddit Pixel events and metadata. You can edit this mapping and create new events - no custom code required.
 
 ## Getting started
 
 1. From your workspace's [Destination catalog page](https://app.segment.com/goto-my-workspace/destinations/catalog){:target="_blank”}, find the Reddit Pixel destination and select **Add Destination**.
-2. Select the source that will connect to the Reddit Pixel destination.
-3. Open the destination settings and provide your Pixel ID. This can be found in the [Events Manager](https://ads.reddit.com/events-manager){:target="_blank"}.
+2. Select the source that you'd like to connect to the Reddit Pixel destination.
+3. Open the destination settings and provide your Pixel ID. This can be found in the Reddit's [Events Manager](https://ads.reddit.com/events-manager){:target="_blank"}.
 4. Configure and map the events you'd like to send to the Reddit Pixel. The destination pre-maps certain Segment events to Reddit Pixel events and metadata, but you can edit these values. You can also set up custom events.
 
-After enabling the destination, Segment will automatically initialize and load the Reddit Pixel on each page that Segment is tracking based on your mappings.
+After enabling the destination, Segment automatically initializes and loads the Reddit Pixel on each page that you'd like to track based on your mappings.
 
 
 {% include components/actions-fields.html %}
@@ -25,8 +25,8 @@ If you implement both the [Reddit Pixel](https://business.reddithelp.com/s/artic
 The integration automatically pre-maps the Segment `messageId` to the Reddit conversion ID. If you wish to change this, you can pass a different unique conversion ID for every distinct event to its corresponding Reddit Pixel and CAPI event. Reddit will determine which events are duplicates based on the conversion ID and conversion event name. This is the most accurate way to ensure proper deduplication. Reddit recommends this method since there’s less risk of incorrect integration, which can impact attribution accuracy.
 
 To ensure your events are deduplicated:
-- Create a unique conversion ID for every distinct event. You can set this as a random number or ID. Similarly, you could set this to the order number when tracking purchase events.
-- Include the event in the Reddit Pixel and CAPI.
-- Ensure the conversion event name and conversion ID for its corresponding events match.
+- Create a unique conversion ID for every distinct event. You can set this as a random number or ID, or the order number when tracking purchase events, for example.
+- Include the event in both the Reddit Pixel and CAPI.
+- Ensure the conversion event name and conversion ID for match across the Reddit Pixel and CAPI.
 
 For more information on deduplication, see the [Reddit Event Deduplication documentation](https://business.reddithelp.com/s/article/event-deduplication){:target="_blank"}.
\ No newline at end of file

From e63d2a99aa5598f76f2e4b7c1b4dc3768486c849 Mon Sep 17 00:00:00 2001
From: wilwong-twilio <109997887+wilwong-twilio@users.noreply.github.com>
Date: Mon, 14 Jul 2025 14:42:30 -0700
Subject: [PATCH 078/188] Update src/connections/destinations/actions.md

Co-authored-by: stayseesong <83784848+stayseesong@users.noreply.github.com>
---
 src/connections/destinations/actions.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index 06d689d64d..9514fe9a05 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -239,7 +239,7 @@ You can't concatenate event variables and plain text with static values and func
 ![Mapping UI showing two concatenated fields: "+1 phone" and "context.page.url context.page.path"](images/mapping-concatenation.png)
 
 ### Liquid syntax
-The liquid syntax function allows you to transform event data with fine-grain control before it reaches cloud-mode destinations using the LiquidJS templating language. Use Liquid templates to clean, format, or conditionally transform data such as user properties, timestamps, or event metadata to meet the requirements of your downstream tools. Liquid templates are applied in the Mappings tab of your Segment workspace, ensuring seamless integration with your event pipeline.
+The liquid syntax function enables you to transform event data with fine-grain control before it reaches cloud-mode destinations using the LiquidJS templating language. Use Liquid templates to clean, format, or conditionally transform data such as user properties, timestamps, or event metadata to meet the requirements of your downstream tools. Liquid templates are applied in the **Mappings** tab of your Segment workspace to enable you to integrate with your event pipeline. 
 
 #### Supported liquid tags and filters
 The following LiquidJS tags and filters are supported for Segment mappings. These are carefully selected to ensure performance, security, and compatibility with real-time event processing. Unsupported tags and filters are disabled to prevent performance degradation or security risks.

From 3782ecbbbe6d1cceb0b438578b02935f6d7b5f6b Mon Sep 17 00:00:00 2001
From: wilwong-twilio <109997887+wilwong-twilio@users.noreply.github.com>
Date: Mon, 14 Jul 2025 14:42:51 -0700
Subject: [PATCH 079/188] Update src/connections/destinations/actions.md

Co-authored-by: stayseesong <83784848+stayseesong@users.noreply.github.com>
---
 src/connections/destinations/actions.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index 9514fe9a05..775b401973 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -242,7 +242,7 @@ You can't concatenate event variables and plain text with static values and func
 The liquid syntax function enables you to transform event data with fine-grain control before it reaches cloud-mode destinations using the LiquidJS templating language. Use Liquid templates to clean, format, or conditionally transform data such as user properties, timestamps, or event metadata to meet the requirements of your downstream tools. Liquid templates are applied in the **Mappings** tab of your Segment workspace to enable you to integrate with your event pipeline. 
 
 #### Supported liquid tags and filters
-The following LiquidJS tags and filters are supported for Segment mappings. These are carefully selected to ensure performance, security, and compatibility with real-time event processing. Unsupported tags and filters are disabled to prevent performance degradation or security risks.
+Segment supports the following LiquidJS tags and filters for mappings. Segment selected these to ensure performance, security, and compatibility with real-time event processing. Segment disabled unsupported tags and filters to prevent performance degradation or security risks.
 
 #### Supported tags
 | Tag Name          | Description |

From ad858bbd5e287b2e2cafd2a5922a02aae0ea5c4d Mon Sep 17 00:00:00 2001
From: wilwong-twilio <109997887+wilwong-twilio@users.noreply.github.com>
Date: Mon, 14 Jul 2025 14:43:07 -0700
Subject: [PATCH 080/188] Update src/connections/destinations/actions.md

Co-authored-by: stayseesong <83784848+stayseesong@users.noreply.github.com>
---
 src/connections/destinations/actions.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index 775b401973..ce46b3dc14 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -273,7 +273,7 @@ Segment supports the following LiquidJS tags and filters for mappings. Segment s
 | `ceil`                         | Rounds a number up to the next integer. |
 | `cgi_escape`                   | Escapes strings for CGI contexts. |
 | `compact`                      | Removes null values from an array. |
-| `date`                         | Formats a date using a specified format (e.g., `%s` for Unix timestamp). |
+| `date`                         | Formats a date using a specified format (for example, `%s` for Unix timestamp). |
 | `date_to_long_string`          | Formats a date into a long string (e.g., `01 July 2025`). |
 | `date_to_rfc822`               | Formats a date in RFC822 format. |
 | `date_to_string`               | Converts a date to a short string format. |

From a1988a05268a5c7bc877315c67791fd92510fa97 Mon Sep 17 00:00:00 2001
From: wilwong-twilio <109997887+wilwong-twilio@users.noreply.github.com>
Date: Mon, 14 Jul 2025 14:43:19 -0700
Subject: [PATCH 081/188] Update src/connections/destinations/actions.md

Co-authored-by: stayseesong <83784848+stayseesong@users.noreply.github.com>
---
 src/connections/destinations/actions.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index ce46b3dc14..8079b06b35 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -274,7 +274,7 @@ Segment supports the following LiquidJS tags and filters for mappings. Segment s
 | `cgi_escape`                   | Escapes strings for CGI contexts. |
 | `compact`                      | Removes null values from an array. |
 | `date`                         | Formats a date using a specified format (for example, `%s` for Unix timestamp). |
-| `date_to_long_string`          | Formats a date into a long string (e.g., `01 July 2025`). |
+| `date_to_long_string`          | Formats a date into a long string (for example, `01 July 2025`). |
 | `date_to_rfc822`               | Formats a date in RFC822 format. |
 | `date_to_string`               | Converts a date to a short string format. |
 | `date_to_xmlschema`            | Formats a date in XML schema format. |

From 0672daa845eaacb0371b754694d9179221ceeb66 Mon Sep 17 00:00:00 2001
From: wilwong-twilio <109997887+wilwong-twilio@users.noreply.github.com>
Date: Mon, 14 Jul 2025 14:43:28 -0700
Subject: [PATCH 082/188] Update src/connections/destinations/actions.md

Co-authored-by: stayseesong <83784848+stayseesong@users.noreply.github.com>
---
 src/connections/destinations/actions.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index 8079b06b35..ce79806055 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -348,7 +348,7 @@ Output: user@example.com
 Explanation:
 * The `if` tag checks if `event.properties.email` exists.
 * The `downcase` filter converts the email to lowercase.
-* The `strip` filter removes leading/trailing whitespace.
+* The `strip` filter removes leading or trailing whitespace.
 * The `default` filter provides a fallback email if the input is missing.
 
 ##### Example 2: Transform phone number with conditional logic

From 0c3aada1c3172e84c93b36429ce991a5ba59d543 Mon Sep 17 00:00:00 2001
From: wilwong-twilio <109997887+wilwong-twilio@users.noreply.github.com>
Date: Mon, 14 Jul 2025 14:43:45 -0700
Subject: [PATCH 083/188] Update src/connections/destinations/actions.md

Co-authored-by: stayseesong <83784848+stayseesong@users.noreply.github.com>
---
 src/connections/destinations/actions.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index ce79806055..24c9a84ca7 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -369,7 +369,7 @@ Input: `event.properties.phone` = "(123) 456-7890"
 Output: +11234567890
 
 Explanation:
-* The `assign` tag stores the cleaned phone number after applying `strip` and `remove` filters to eliminate whitespace and non-digit characters (e.g., `-`, `(`, `)`).
+* The `assign` tag stores the cleaned phone number after applying `strip` and `remove` filters to eliminate whitespace and non-digit characters (for example, `-`, `(`, `)`).
 * The `slice: 0, 1` filter checks if the phone number starts with `1`; if not, `prepend: "1"` adds the country code.
 * The `prepend: "+"` filter adds the `+` prefix.
 * The `default` filter outputs an empty string if the phone number is missing.

From cfab08ac91098dd09fc17c3341f790ba47196ce3 Mon Sep 17 00:00:00 2001
From: maleman842 <79479130+maleman842@users.noreply.github.com>
Date: Mon, 14 Jul 2025 17:09:51 -0700
Subject: [PATCH 084/188] Update index.md

---
 src/engage/audiences/index.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/engage/audiences/index.md b/src/engage/audiences/index.md
index 14dbf5300b..6b18b0d33d 100644
--- a/src/engage/audiences/index.md
+++ b/src/engage/audiences/index.md
@@ -424,3 +424,6 @@ No. Traits located in the `context.traits` object of a Track event aren’t avai
 
 ### How does the historical data flag work?
 The **Include Historical Event Data** option lets you take past event data into account and control how much of it is considered when creating real-time audiences. You can set a lookback window (for example, the “last 90 days”) to limit the processed event data, or disable it entirely to use only data arriving after creation. For batch audiences, Segment includes historical data by default.
+
+### Can non-latin characters be used when creating Audiences or Computed Traits?
+The Audience and Computed Trait builders only accept latin characters.

From b7be03dd715fbae59b3868d8ef7984373637f493 Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Tue, 15 Jul 2025 08:37:48 -0400
Subject: [PATCH 085/188] Update
 src/connections/destinations/catalog/actions-reddit-pixel/index.md

---
 .../destinations/catalog/actions-reddit-pixel/index.md         | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/connections/destinations/catalog/actions-reddit-pixel/index.md b/src/connections/destinations/catalog/actions-reddit-pixel/index.md
index 0715741030..c911f76b56 100644
--- a/src/connections/destinations/catalog/actions-reddit-pixel/index.md
+++ b/src/connections/destinations/catalog/actions-reddit-pixel/index.md
@@ -1,5 +1,8 @@
 ---
 title: Reddit Pixel
+id: 68383577d2c19626da376944
+private: true
+beta: true
 ---
 
 {% include content/plan-grid.md name="actions" %}

From b9edf43b30963e75f2370aa4d8ea8a324cdbdd78 Mon Sep 17 00:00:00 2001
From: tbols17 <113375224+tbols17@users.noreply.github.com>
Date: Tue, 15 Jul 2025 09:02:15 -0700
Subject: [PATCH 086/188] Update Predictions Destination information.md

updated a list of destination identifiers that we explicitly support
---
 src/unify/Traits/predictions/index.md | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/src/unify/Traits/predictions/index.md b/src/unify/Traits/predictions/index.md
index 00e4a0e461..13b461d764 100644
--- a/src/unify/Traits/predictions/index.md
+++ b/src/unify/Traits/predictions/index.md
@@ -135,4 +135,24 @@ Segment then uses this criteria to build the prediction and create specific perc
 
 ## Use cases
 
-For use cases and information on how Segment builds prediction, read [Using Predictions](/docs/unify/traits/predictions/using-predictions/).
+Once a trait successfully computes, you can send them downstream to some destinations, or use them in an audience. Predictive Traits support destinations that support this list of identifiers:
+
+    ANONYMOUS = "anonymous_id"
+    USER = "user_id"
+    EMAIL = "email"
+    PHONE = "phone"
+    IOS_IDFA = "ios.idfa"
+    ANDROID_IDFA = "android.idfa"
+    GROUP = "group_id"
+    NAME = "name"
+    GA_CLIENT = "ga_client_id"
+    GOOGLE = "google_gid"
+    BRAZE = "braze_id"
+    SEGMENT = "segment_id"
+
+Other destinations may drop events published by Predictive Traits
+
+For use additional cases and information on how Segment builds prediction, read [Using Predictions](/docs/unify/traits/predictions/using-predictions/). 
+
+
+

From d694cc1f505251a9cc90b947b2998650f777b1d1 Mon Sep 17 00:00:00 2001
From: stayseesong <STACY.S.SONG@GMAIL.COM>
Date: Wed, 16 Jul 2025 13:15:17 -0700
Subject: [PATCH 087/188] Add Databricks info to Data Lakes

---
 src/connections/storage/catalog/data-lakes/index.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/connections/storage/catalog/data-lakes/index.md b/src/connections/storage/catalog/data-lakes/index.md
index d05220b839..2da2d4ea5c 100644
--- a/src/connections/storage/catalog/data-lakes/index.md
+++ b/src/connections/storage/catalog/data-lakes/index.md
@@ -7,12 +7,12 @@ redirect_from:
 {% include content/plan-grid.md name="data-lakes" %}
 
 Segment Data Lakes provide a way to collect large quantities of data in a format that's optimized for targeted data science and data analytics workflows. You can read [more information about Data Lakes](/docs/connections/storage/data-lakes/) and learn [how they differ from Warehouses](/docs/connections/storage/data-lakes/comparison/) in Segment's Data Lakes documentation.
-Segment only supports [AWS Data Lakes](/docs/connections/storage/catalog/data-lakes/#set-up-segment-data-lakes).
+Segment only supports [AWS Data Lakes](/docs/connections/storage/catalog/data-lakes/#set-up-segment-data-lakes); alternatively, you can connect to [Databricks](/docs/connections/storage/catalog/databricks/). 
 
 > success ""
 > You can also set up your Segment Data Lakes using [Lake Formation](/docs/connections/storage/data-lakes/lake-formation/), a fully managed service built on top of the AWS Glue Data Catalog.
 
-## Set up Segment Data Lakes (AWS)
+## Set up Segment Data Lakes
 
 To set up Segment Data Lakes, create your AWS resources, enable the Segment Data Lakes destination in the Segment app, and verify that your Segment data is synced to S3 and Glue.
 

From 1fef5afbb3932ba50d2fa459fa59eafe67693337 Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Wed, 16 Jul 2025 16:54:14 -0400
Subject: [PATCH 088/188] moving the unify direct integrations

---
 .../actions-segment-profiles/hubspot-source.md}    |  3 ++-
 .../catalog/actions-segment-profiles/index.md      | 14 +++++++-------
 .../actions-segment-profiles/salesforce-source.md} |  2 +-
 .../sources/catalog/cloud-apps/b222test/index.md   |  4 ----
 .../sources/catalog/cloud-apps/hubspot/index.md    |  2 ++
 .../sources/catalog/cloud-apps/salesforce/index.md |  3 +++
 .../sources/catalog/cloud-apps/src/index.md        |  4 ----
 .../catalog/cloud-apps/this-is-a-test/index.md     |  4 ----
 8 files changed, 15 insertions(+), 21 deletions(-)
 rename src/connections/{sources/catalog/cloud-apps/hubspot-profiles/index.md => destinations/catalog/actions-segment-profiles/hubspot-source.md} (98%)
 rename src/connections/{sources/catalog/cloud-apps/salesforce-unify/index.md => destinations/catalog/actions-segment-profiles/salesforce-source.md} (98%)
 delete mode 100644 src/connections/sources/catalog/cloud-apps/b222test/index.md
 delete mode 100644 src/connections/sources/catalog/cloud-apps/src/index.md
 delete mode 100644 src/connections/sources/catalog/cloud-apps/this-is-a-test/index.md

diff --git a/src/connections/sources/catalog/cloud-apps/hubspot-profiles/index.md b/src/connections/destinations/catalog/actions-segment-profiles/hubspot-source.md
similarity index 98%
rename from src/connections/sources/catalog/cloud-apps/hubspot-profiles/index.md
rename to src/connections/destinations/catalog/actions-segment-profiles/hubspot-source.md
index 7cf41a897e..c49f61534d 100644
--- a/src/connections/sources/catalog/cloud-apps/hubspot-profiles/index.md
+++ b/src/connections/destinations/catalog/actions-segment-profiles/hubspot-source.md
@@ -1,6 +1,7 @@
 ---
 title: Connect HubSpot to Segment Profiles
-plan: unify
+redirect_from: 
+   - '/sources/catalog/cloud-apps/hubspot-profiles/'
 ---
 
 This guide explains how to set up HubSpot as a source and connect it to Segment Profiles. 
diff --git a/src/connections/destinations/catalog/actions-segment-profiles/index.md b/src/connections/destinations/catalog/actions-segment-profiles/index.md
index 1c2c2fb174..1ddc884af4 100644
--- a/src/connections/destinations/catalog/actions-segment-profiles/index.md
+++ b/src/connections/destinations/catalog/actions-segment-profiles/index.md
@@ -4,22 +4,22 @@ hide-boilerplate: true
 hide-dossier: false
 id: 639c2dbb1309fdcad13951b6
 ---
-The Segment Profiles destination allows you to send your warehouse data back to Segment to create and update [Profiles](/docs/profiles/) that can then be accessed through [Profile API](/docs/profiles/profile-api/) and activated within [Twilio Engage](/docs/engage). 
+The Segment Profiles destination allows you to send your warehouse data back to Segment to create and update [Profiles](/docs/unify/) that can then be accessed through [Profile API](/docs/profiles/profile-api/) and activated within [Twilio Engage](/docs/engage). 
 
 > success "Source compatibility"
-> This destination supports connections from Reverse ETL warehouse sources, and is not compatible with other source types.
+> This destination supports connections from Reverse ETL warehouse sources, [HubSpot](/docs/connections/destinations/catalog/actions-segment-profiles/hubspot-source), and [Salesforce](/docs/connections/destinations/catalog/actions-segment-profiles/salesforce-source), and is not compatible with other sources.
 
 ## Getting started
 
 ### Create a Profile space
 
-To use this destination, you must have an active Segment Profile space. If you have not yet created a Segment Profile space, please follow the steps in the [Profiles Onboarding Guide](/docs/profiles/quickstart/).
+To use this destination, you must have an active Segment Unify space. If you have not yet created a Segment Unify space, please follow the steps in the [Unify Onboarding Guide](/docs/profiles/quickstart/).
 
 ### Connect and configure the Segment Profiles destination
 
 1. From the Segment web app, navigate to **Reverse ETL > Destinations**.
 2. Click **Add Destination**.
-3. Select the Segment Profiles destination, click **Next**, and select the warehouse source that will send data to the Segment Profiles destination. If you have not set up a warehouse source, follow the steps in the Reverse ETL documentation on [Getting started](/docs/reverse-etl/#getting-started).
+3. Select the Segment Profiles destination, click **Next**, and select the warehouse source that will send data to the Segment Profiles destination. If you have not set up a warehouse source, follow the steps in the Reverse ETL documentation on [Getting started](/docs/reverse-etl/#getting-started). For information on how to set up HubSpot or Salesforce, see the [Hubspot](/docs/connections/destinations/catalog/actions-segment-profiles/hubspot-source) and [Salesforce](/docs/connections/destinations/catalog/actions-segment-profiles/salesforce-source) direct integration documentation. 
 4. On the **Settings** tab, name your destination, select an endpoint region, and click **Save Changes**. It is recommended to configure and enable all mappings before enabling the Segment Profiles destination.
 5. On the **Mappings** tab, click **Add Mapping**. Select a data model and the API call type you want to map. Identify calls will create and update user profiles and Group calls will create and update account profiles. Fill in the fields on screen to create the desired mappings, and click **Create Mapping** to complete the configuration. Repeat this step to configure multiple mappings. 
 6. Enable the configured mapping(s).
@@ -30,11 +30,11 @@ To use this destination, you must have an active Segment Profile space. If you h
 ## FAQ & Troubleshooting
 
 ### API Calls and MTUs
-The Segment Profiles destination is not subject to API call or MTU costs. Any users or accounts created and updated by the Segment Profiles destination will not count towards your API call or MTU usage.
+The Segment Profiles destination is not subject to API call or MTU costs. Any users or accounts created and updated by the Segment Profiles destination do not count towards your API call or MTU usage.
 
-### Succesful syncs but no changes on profiles
+### Successful syncs but no changes on profiles
 Make sure that the Endpoint Region setting matches the region of your workspace. If the region is correct and you don't see any profile changes, [contact Segment](https://segment.com/help/contact/){:target="_blank"}.
 
 ### Can I view samples of events received in Engage by the Segment Profiles Destination?
 
-Records sent to the Segment Profiles Destination are managed through a Unify Spaces' Profile Sources. Samples of these events may be reviewed in a [Profile Source Debugger](https://segment.com/docs/unify/debugger/). For a more comprehensive analysis of the events received in Unify & Engage, consider utilizing [Profiles Sync](https://segment.com/docs/unify/profiles-sync/overview/) connected to your Data Warehouse.
+Records sent to the Segment Profiles Destination are managed through a Unify Spaces' Profile Sources. Samples of these events may be reviewed in a [Profile Source Debugger](/docs/unify/debugger/). For a more comprehensive analysis of the events received in Unify & Engage, consider using [Profiles Sync](/docs/unify/profiles-sync/overview/) connected to your Data Warehouse.
diff --git a/src/connections/sources/catalog/cloud-apps/salesforce-unify/index.md b/src/connections/destinations/catalog/actions-segment-profiles/salesforce-source.md
similarity index 98%
rename from src/connections/sources/catalog/cloud-apps/salesforce-unify/index.md
rename to src/connections/destinations/catalog/actions-segment-profiles/salesforce-source.md
index 93e1ba5ec9..9fe8d31de5 100644
--- a/src/connections/sources/catalog/cloud-apps/salesforce-unify/index.md
+++ b/src/connections/destinations/catalog/actions-segment-profiles/salesforce-source.md
@@ -1,8 +1,8 @@
 ---
 title: Salesforce Unify Direct Integration Guide
-plan: unify
 redirect_from:
   - '/unify/salesforce-unify'
+  - '/sources/catalog/cloud-apps/salesforce-unify/
 ---
 
 This guide outlines the process for setting up Salesforce as a data source with Segment Profiles. 
diff --git a/src/connections/sources/catalog/cloud-apps/b222test/index.md b/src/connections/sources/catalog/cloud-apps/b222test/index.md
deleted file mode 100644
index 69a0468aac..0000000000
--- a/src/connections/sources/catalog/cloud-apps/b222test/index.md
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: 'b222test Source'
-hidden: true
----
\ No newline at end of file
diff --git a/src/connections/sources/catalog/cloud-apps/hubspot/index.md b/src/connections/sources/catalog/cloud-apps/hubspot/index.md
index 8eab0aa3ea..c1123998f3 100644
--- a/src/connections/sources/catalog/cloud-apps/hubspot/index.md
+++ b/src/connections/sources/catalog/cloud-apps/hubspot/index.md
@@ -8,6 +8,8 @@ id: 2baks93o
 
 Are you trying to set up HubSpot as a destination to receive data from Segment? Go here [HubSpot Destination](/docs/connections/destinations/catalog/hubspot/).
 
+Want to connect your HubSpot source directly to the Segment Profiles destination? See the [Connect HubSpot to Segment Profiles](/docs/connections/destinations/catalog/actions-segment-profiles/hubspot-source/) documentation. 
+
 ## Getting Started
 
 1. From your workspace's `/sources` page, click `add source`.
diff --git a/src/connections/sources/catalog/cloud-apps/salesforce/index.md b/src/connections/sources/catalog/cloud-apps/salesforce/index.md
index c6bf178c47..c3dcc8ddd8 100644
--- a/src/connections/sources/catalog/cloud-apps/salesforce/index.md
+++ b/src/connections/sources/catalog/cloud-apps/salesforce/index.md
@@ -8,6 +8,9 @@ id: 2baks93n
 
 Take your company's analysis to the next level by **adding Salesforce as a Source to Segment.** Segment automatically collects objects like `Accounts`, `Campaigns`, and `Tasks` and loads them into your data warehouse. 
 
+> success ""
+> Want to connect your Salesforce source directly to the Segment Profiles destination? See the [Salesforce Unify Direct Integration Guide](/docs/connections/destinations/catalog/actions-segment-profiles/salesforce-source/) documentation.
+
 > info "Salesforce version upgrade to 58.0"
 > On March 25, 2024, the Salesforce source upgraded to use Salesforce's API version 58.0. See the [version upgrade changes](#version-upgrade-changes) to learn more.
 
diff --git a/src/connections/sources/catalog/cloud-apps/src/index.md b/src/connections/sources/catalog/cloud-apps/src/index.md
deleted file mode 100644
index eaabd4027e..0000000000
--- a/src/connections/sources/catalog/cloud-apps/src/index.md
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: 'SRC Source'
-hidden: true
----
\ No newline at end of file
diff --git a/src/connections/sources/catalog/cloud-apps/this-is-a-test/index.md b/src/connections/sources/catalog/cloud-apps/this-is-a-test/index.md
deleted file mode 100644
index eaf5eae084..0000000000
--- a/src/connections/sources/catalog/cloud-apps/this-is-a-test/index.md
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: 'this-is-a-test Source'
-hidden: true
----
\ No newline at end of file

From 31e1ccec44d25a88e4e71f7c2c599c3b94fa1bcb Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Wed, 16 Jul 2025 16:55:59 -0400
Subject: [PATCH 089/188] fix hubspot casing

---
 .../destinations/catalog/actions-segment-profiles/index.md      | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/catalog/actions-segment-profiles/index.md b/src/connections/destinations/catalog/actions-segment-profiles/index.md
index 1ddc884af4..4c6ad82bbc 100644
--- a/src/connections/destinations/catalog/actions-segment-profiles/index.md
+++ b/src/connections/destinations/catalog/actions-segment-profiles/index.md
@@ -19,7 +19,7 @@ To use this destination, you must have an active Segment Unify space. If you hav
 
 1. From the Segment web app, navigate to **Reverse ETL > Destinations**.
 2. Click **Add Destination**.
-3. Select the Segment Profiles destination, click **Next**, and select the warehouse source that will send data to the Segment Profiles destination. If you have not set up a warehouse source, follow the steps in the Reverse ETL documentation on [Getting started](/docs/reverse-etl/#getting-started). For information on how to set up HubSpot or Salesforce, see the [Hubspot](/docs/connections/destinations/catalog/actions-segment-profiles/hubspot-source) and [Salesforce](/docs/connections/destinations/catalog/actions-segment-profiles/salesforce-source) direct integration documentation. 
+3. Select the Segment Profiles destination, click **Next**, and select the warehouse source that will send data to the Segment Profiles destination. If you have not set up a warehouse source, follow the steps in the Reverse ETL documentation on [Getting started](/docs/reverse-etl/#getting-started). For information on how to set up HubSpot or Salesforce, see the [HubSpot](/docs/connections/destinations/catalog/actions-segment-profiles/hubspot-source) and [Salesforce](/docs/connections/destinations/catalog/actions-segment-profiles/salesforce-source) direct integration documentation. 
 4. On the **Settings** tab, name your destination, select an endpoint region, and click **Save Changes**. It is recommended to configure and enable all mappings before enabling the Segment Profiles destination.
 5. On the **Mappings** tab, click **Add Mapping**. Select a data model and the API call type you want to map. Identify calls will create and update user profiles and Group calls will create and update account profiles. Fill in the fields on screen to create the desired mappings, and click **Create Mapping** to complete the configuration. Repeat this step to configure multiple mappings. 
 6. Enable the configured mapping(s).

From a8d79e75f876740ff0d1dc7809aa105e0ebf345e Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Wed, 16 Jul 2025 17:03:39 -0400
Subject: [PATCH 090/188] qa

---
 .../catalog/actions-segment-profiles/hubspot-source.md        | 2 +-
 .../catalog/actions-segment-profiles/salesforce-source.md     | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/connections/destinations/catalog/actions-segment-profiles/hubspot-source.md b/src/connections/destinations/catalog/actions-segment-profiles/hubspot-source.md
index c49f61534d..bb39822818 100644
--- a/src/connections/destinations/catalog/actions-segment-profiles/hubspot-source.md
+++ b/src/connections/destinations/catalog/actions-segment-profiles/hubspot-source.md
@@ -1,7 +1,7 @@
 ---
 title: Connect HubSpot to Segment Profiles
 redirect_from: 
-   - '/sources/catalog/cloud-apps/hubspot-profiles/'
+   - '/connections/sources/catalog/cloud-apps/hubspot-profiles/'
 ---
 
 This guide explains how to set up HubSpot as a source and connect it to Segment Profiles. 
diff --git a/src/connections/destinations/catalog/actions-segment-profiles/salesforce-source.md b/src/connections/destinations/catalog/actions-segment-profiles/salesforce-source.md
index 9fe8d31de5..c5c76ec0eb 100644
--- a/src/connections/destinations/catalog/actions-segment-profiles/salesforce-source.md
+++ b/src/connections/destinations/catalog/actions-segment-profiles/salesforce-source.md
@@ -2,7 +2,7 @@
 title: Salesforce Unify Direct Integration Guide
 redirect_from:
   - '/unify/salesforce-unify'
-  - '/sources/catalog/cloud-apps/salesforce-unify/
+  - '/connections/sources/catalog/cloud-apps/salesforce-unify/'
 ---
 
 This guide outlines the process for setting up Salesforce as a data source with Segment Profiles. 
@@ -60,7 +60,7 @@ Next, add a Segment Profiles destination:
 4. Test your mapping with real data from Salesforce.
 5. Save your mapping configuration.
 
-![A screenshot of the "Select Mappings" interface in Segment, showing fields for mapping event data from a source to a destination. The interface includes options for selecting objects, customizing objects, and mapping fields such as Profile Space, User ID, Anonymous ID, Group ID, Traits, and Timestamp.](../../../images/select_mappings.png)
+![A screenshot of the "Select Mappings" interface in Segment, showing fields for mapping event data from a source to a destination. The interface includes options for selecting objects, customizing objects, and mapping fields such as Profile Space, User ID, Anonymous ID, Group ID, Traits, and Timestamp.](/docs/connections/sources/images/select_mappings.png)
 
 ### 5. Enable the destination mapping and Salesforce source
 

From 78a2beeab9dbfd33218bd66e876612a73c20d74a Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Wed, 16 Jul 2025 17:04:55 -0400
Subject: [PATCH 091/188] standardize format

---
 src/connections/sources/catalog/cloud-apps/hubspot/index.md | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/connections/sources/catalog/cloud-apps/hubspot/index.md b/src/connections/sources/catalog/cloud-apps/hubspot/index.md
index c1123998f3..278acefc59 100644
--- a/src/connections/sources/catalog/cloud-apps/hubspot/index.md
+++ b/src/connections/sources/catalog/cloud-apps/hubspot/index.md
@@ -8,7 +8,8 @@ id: 2baks93o
 
 Are you trying to set up HubSpot as a destination to receive data from Segment? Go here [HubSpot Destination](/docs/connections/destinations/catalog/hubspot/).
 
-Want to connect your HubSpot source directly to the Segment Profiles destination? See the [Connect HubSpot to Segment Profiles](/docs/connections/destinations/catalog/actions-segment-profiles/hubspot-source/) documentation. 
+> success ""
+> Want to connect your HubSpot source directly to the Segment Profiles destination? See the [Connect HubSpot to Segment Profiles](/docs/connections/destinations/catalog/actions-segment-profiles/hubspot-source/) documentation. 
 
 ## Getting Started
 

From 9db0fe4f6f28a0a1ef3a86b4d7428e46012cfb4b Mon Sep 17 00:00:00 2001
From: stayseesong <83784848+stayseesong@users.noreply.github.com>
Date: Wed, 16 Jul 2025 14:50:49 -0700
Subject: [PATCH 092/188] Update
 src/connections/storage/catalog/data-lakes/index.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 src/connections/storage/catalog/data-lakes/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/storage/catalog/data-lakes/index.md b/src/connections/storage/catalog/data-lakes/index.md
index 2da2d4ea5c..91b30ae74c 100644
--- a/src/connections/storage/catalog/data-lakes/index.md
+++ b/src/connections/storage/catalog/data-lakes/index.md
@@ -7,7 +7,7 @@ redirect_from:
 {% include content/plan-grid.md name="data-lakes" %}
 
 Segment Data Lakes provide a way to collect large quantities of data in a format that's optimized for targeted data science and data analytics workflows. You can read [more information about Data Lakes](/docs/connections/storage/data-lakes/) and learn [how they differ from Warehouses](/docs/connections/storage/data-lakes/comparison/) in Segment's Data Lakes documentation.
-Segment only supports [AWS Data Lakes](/docs/connections/storage/catalog/data-lakes/#set-up-segment-data-lakes); alternatively, you can connect to [Databricks](/docs/connections/storage/catalog/databricks/). 
+Segment only supports [AWS Data Lakes](/docs/connections/storage/catalog/data-lakes/#set-up-segment-data-lakes), but you can also connect to the  [Databricks](/docs/connections/storage/catalog/databricks/) storage destination to ingest data into your Lakehouse. 
 
 > success ""
 > You can also set up your Segment Data Lakes using [Lake Formation](/docs/connections/storage/data-lakes/lake-formation/), a fully managed service built on top of the AWS Glue Data Catalog.

From 15d3239fa2bb34807f46684b231e200c6919721b Mon Sep 17 00:00:00 2001
From: sade-wusi <sadewusi@twilio.com>
Date: Thu, 17 Jul 2025 12:36:17 +0100
Subject: [PATCH 093/188] aampe destination now in public beta

---
 src/connections/destinations/catalog/actions-aampe/index.md | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/connections/destinations/catalog/actions-aampe/index.md b/src/connections/destinations/catalog/actions-aampe/index.md
index 6e59357a27..6fe112c520 100644
--- a/src/connections/destinations/catalog/actions-aampe/index.md
+++ b/src/connections/destinations/catalog/actions-aampe/index.md
@@ -1,7 +1,6 @@
 ---
 title: Aampe (Actions) Destination
 id: 6874c64e5eda096bf3850ee0
-private: true
 beta: true
 ---
 
@@ -9,7 +8,7 @@ beta: true
 
 By assigning a dedicated agent for each user, Aampe conducts controlled, parallelized experiments to learn user preferences and optimizes engagement for them. It’s a dynamic, self-improving system that fine-tunes every interaction, ensuring your messaging evolves as fast as your audience does.
 
-This destination is maintained by Aampe. For any issues with the destination, [contact the Aampe Support team](mailto:developer@aampe.com).
+This destination is maintained by Aampe. For any issues with the destination, [contact the Aampe Support team](mailto:developer@aampe.com){:target="_blank”}.
 
 ## Getting Started
 1. From the Destinations catalog page in the Segment App, click **Add Destination**.

From ac5b08394cb00d36da4e8410163f94fad134dcf1 Mon Sep 17 00:00:00 2001
From: pwseg <86626706+pwseg@users.noreply.github.com>
Date: Thu, 17 Jul 2025 09:43:39 -0700
Subject: [PATCH 094/188] minor style change

---
 src/engage/audiences/index.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/engage/audiences/index.md b/src/engage/audiences/index.md
index 6b18b0d33d..8b23b00bdb 100644
--- a/src/engage/audiences/index.md
+++ b/src/engage/audiences/index.md
@@ -425,5 +425,5 @@ No. Traits located in the `context.traits` object of a Track event aren’t avai
 ### How does the historical data flag work?
 The **Include Historical Event Data** option lets you take past event data into account and control how much of it is considered when creating real-time audiences. You can set a lookback window (for example, the “last 90 days”) to limit the processed event data, or disable it entirely to use only data arriving after creation. For batch audiences, Segment includes historical data by default.
 
-### Can non-latin characters be used when creating Audiences or Computed Traits?
-The Audience and Computed Trait builders only accept latin characters.
+### Can non-Latin characters be used when creating Audiences or Computed Traits?
+The Audience and Computed Trait builders only accept Latin characters.

From 6132769841d59293efc335b210164e260dc6bb57 Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Thu, 17 Jul 2025 13:50:05 -0400
Subject: [PATCH 095/188] Update dates for new data retention settings

---
 src/privacy/data-retention-policy.md | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/privacy/data-retention-policy.md b/src/privacy/data-retention-policy.md
index f4cf16e58e..d56aaa963b 100644
--- a/src/privacy/data-retention-policy.md
+++ b/src/privacy/data-retention-policy.md
@@ -17,7 +17,7 @@ Segment enforces a strict data retention policy for all:
 ## Effective Date
 Segment’s enforcement of this data retention policy for active customers begins on:
 - **April 15, 2025** for Object Store data
-- **July 15, 2025** for Archive event and Profile events data stores
+- **August 15, 2025** for Archive event and Profile events data stores
 
 ## Active customers
 
@@ -53,8 +53,8 @@ Select the default retention period for the workspace in this setting. This valu
 - 90 days
 - 180 days
 - 365 days
-- 3 years (the default setting starting July 15, 2025)
-- Unlimited (deprecated July 15, 2025)
+- 3 years (the default setting starting August 15, 2025)
+- Unlimited (deprecated August 15, 2025)
  
 ### What data is impacted?
 
@@ -134,4 +134,4 @@ Segment unrecoverably deletes the workspace after 30 days of inactivity, unless
 
 ### Data deletion delays
 
-When data reaches the end of its retention period, deletion is scheduled in accordance with Segment’s data retention policy. While Segment aims to complete the deletion process promptly, there may be occasional delays due to processing times or technical constraints. Segment is committed to initiating data deletions as soon as possible and strives to complete deletions within 7 days of the scheduled date.
\ No newline at end of file
+When data reaches the end of its retention period, deletion is scheduled in accordance with Segment’s data retention policy. While Segment aims to complete the deletion process promptly, there may be occasional delays due to processing times or technical constraints. Segment is committed to initiating data deletions as soon as possible and strives to complete deletions within 7 days of the scheduled date.

From a0e4ad0f7b8c8d5ba9333ffd88d60a1e2fbcb644 Mon Sep 17 00:00:00 2001
From: stayseesong <STACY.S.SONG@GMAIL.COM>
Date: Thu, 17 Jul 2025 10:55:16 -0700
Subject: [PATCH 096/188] edits to Data Graph images

---
 src/unify/data-graph/index.md                  |   5 +++--
 .../images/data-graph-profile-to-entity.png    | Bin 0 -> 258632 bytes
 2 files changed, 3 insertions(+), 2 deletions(-)
 create mode 100644 src/unify/images/data-graph-profile-to-entity.png

diff --git a/src/unify/data-graph/index.md b/src/unify/data-graph/index.md
index 6859bc08bd..bd83ad0497 100644
--- a/src/unify/data-graph/index.md
+++ b/src/unify/data-graph/index.md
@@ -204,8 +204,6 @@ To define your entities:
 
 To define the profile, navigate to the **Relationships** tab. You'll see a **Profile** node which is a special class of entity that represents Segment Profiles, which corresponds to the Profiles Sync tables and models. For Linked Audiences, this enables marketers to filter on profile traits, event history, etc. There can only be one profile for a Data Graph. 
 
-<img src="/docs/unify/images/relationships-tab-data-graph.png" alt="The Relationships tab when creating the Data Graph" width="5888"/>
-
 Segment creates default settings for your profile that are based on your [Profiles Sync](/docs/unify/profiles-sync/profiles-sync-setup/) configuration. If you wish to update these settings, you may select the node and select **View / Edit profile**. Otherwise, you may proceed to Step 3C.
 
 
@@ -230,6 +228,9 @@ Now define the relationships between your entities. Similar to the concept of [c
 
 This is the first level of relationships and a unique type of relationship between the Segment profile entity and a related entity.
 
+<img src="/docs/unify/images/data-graph-profile-to-entity.png" alt="The side window that opens when adding a profile to entity relationship" width="5888"/>
+
+
 Parameter | Definition
 --------- | -----------
 `Select related entity` | The left-hand-side entity represents the Segment profile. On the right-hand-side, you can select which entity to relate it to. <br><br>Note: you can select the preview icon to preview both the Segment profile and the associated table or view representing the entity.
diff --git a/src/unify/images/data-graph-profile-to-entity.png b/src/unify/images/data-graph-profile-to-entity.png
new file mode 100644
index 0000000000000000000000000000000000000000..36fe5cb8026f7bec2d5ac4ac28fcb9f4ccf06a18
GIT binary patch

From e18a6c7966607ed79d080698da8d18920980a301 Mon Sep 17 00:00:00 2001
From: stayseesong <STACY.S.SONG@GMAIL.COM>
Date: Thu, 17 Jul 2025 11:04:56 -0700
Subject: [PATCH 097/188] make catalog

---
 src/_data/catalog/destination_categories.yml |    2 +-
 src/_data/catalog/destinations.yml           | 1005 ++++++++++++++++--
 src/_data/catalog/destinations_private.yml   |    2 +-
 src/_data/catalog/source_categories.yml      |    2 +-
 src/_data/catalog/sources.yml                |    2 +-
 5 files changed, 919 insertions(+), 94 deletions(-)

diff --git a/src/_data/catalog/destination_categories.yml b/src/_data/catalog/destination_categories.yml
index 9d1dc61343..321c5173bc 100644
--- a/src/_data/catalog/destination_categories.yml
+++ b/src/_data/catalog/destination_categories.yml
@@ -1,5 +1,5 @@
 # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
-# destination categories last updated 2025-07-10 
+# destination categories last updated 2025-07-17 
 items:
 - display_name: A/B Testing
   slug: a-b-testing
diff --git a/src/_data/catalog/destinations.yml b/src/_data/catalog/destinations.yml
index c8a1914d2f..af0364d1ba 100644
--- a/src/_data/catalog/destinations.yml
+++ b/src/_data/catalog/destinations.yml
@@ -1,5 +1,5 @@
 # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
-# destination data last updated 2025-07-10 
+# destination data last updated 2025-07-17 
 items:
 - id: 637e8d185e2dec264895ea89
   display_name: 1Flow
@@ -455,6 +455,340 @@ items:
   actions: []
   presets: []
   partnerOwned: true
+- id: 6874c64e5eda096bf3850ee0
+  display_name: Aampe (Actions)
+  name: Aampe (Actions)
+  slug: aampe-actions
+  hidden: false
+  endpoints:
+  - US
+  regions:
+  - us-west-2
+  - eu-west-1
+  url: connections/destinations/catalog/aampe-actions
+  previous_names:
+  - Aampe (Actions)
+  website: https://aampe.com/
+  status: PUBLIC_BETA
+  categories:
+  - Personalization
+  - CRM
+  logo:
+    url: https://cdn-devcenter.segment.com/d53e9443-0c77-445f-96f6-135a09a5801f.svg
+  mark:
+    url: https://cdn-devcenter.segment.com/3154991b-37a3-4c04-9e36-cc483caa0f49.svg
+  methods:
+    track: true
+    identify: true
+    group: true
+    alias: true
+    screen: false
+    page: true
+  platforms:
+    browser: true
+    mobile: false
+    server: true
+    warehouse: false
+    cloudAppObject: false
+    linkedAudiences: true
+  components: []
+  browserUnbundlingSupported: false
+  browserUnbundlingPublic: false
+  replay: false
+  connection_modes:
+    device:
+      web: false
+      mobile: false
+      server: false
+    cloud:
+      web: true
+      mobile: false
+      server: true
+  settings:
+  - name: apiKey
+    type: string
+    defaultValue: ''
+    description: Your Aampe API Key
+    required: true
+    label: API Key
+  - name: region
+    type: select
+    defaultValue: https://ingestion-service-asia-southeast1-toqowp62ka-as.a.run.app/v1/
+    description: Your data region
+    required: true
+    label: Region
+  actions:
+  - id: 7HmfVLFrn8dQEsVtWciXas
+    name: Upsert User Profile
+    slug: upsertUserProfile
+    description: Send user profile updates to Aampe.
+    platform: CLOUD
+    hidden: false
+    defaultTrigger: type = "identify" or type = "track" or type = "page" or type = "screen"
+    fields:
+    - id: kLFKaj9fMaZ2UHRBYQrZY4
+      sortOrder: 0
+      fieldKey: contact_id
+      label: Contact ID
+      type: STRING
+      description: >-
+        Identifier for user. Use `userId` or `anonymousId` from the Segment
+        event.
+      placeholder: ''
+      defaultValue:
+        '@if':
+          exists:
+            '@path': $.userId
+          then:
+            '@path': $.userId
+          else:
+            '@path': $.anonymousId
+      required: true
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: 5Lvtq7JRRpSuBo1rQp4tG6
+      sortOrder: 1
+      fieldKey: event_name
+      label: Event Name
+      type: STRING
+      description: Name of the event. Use `event` from the Segment event.
+      placeholder: ''
+      defaultValue: User Profile Updated
+      required: true
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: qTrSVZCqJLb3Y7ZP72pr7C
+      sortOrder: 2
+      fieldKey: timestamp
+      label: Timestamp
+      type: STRING
+      description: Timestamp for when the event happened.
+      placeholder: ''
+      defaultValue:
+        '@path': $.timestamp
+      required: true
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: iN5G5LRhLT6Lnanh5fTZ6p
+      sortOrder: 3
+      fieldKey: metadata
+      label: Metadata
+      type: OBJECT
+      description: Event properties.
+      placeholder: ''
+      defaultValue:
+        '@path': $.properties
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: 5qWS2HkZiR9Pg1uxXnGAWA
+      sortOrder: 4
+      fieldKey: event_id
+      label: Event ID
+      type: STRING
+      description: Unique identifier for the event.
+      placeholder: ''
+      defaultValue:
+        '@path': $.messageId
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: bB7jwk59B7jga1r7RFVmeA
+      sortOrder: 5
+      fieldKey: user_properties
+      label: User Properties
+      type: OBJECT
+      description: >-
+        User properties. Make sure to update the default mapping if you are
+        sending user proferties via properties object in a track, page or screen
+        event.
+      placeholder: ''
+      defaultValue:
+        '@if':
+          exists:
+            '@path': $.traits
+          then:
+            '@path': $.traits
+          else:
+            '@path': $.context.traits
+      required: true
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+  - id: osFKAiiV93y3P4BGgYnUWz
+    name: Send Event
+    slug: sendEvent
+    description: Send analytics, page and screen events to Aampe.
+    platform: CLOUD
+    hidden: false
+    defaultTrigger: type = "track" or type = "page" or type = "screen"
+    fields:
+    - id: e9uPJ1VsveraGHLf65APJ3
+      sortOrder: 0
+      fieldKey: contact_id
+      label: Contact ID
+      type: STRING
+      description: >-
+        Identifier for user. Use `userId` or `anonymousId` from the Segment
+        event.
+      placeholder: ''
+      defaultValue:
+        '@if':
+          exists:
+            '@path': $.userId
+          then:
+            '@path': $.userId
+          else:
+            '@path': $.anonymousId
+      required: true
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: 8jEBuoqVd4UeQYLgxWLsXi
+      sortOrder: 1
+      fieldKey: event_name
+      label: Event Name
+      type: STRING
+      description: Name of the event. Use `event` from the Segment event.
+      placeholder: ''
+      defaultValue:
+        '@if':
+          exists:
+            '@path': $.event
+          then:
+            '@path': $.event
+          else:
+            '@path': $.name
+      required: true
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: cDqF1DzTBso7rhg6MWt4UU
+      sortOrder: 2
+      fieldKey: timestamp
+      label: Timestamp
+      type: STRING
+      description: Timestamp for when the event happened.
+      placeholder: ''
+      defaultValue:
+        '@path': $.timestamp
+      required: true
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: jQCkuvPwerx8poQxkV7sSn
+      sortOrder: 3
+      fieldKey: timezone
+      label: Timezone
+      type: STRING
+      description: User’s local timezone.
+      placeholder: ''
+      defaultValue:
+        '@path': $.context.timezone
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: tCSfh2hMCt5tmCsGdKvqKF
+      sortOrder: 4
+      fieldKey: metadata
+      label: Metadata
+      type: OBJECT
+      description: Event properties.
+      placeholder: ''
+      defaultValue:
+        '@path': $.properties
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: hw1KtFTubsLcPiPhZ64aQD
+      sortOrder: 5
+      fieldKey: event_id
+      label: Event ID
+      type: STRING
+      description: Unique identifier for the event.
+      placeholder: ''
+      defaultValue:
+        '@path': $.messageId
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+  presets:
+  - actionId: osFKAiiV93y3P4BGgYnUWz
+    name: Send Event
+    fields:
+      contact_id:
+        '@if':
+          exists:
+            '@path': $.userId
+          then:
+            '@path': $.userId
+          else:
+            '@path': $.anonymousId
+      event_name:
+        '@if':
+          exists:
+            '@path': $.event
+          then:
+            '@path': $.event
+          else:
+            '@path': $.name
+      timestamp:
+        '@path': $.timestamp
+      timezone:
+        '@path': $.context.timezone
+      metadata:
+        '@path': $.properties
+      event_id:
+        '@path': $.messageId
+    trigger: type = "track" or type = "page" or type = "screen"
+  - actionId: 7HmfVLFrn8dQEsVtWciXas
+    name: Identify User
+    fields:
+      contact_id:
+        '@if':
+          exists:
+            '@path': $.userId
+          then:
+            '@path': $.userId
+          else:
+            '@path': $.anonymousId
+      event_name: User Profile Updated
+      timestamp:
+        '@path': $.timestamp
+      metadata:
+        '@path': $.properties
+      event_id:
+        '@path': $.messageId
+      user_properties:
+        '@if':
+          exists:
+            '@path': $.traits
+          then:
+            '@path': $.traits
+          else:
+            '@path': $.context.traits
+    trigger: type = "identify"
+  partnerOwned: true
 - id: 605dd9d7e5ff0b3873e250a4
   display_name: AB Smartly
   name: AB Smartly
@@ -6912,7 +7246,7 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Entered" or event = "Audience Exited"
     fields:
-    - id: hXTR51dj3LafimrXih2Bp1
+    - id: 4A1bPd98i588bYpa5eZr6w
       sortOrder: 1
       fieldKey: externalUserId
       label: External User ID
@@ -6926,7 +7260,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: j9mjcuhWEpMifdZyWAbgy6
+    - id: dX5JfWzdDmrzfQ2TiV3Hwe
       sortOrder: 2
       fieldKey: email
       label: Email
@@ -6946,7 +7280,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: rDdffwomWyLMUicWqZ2jHs
+    - id: aeWdgP2rpDWC9rFN79BYhn
       sortOrder: 3
       fieldKey: firstName
       label: First name
@@ -6960,7 +7294,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 2sXvY1YMvis6Pd8E8j5wAD
+    - id: 5GrZQfGEA3CFrycdMfMxcA
       sortOrder: 4
       fieldKey: lastName
       label: Last name
@@ -6974,7 +7308,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 7LzRDB5r7u7BFd4FwRanBu
+    - id: ik2u2EBYZP1aYAXWNj2RUF
       sortOrder: 5
       fieldKey: phone
       label: Phone
@@ -6988,7 +7322,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: h5y455jgy8YUoZvtjwhJPs
+    - id: 7Z17GdEpdKZFr5Myki5SXC
       sortOrder: 6
       fieldKey: postal
       label: Postal
@@ -7002,7 +7336,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ojQuEjGKCbmPhauLWCn1in
+    - id: gxPc3gsoX7YSbTMnHnoWnC
       sortOrder: 7
       fieldKey: state
       label: State
@@ -7016,7 +7350,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 36RovDYmJGAH3hUrq3kgqx
+    - id: cTeVapo1GSqRhFR9V6V2jv
       sortOrder: 8
       fieldKey: city
       label: City
@@ -7030,7 +7364,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: vnTc2oJq7AeJEd2Z3pHvMN
+    - id: qC6au8wr26pyg3g9tmHcbT
       sortOrder: 9
       fieldKey: address
       label: Address
@@ -7044,7 +7378,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 2taQFET6uLeZJLi9vQkRwt
+    - id: sUqPf2Xi1XJXb7v4PveqxS
       sortOrder: 11
       fieldKey: enable_batching
       label: Enable Batching
@@ -7057,6 +7391,21 @@ items:
       choices: null
       dynamic: false
       allowNull: false
+    - id: v4MyobKDELZqZzkUiLhH7f
+      sortOrder: 12
+      fieldKey: batch_size
+      label: Batch Size
+      type: NUMBER
+      description: >-
+        Maximum number of events to include in each batch. Actual batch sizes
+        may be lower. Minimum value is 1500 and maximum is 10000.
+      placeholder: ''
+      defaultValue: 10000
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
   presets: []
   partnerOwned: false
 - id: 5d1994fb320116000112aa12
@@ -24943,7 +25292,7 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Entered" or event = "Audience Exited"
     fields:
-    - id: mrKbuMgfWN8UEpJ2qcde2H
+    - id: sMWNJ9SV44EHdFWm1UrdNW
       sortOrder: 0
       fieldKey: external_id
       label: External User ID
@@ -24962,7 +25311,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: gfvJ2HNHnRiAJhXYp6Jzdi
+    - id: adW8A3ypaS3Gn61UTMQVDf
       sortOrder: 1
       fieldKey: user_alias
       label: User Alias Object
@@ -24979,7 +25328,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: m6feT5HWsrNtuELUTP3GRM
+    - id: fMBFeqVHqMphMfNMPUXjQr
       sortOrder: 2
       fieldKey: device_id
       label: Device ID
@@ -24995,7 +25344,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 9kfD74Zpu2MdUBWmdp3K7q
+    - id: 6UaoCM3iYLE1EHXj5t36Wd
       sortOrder: 5
       fieldKey: enable_batching
       label: Enable Batching
@@ -25009,7 +25358,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: tYsBaXcfg6WnEBmKpP2ksC
+    - id: rHgLoUUVzLf1N13HYk2vrU
       sortOrder: 6
       fieldKey: personas_audience_key
       label: Segment Engage Audience Key
@@ -25277,7 +25626,7 @@ items:
     label: Safari Website Push ID
   - name: sdkVersion
     type: select
-    defaultValue: '5.8'
+    defaultValue: '5.9'
     description: The version of the Braze SDK to use
     required: true
     label: SDK Version
@@ -25327,7 +25676,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event != "Order Completed"
     fields:
-    - id: stJYHuavLhjpZSbbtWnA9F
+    - id: f92vXJTVaJjwDn588aQyeR
       sortOrder: 0
       fieldKey: eventName
       label: Event Name
@@ -25341,7 +25690,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: oqyLaWBRrKvgipb129suEp
+    - id: vA8tF8UQZcjyG7exFqJrrY
       sortOrder: 1
       fieldKey: eventProperties
       label: Event Properties
@@ -25363,7 +25712,7 @@ items:
     hidden: false
     defaultTrigger: type = "identify" or type = "group"
     fields:
-    - id: dxeRTvLWTwQDdN6fvK5VVo
+    - id: 2K44AKpPrHHghVemDKpUZ2
       sortOrder: 0
       fieldKey: external_id
       label: External User ID
@@ -25377,7 +25726,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: Vht76mw1WSQtpe4F2hq9y
+    - id: qm2M9pTGBJSxu4DTPN4un6
       sortOrder: 1
       fieldKey: country
       label: Country
@@ -25391,7 +25740,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: t2f6CUzpAgn5XxgJk1xNxu
+    - id: 978rhPL2GsARwfeJoogyM9
       sortOrder: 2
       fieldKey: current_location
       label: Current Location
@@ -25403,7 +25752,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: ggD55GKgXsecAwdSxmhdMi
+    - id: 3FZXECZLbDuhL9ZWeL57t9
       sortOrder: 3
       fieldKey: custom_attributes
       label: Custom Attributes
@@ -25419,7 +25768,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: uvVWeQxCMHz7TdwD7DnXuS
+    - id: p45RAM5tj3uyaxc3ZRJntW
       sortOrder: 4
       fieldKey: dob
       label: Date of Birth
@@ -25431,7 +25780,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: edhysng2wqWHGcMTuKZxqe
+    - id: 6kBDzwyBdmbAo71Yt8FRQG
       sortOrder: 5
       fieldKey: email
       label: Email
@@ -25445,7 +25794,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: rZx6KjpoUpFHR7t2Fmiq5n
+    - id: 7mU9GS9a5ubvLWq3hjQGQ6
       sortOrder: 6
       fieldKey: email_subscribe
       label: Email Subscribe
@@ -25460,7 +25809,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: idp8ibzUex7Q8NRoXjRFNt
+    - id: w96XkTF8HxoUxqmJz3xnxK
       sortOrder: 7
       fieldKey: first_name
       label: First Name
@@ -25474,7 +25823,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: wJUxu5uqed8QwikHQGJPwr
+    - id: 7vrAjcj9dkEY1eEh26Nhsh
       sortOrder: 8
       fieldKey: last_name
       label: Last Name
@@ -25488,7 +25837,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: AuoHPe9CaefQ4FPSxmfUB
+    - id: 7x88YefzmGo1nzf3Fqt5Qu
       sortOrder: 9
       fieldKey: gender
       label: Gender
@@ -25504,7 +25853,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: qHDUBGmgkX88vWktNt83Yq
+    - id: gC7H4U6XrnWjG2nde2XT5Y
       sortOrder: 10
       fieldKey: home_city
       label: Home City
@@ -25518,7 +25867,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: thsnNVbYj21rf1NS8iMBHA
+    - id: xwPdSH6XoyGh9PXjsnzDnt
       sortOrder: 11
       fieldKey: image_url
       label: Image URL
@@ -25532,7 +25881,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: u3oVoEBu4cDAU5UoWTXaML
+    - id: 65TyJGPtxt8Cr79UAHZxeW
       sortOrder: 12
       fieldKey: language
       label: Language
@@ -25544,7 +25893,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: uUv5TJoDTBXqw7RuQmAbky
+    - id: gU3CAT5bF9YeTHnYpsHuzL
       sortOrder: 13
       fieldKey: phone
       label: Phone Number
@@ -25558,7 +25907,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: vPztZQqR8pmaBv8aqTr5q1
+    - id: ngjspPzDDQoBAT1AM46ccA
       sortOrder: 14
       fieldKey: push_subscribe
       label: Push Subscribe
@@ -25573,7 +25922,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: cQon4TDMCpkYVTpVvQHZtT
+    - id: 7CCWhwmkj8XYMZTVQD6LoU
       sortOrder: 15
       fieldKey: subscription_groups
       label: Subscription Groups
@@ -25598,7 +25947,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event = "Order Completed"
     fields:
-    - id: 8ydScjmfB9212W6BD1D3id
+    - id: kqe3u3DdbRr5rNjXbvNRb9
       sortOrder: 0
       fieldKey: purchaseProperties
       label: Purchase Properties
@@ -25618,7 +25967,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 7DU4vc5BQoMQbfUBtFaLst
+    - id: uVjXaczgD5zGKgNB3pNyzc
       sortOrder: 1
       fieldKey: products
       label: Products
@@ -25633,14 +25982,6 @@ items:
       dynamic: false
       allowNull: false
   presets:
-  - actionId: uL67YU9rAsuT4cp4dNNmBu
-    name: Order Completed calls
-    fields:
-      purchaseProperties:
-        '@path': $.properties
-      products:
-        '@path': $.properties.products
-    trigger: type = "track" and event = "Order Completed"
   - actionId: fRZrfm4TC5JL3AGeRnLk3W
     name: Track Calls
     fields:
@@ -25675,6 +26016,14 @@ items:
       subscription_groups:
         '@path': $.traits.braze_subscription_groups
     trigger: type = "identify" or type = "group"
+  - actionId: uL67YU9rAsuT4cp4dNNmBu
+    name: Order Completed calls
+    fields:
+      purchaseProperties:
+        '@path': $.properties
+      products:
+        '@path': $.properties.products
+    trigger: type = "track" and event = "Order Completed"
   partnerOwned: false
 - id: 6241e78214aad278a6322f52
   display_name: Breyta CRM
@@ -34972,28 +35321,26 @@ items:
       hidden: false
   presets: []
   partnerOwned: true
-- id: 682db61f6c600fdb90251392
-  display_name: Eagle Eye (Actions)
-  name: Eagle Eye (Actions)
-  slug: eagle-eye-actions
+- id: 6870f42bdaad87a11d764e91
+  display_name: Eagle Eye
+  name: Eagle Eye
+  slug: eagle-eye
   hidden: false
   endpoints:
   - US
   regions:
   - us-west-2
   - eu-west-1
-  url: connections/destinations/catalog/eagle-eye-actions
+  url: connections/destinations/catalog/eagle-eye
   previous_names:
-  - Eagle Eye (Actions)
-  website: https://eagleeye.com/
+  - Eagle Eye
+  website: http://www.segment.com
   status: PUBLIC_BETA
-  categories:
-  - Personalization
-  - Marketing Automation
+  categories: []
   logo:
-    url: https://cdn-devcenter.segment.com/9ad0b782-15ac-4cec-83dc-21e2600d19b7.svg
+    url: https://cdn.filepicker.io/api/file/jrbUXsZDQ708akn3cVyZ
   mark:
-    url: https://cdn-devcenter.segment.com/71a5d53f-dab0-4ff8-a4c4-58d1fd840518.svg
+    url: https://cdn.filepicker.io/api/file/jrbUXsZDQ708akn3cVyZ
   methods:
     track: true
     identify: true
@@ -35007,7 +35354,7 @@ items:
     server: true
     warehouse: false
     cloudAppObject: false
-    linkedAudiences: true
+    linkedAudiences: false
   components: []
   browserUnbundlingSupported: false
   browserUnbundlingPublic: false
@@ -35035,15 +35382,15 @@ items:
     required: true
     label: Connector External Key
   actions:
-  - id: SqLce3Uc3XxR9ycooEmV2
+  - id: iHPP68PAPPypctEXL62Hrm
     name: Trigger Behavioral Action
     slug: triggerBehavioralAction
     description: Trigger behavioral actions in AIR based on tracked events
     platform: CLOUD
     hidden: false
-    defaultTrigger: type = "track"
+    defaultTrigger: type = "track" or type = "identify"
     fields:
-    - id: 73mf46ZxRXb1TG4aaDnbZz
+    - id: dVGYemvQ8FWEAAWn3wrFRE
       sortOrder: 0
       fieldKey: identityValue
       label: User identity value
@@ -35057,7 +35404,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: p8BViqXrKD2XhcaJ6VCydo
+    - id: 2amJN8YQDshFHaeJi1CUHw
       sortOrder: 1
       fieldKey: walletTransactionReference
       label: Wallet transaction reference
@@ -35071,16 +35418,18 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 6kS7Fh9G35fxDcopSthNmW
+    - id: rtabdGqHL3eTEEQ1qarS8
       sortOrder: 2
       fieldKey: behavioralActionTriggerReferences
       label: Behavioral Action trigger reference
       type: STRING
       description: >-
-        Accepts a comma delimited list of reference strings for the Behavioral
-        Action to be executed. E.g.: A0001,P0001
+        If connecting to an Engage Audience the default mapping should be left
+        as is. This field accepts a comma delimited list of reference strings
+        for the Behavioral Action to be executed. E.g.: A0001,P0001
       placeholder: ''
-      defaultValue: ''
+      defaultValue:
+        '@path': $.context.personas.audience_settings.behavioralActionTriggerReferences
       required: true
       multiple: false
       choices: null
@@ -44009,6 +44358,321 @@ items:
   actions: []
   presets: []
   partnerOwned: false
+- id: 6683e1d5e37fd84efcf3bbef
+  display_name: First Party Dv360
+  name: First Party Dv360
+  slug: first-party-dv360
+  hidden: false
+  endpoints:
+  - US
+  regions:
+  - us-west-2
+  - eu-west-1
+  url: connections/destinations/catalog/first-party-dv360
+  previous_names:
+  - First Party Dv360
+  website: http://www.segment.com
+  status: PUBLIC_BETA
+  categories: []
+  logo:
+    url: https://cdn-devcenter.segment.com/da053d87-a568-4bae-827f-857f7f4b2aba.svg
+  mark:
+    url: https://cdn-devcenter.segment.com/31811060-3f10-46b0-94de-bf299beb94a4.svg
+  methods:
+    track: true
+    identify: false
+    group: false
+    alias: false
+    screen: false
+    page: false
+  platforms:
+    browser: true
+    mobile: false
+    server: true
+    warehouse: false
+    cloudAppObject: false
+    linkedAudiences: false
+  components: []
+  browserUnbundlingSupported: false
+  browserUnbundlingPublic: false
+  replay: false
+  connection_modes:
+    device:
+      web: false
+      mobile: false
+      server: false
+    cloud:
+      web: true
+      mobile: false
+      server: true
+  settings: []
+  actions:
+  - id: pMRu4ozQwh3SzjYycCzDfn
+    name: Add to List
+    slug: addToList
+    description: Adds to list
+    platform: CLOUD
+    hidden: true
+    defaultTrigger: null
+    fields: []
+  - id: kjEdc2dNCshXomx9VDnp9
+    name: Remove Customer Match Members - Mobile Device Id List
+    slug: removeFromAudMobileDeviceId
+    description: >-
+      Remove customer match members in Google Display & Video 360 Mobile Device
+      Id List Audience.
+    platform: CLOUD
+    hidden: false
+    defaultTrigger: event = "Audience Entered"
+    fields:
+    - id: uT3Uxyik2BSKqGb1QuTPoj
+      sortOrder: 0
+      fieldKey: mobileDeviceIds
+      label: Mobile Device IDs
+      type: STRING
+      description: >-
+        A list of mobile device IDs defining Customer Match audience members.
+        The size of mobileDeviceIds mustn't be greater than 500,000.
+      placeholder: ''
+      defaultValue:
+        '@path': $.context.traits.mobileDeviceIds
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+  - id: texVBBbJ5ZvG5eBR49wLoL
+    name: Edit Customer Match Members - Mobile Device Id List
+    slug: addToAudMobileDeviceId
+    description: >-
+      Add or update customer match members in Google Display & Video 360 Mobile
+      Device Id List Audience.
+    platform: CLOUD
+    hidden: false
+    defaultTrigger: event = "Audience Entered"
+    fields:
+    - id: dzEWPLsY9RCMeZXPs84FcJ
+      sortOrder: 0
+      fieldKey: mobileDeviceIds
+      label: Mobile Device IDs
+      type: STRING
+      description: >-
+        A list of mobile device IDs defining Customer Match audience members.
+        The size of mobileDeviceIds mustn't be greater than 500,000.
+      placeholder: ''
+      defaultValue:
+        '@path': $.context.traits.mobileDeviceIds
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+  - id: u4XdrL4XCgThQLiwKZKC7e
+    name: Edit Customer Match Members - Contact Info List
+    slug: addToAudContactInfo
+    description: >-
+      Add or update customer match members in Google Display & Video 360 Contact
+      Info List Audience.
+    platform: CLOUD
+    hidden: false
+    defaultTrigger: event = "Audience Entered"
+    fields:
+    - id: 9v6BVoLkJsYA7WBp7CFv1
+      sortOrder: 0
+      fieldKey: emails
+      label: Emails
+      type: STRING
+      description: >-
+        A list of the user's emails. If not already hashed, the system will hash
+        them before use. If not hashed, Segment will hash this value.
+      placeholder: ''
+      defaultValue:
+        '@path': $.context.traits.emails
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: nRkBkcGCPh3CkMhXRfpUo9
+      sortOrder: 1
+      fieldKey: phoneNumbers
+      label: Phone Numbers
+      type: STRING
+      description: >-
+        A list of the user's phone numbers. If not already hashed, the system
+        will hash them before use. If not hashed, Segment will hash this value.
+      placeholder: ''
+      defaultValue:
+        '@path': $.context.traits.phoneNumbers
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: iKhX1uinTtH1h3U4Dm4gaq
+      sortOrder: 2
+      fieldKey: zipCodes
+      label: ZIP Codes
+      type: STRING
+      description: A list of the user's zip codes.
+      placeholder: ''
+      defaultValue:
+        '@path': $.context.traits.zipCodes
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: mUVtit9CqM9CjbQBnEUuze
+      sortOrder: 3
+      fieldKey: firstName
+      label: First Name
+      type: STRING
+      description: >-
+        The user's first name. If not already hashed, the system will hash it
+        before use. If not hashed, Segment will hash this value.
+      placeholder: ''
+      defaultValue:
+        '@path': $.context.traits.firstName
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: m6UJjUoLKDQK9CgLw8boAR
+      sortOrder: 4
+      fieldKey: lastName
+      label: Last Name
+      type: STRING
+      description: >-
+        The user's last name. If not already hashed, the system will hash it
+        before use. If not hashed, Segment will hash this value.
+      placeholder: ''
+      defaultValue:
+        '@path': $.context.traits.lastName
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: hDb93iDZswBJELhLyvyd4W
+      sortOrder: 5
+      fieldKey: countryCode
+      label: Country Code
+      type: STRING
+      description: The country code of the user.
+      placeholder: ''
+      defaultValue:
+        '@path': $.context.traits..countryCode
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+  - id: vykfWPGTjXpdHZiaaSUYRC
+    name: Remove Customer Match Members - Contact Info List
+    slug: removeFromAudContactInfo
+    description: >-
+      Remove customer match members in Google Display & Video 360 Contact Info
+      List Audience.
+    platform: CLOUD
+    hidden: false
+    defaultTrigger: event = "Audience Exited"
+    fields:
+    - id: 8a2YMuRfDVjc7pM2PtNk6B
+      sortOrder: 0
+      fieldKey: emails
+      label: Emails
+      type: STRING
+      description: >-
+        A list of the user's emails. If not already hashed, the system will hash
+        them before use. If not hashed, Segment will hash this value.
+      placeholder: ''
+      defaultValue:
+        '@path': $.context.traits.emails
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: bwznBSaBAELeAituYtxp18
+      sortOrder: 1
+      fieldKey: phoneNumbers
+      label: Phone Numbers
+      type: STRING
+      description: >-
+        A list of the user's phone numbers. If not already hashed, the system
+        will hash them before use. If not hashed, Segment will hash this value.
+      placeholder: ''
+      defaultValue:
+        '@path': $.context.traits.phoneNumbers
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: xk7JHGRNKm8MWqg5L3TFF1
+      sortOrder: 2
+      fieldKey: zipCodes
+      label: ZIP Codes
+      type: STRING
+      description: A list of the user's zip codes.
+      placeholder: ''
+      defaultValue:
+        '@path': $.context.traits.zipCodes
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: htaHz7759wvmzUeg4L7KjZ
+      sortOrder: 3
+      fieldKey: firstName
+      label: First Name
+      type: STRING
+      description: >-
+        The user's first name. If not already hashed, the system will hash it
+        before use. If not hashed, Segment will hash this value.
+      placeholder: ''
+      defaultValue:
+        '@path': $.context.traits.firstName
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: 9y9rrfjVMxHdPAkQbmGCd9
+      sortOrder: 4
+      fieldKey: lastName
+      label: Last Name
+      type: STRING
+      description: >-
+        The user's last name. If not already hashed, the system will hash it
+        before use. If not hashed, Segment will hash this value.
+      placeholder: ''
+      defaultValue:
+        '@path': $.context.traits.lastName
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: s9oBRJpFD1EC1LpoZSC7NS
+      sortOrder: 5
+      fieldKey: countryCode
+      label: Country Code
+      type: STRING
+      description: The country code of the user.
+      placeholder: ''
+      defaultValue:
+        '@path': $.context.traits..countryCode
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+  presets: []
+  partnerOwned: false
 - id: 66048cbafa5a03fc49b153d3
   display_name: FL0
   name: FL0
@@ -113046,68 +113710,229 @@ items:
     description: The name of the database.
     required: true
     label: Database Name
-  - name: environment
-    type: select
-    defaultValue: Prod
-    description: The environment of the Singlestore database.
-    required: true
-    label: Environment
   - name: host
     type: string
     defaultValue: ''
-    description: The host of the Singlestore database.
+    description: The host of the SingleStore database.
     required: true
     label: Host
   - name: password
     type: password
     defaultValue: ''
-    description: The password of the Singlestore database.
+    description: The password of the SingleStore database.
     required: true
     label: Password
   - name: port
-    type: number
-    defaultValue: 3306
-    description: The port of the Singlestore database.
-    required: true
+    type: string
+    defaultValue: '443'
+    description: The port of the SingleStore Data API. Defaults to 443.
+    required: false
     label: Port
+  - name: tableName
+    type: string
+    defaultValue: segment_data
+    description: The name of the table. Defaults to "segment_data".
+    required: true
+    label: Table Name
   - name: username
     type: string
     defaultValue: ''
-    description: The username of the Singlestore database.
+    description: The username of the SingleStore database.
     required: true
     label: Username
   actions:
   - id: xxgUnx4BHqGLDYCJ4TiWPW
     name: Send Data
     slug: send
-    description: Send data to Singlestore.
+    description: Send data to SingleStore.
     platform: CLOUD
     hidden: false
     defaultTrigger: >-
       type = "track" or type = "screen" or type = "identify" or type = "page" or
       type = "group" or type = "alias"
     fields:
-    - id: o4FSHmgGNDZjGayk4VpDqK
+    - id: a5ZvQfU1YXkA8MfLaf3sfP
       sortOrder: 0
-      fieldKey: database
-      label: Database
+      fieldKey: messageid
+      label: Message ID
       type: STRING
-      description: The name of the SingleStore database to send data to.
+      description: A unique identifier for the message.
       placeholder: ''
+      defaultValue:
+        '@path': $.messageId
       required: true
       multiple: false
       choices: null
-      dynamic: true
+      dynamic: false
       allowNull: false
-    - id: pV6xn9yXzxddMKs6EU2Ps2
+    - id: 3BVWwK4SMjpRnUHYUouz69
       sortOrder: 1
-      fieldKey: message
-      label: Message
+      fieldKey: timestamp
+      label: Timestamp
+      type: STRING
+      description: The timestamp of the event.
+      placeholder: ''
+      defaultValue:
+        '@path': $.timestamp
+      required: true
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: mQgrdtbnzK5sNMSCUuLygR
+      sortOrder: 2
+      fieldKey: type
+      label: Type
+      type: STRING
+      description: >-
+        The type of the event (e.g., "track", "identify", "page", "screen",
+        "group", "alias").
+      placeholder: ''
+      defaultValue:
+        '@path': $.type
+      required: true
+      multiple: false
+      choices:
+      - label: Track
+        value: track
+      - label: Identify
+        value: identify
+      - label: Page
+        value: page
+      - label: Screen
+        value: screen
+      - label: Group
+        value: group
+      - label: Alias
+        value: alias
+      dynamic: false
+      allowNull: false
+    - id: 7mFY291pmMxDqmWNKyLLkq
+      sortOrder: 3
+      fieldKey: event
+      label: Event
+      type: STRING
+      description: The name of the event. Only required for "track" events.
+      placeholder: ''
+      defaultValue:
+        '@path': $.event
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: ddEXdVCGrKwcLemnCkFPfM
+      sortOrder: 4
+      fieldKey: name
+      label: Name
+      type: STRING
+      description: The name of the page or screen.
+      placeholder: ''
+      defaultValue:
+        '@path': $.name
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: 4wukbEG4un3GRUgFtxbvBt
+      sortOrder: 5
+      fieldKey: properties
+      label: Properties
       type: OBJECT
-      description: The complete event payload.
+      description: The properties of the track, page or screen event.
       placeholder: ''
       defaultValue:
-        '@path': $.
+        '@path': $.properties
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: uwD7zYDRH6YVP6G26Q78Jf
+      sortOrder: 6
+      fieldKey: userId
+      label: User ID
+      type: STRING
+      description: The user ID associated with the event.
+      placeholder: ''
+      defaultValue:
+        '@path': $.userId
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: q6GPT1YEM3kUgJdHiztGBX
+      sortOrder: 7
+      fieldKey: anonymousId
+      label: Anonymous ID
+      type: STRING
+      description: The anonymous ID associated with the event.
+      placeholder: ''
+      defaultValue:
+        '@path': $.anonymousId
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: MkEAKUcUMTejRHc8dYMDK
+      sortOrder: 8
+      fieldKey: groupId
+      label: Group ID
+      type: STRING
+      description: The group ID associated with the event.
+      placeholder: ''
+      defaultValue:
+        '@path': $.groupId
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: bBSrBLYBuEWKU9fQfEeSPR
+      sortOrder: 9
+      fieldKey: traits
+      label: Traits
+      type: OBJECT
+      description: The traits of the user associated with the event.
+      placeholder: ''
+      defaultValue:
+        '@if':
+          exists:
+            '@path': $.context.traits
+          then:
+            '@path': $.context.traits
+          else:
+            '@path': $.traits
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: i2gP8GAgYK4yqETJhs53Lb
+      sortOrder: 10
+      fieldKey: context
+      label: Context
+      type: OBJECT
+      description: The context of the event. Contains user environment information.
+      placeholder: ''
+      defaultValue:
+        '@path': $.context
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: nndrTZhnnrQPm4YSZjbkTw
+      sortOrder: 11
+      fieldKey: max_batch_size
+      label: Max Batch Size
+      type: NUMBER
+      description: The maximum number of rows to include in a batch.
+      placeholder: ''
+      defaultValue: 100
       required: true
       multiple: false
       choices: null
diff --git a/src/_data/catalog/destinations_private.yml b/src/_data/catalog/destinations_private.yml
index 43df3f3dfa..4818d3c271 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 2025-07-10 
+# destination data last updated 2025-07-17 
 items:
   - id: 54521fd925e721e32a72eee1
     display_name: Pardot
diff --git a/src/_data/catalog/source_categories.yml b/src/_data/catalog/source_categories.yml
index 595bb73691..d635bb5a91 100644
--- a/src/_data/catalog/source_categories.yml
+++ b/src/_data/catalog/source_categories.yml
@@ -1,5 +1,5 @@
 # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
-# source categories last updated 2025-07-10 
+# source categories last updated 2025-07-17 
 items:
   - display_name: A/B testing
     slug: a-b-testing
diff --git a/src/_data/catalog/sources.yml b/src/_data/catalog/sources.yml
index a08d455fe8..e4d245ce78 100644
--- a/src/_data/catalog/sources.yml
+++ b/src/_data/catalog/sources.yml
@@ -1,5 +1,5 @@
 # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
-# sources last updated 2025-07-10 
+# sources last updated 2025-07-17 
 items:
   - id: 8HWbgPTt3k
     display_name: .NET

From 7a8f2220134f0fc1e740c17375ebbf85a0140af5 Mon Sep 17 00:00:00 2001
From: Pedro Mordente <revolutionms3@hotmail.com>
Date: Thu, 17 Jul 2025 18:22:16 -0300
Subject: [PATCH 098/188] feat: add roadwayai destination docs

---
 .../catalog/roadway-actions/index.md           | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
 create mode 100644 src/connections/destinations/catalog/roadway-actions/index.md

diff --git a/src/connections/destinations/catalog/roadway-actions/index.md b/src/connections/destinations/catalog/roadway-actions/index.md
new file mode 100644
index 0000000000..773a7e24be
--- /dev/null
+++ b/src/connections/destinations/catalog/roadway-actions/index.md
@@ -0,0 +1,18 @@
+---
+title: Roadway (Actions) Destination
+---
+
+{% include content/plan-grid.md name="actions" %}
+
+[Roadway](https://roadwayai.com/){:target="_blank"} is AI built for growth marketers, operating from marketing attribution from your source-of-truth data sources. Roadway ingests and organizes your visit, user, and billing data to provide end-to-end attribution and AI automation.
+
+This destination is maintained by Roadway. For any issues with the destination, [contact their Support team](mailto:contact@roadwayai.com).
+
+## Getting started
+
+1. From your workspace's [Destination catalog page](https://app.segment.com/goto-my-workspace/destinations/catalog){:target="_blank"} search for "Roadway".
+2. Select Roadway and click **Add Destination**.
+3. Select an existing Source to connect to Roadway.
+4. Go to the [Roadway dashboard](https://app.roadwayai.com/){:target="_blank"}, navigate to your onboarding workspace, go to the **Connect data** step, and find Segment. Generate a workspace API key from there.
+5. Enter the **API Key** in the Roadway destination settings in Segment.
+

From e5a2147782ae54f1524c989e29547cff10110a15 Mon Sep 17 00:00:00 2001
From: Harsh Joshi <harsh.joshi@segment.com>
Date: Fri, 18 Jul 2025 11:45:44 +0530
Subject: [PATCH 099/188] Add warning that hashing detection applies only to
 action-destinations

---
 src/connections/destinations/index.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/connections/destinations/index.md b/src/connections/destinations/index.md
index fea7094e95..88d784be3d 100644
--- a/src/connections/destinations/index.md
+++ b/src/connections/destinations/index.md
@@ -227,6 +227,9 @@ Segment supports these 2 types of data for hashing:
 * **Plain text data:** When you send plain text values to destinations that require hashed values, Segment automatically normalizes and hashes these values. 
 * **Pre-hashed data:** If you already hash your data before sending it to Segment, Segment is able to detect that the data is hashed, and will pass your pre-hashed data directly to the destination, avoiding double-hashing. 
 
+> warning ""
+> The hashing detection feature applies only to **Action Destinations**. 
+
 > info ""
 > If you choose to hash data yourself, ensure you follow each destination's specific hashing requirements. Fields that support automatic hashing detection will display a tooltip indicating *"If not hashed, Segment will hash this value."*
 

From 355d39765f9fcb55b570bbb801ef9c66d3610afb Mon Sep 17 00:00:00 2001
From: Joe Ayoub <joe.ayoub@segment.com>
Date: Fri, 18 Jul 2025 08:44:27 +0100
Subject: [PATCH 100/188] Correcting slug for Aampe Actions Destination

---
 src/_data/catalog/destinations.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/_data/catalog/destinations.yml b/src/_data/catalog/destinations.yml
index af0364d1ba..79e7f3c196 100644
--- a/src/_data/catalog/destinations.yml
+++ b/src/_data/catalog/destinations.yml
@@ -458,14 +458,14 @@ items:
 - id: 6874c64e5eda096bf3850ee0
   display_name: Aampe (Actions)
   name: Aampe (Actions)
-  slug: aampe-actions
+  slug: actions-aampe
   hidden: false
   endpoints:
   - US
   regions:
   - us-west-2
   - eu-west-1
-  url: connections/destinations/catalog/aampe-actions
+  url: connections/destinations/catalog/actions-aampe
   previous_names:
   - Aampe (Actions)
   website: https://aampe.com/

From 799730f1a6e03b29609bebaedfeaa24c28281951 Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Fri, 18 Jul 2025 07:05:08 -0400
Subject: [PATCH 101/188] Update slugs.yml

---
 src/_data/catalog/slugs.yml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/_data/catalog/slugs.yml b/src/_data/catalog/slugs.yml
index 0403ffa935..2edea25473 100644
--- a/src/_data/catalog/slugs.yml
+++ b/src/_data/catalog/slugs.yml
@@ -327,4 +327,6 @@ destinations:
     override: "actions-topsort"
   - original: "ortto-actions"
     override: "actions-ortto"
+  - original: "aampe-actions"
+    override: "actions-aampe"
 

From 72a32d1d76073d71d89b96e8cb2672e26bad71ac Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Fri, 18 Jul 2025 08:09:28 -0400
Subject: [PATCH 102/188] Update
 src/connections/destinations/catalog/actions-reddit-pixel/index.md

---
 .../destinations/catalog/actions-reddit-pixel/index.md           | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/connections/destinations/catalog/actions-reddit-pixel/index.md b/src/connections/destinations/catalog/actions-reddit-pixel/index.md
index c911f76b56..298e875653 100644
--- a/src/connections/destinations/catalog/actions-reddit-pixel/index.md
+++ b/src/connections/destinations/catalog/actions-reddit-pixel/index.md
@@ -1,7 +1,6 @@
 ---
 title: Reddit Pixel
 id: 68383577d2c19626da376944
-private: true
 beta: true
 ---
 

From f51b114f3461bd4d01a597560d9f44b4f2f14ac2 Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Fri, 18 Jul 2025 11:41:57 -0400
Subject: [PATCH 103/188] Add callout about external_id casing

---
 src/unify/profile-api.md | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/unify/profile-api.md b/src/unify/profile-api.md
index 527d648e14..06f86264f0 100644
--- a/src/unify/profile-api.md
+++ b/src/unify/profile-api.md
@@ -59,10 +59,13 @@ Your access token enables you to call the Profile API and access customer data.
 > To query phone numbers that contain a plus sign (`+`), insert the escape characters `%2B` in place of the plus sign.
 > For example, if a `phone_number` identifier has the value `+5555550123`, enter `phone_number:%2B5555550123` in your query.
 > 
-> If the field you're using within the Profile API endpoint contains a value with a non-alphanumeric character, then the Profile API may respond with `500` error. In this case, see [W3's ASCII Encoding Refernece](https://www.w3schools.com/tags/ref_urlencode.ASP#:~:text=ASCII%20Encoding%20Reference,%25C3%25BF){:target="_blank"}, which lists the escape characters you can use to replace the non-alphanumeric character in the Profile API endpoint so that the Profile API will respond with a `200 Success`.
+> If the field you're using within the Profile API endpoint contains a value with a non-alphanumeric character, then the Profile API may respond with `500` error. In this case, see [W3's ASCII Encoding Reference](https://www.w3schools.com/tags/ref_urlencode.ASP#:~:text=ASCII%20Encoding%20Reference,%25C3%25BF){:target="_blank"}, which lists the escape characters you can use to replace the non-alphanumeric character in the Profile API endpoint so that the Profile API will respond with a `200 Success`.
 
 ### Query the user's event traits
 
+> info "Make Profile API queries using a lowercase external_id"
+> Queries with an `external_id` in other casing won't return any profiles.
+
 1. From the HTTP API testing application of your choice, configure the authentication as described above.
 2. Identify the user’s external ID. 
   - The Profile API requires both the ID type and value, separated by a colon (like `anonymous_id:eml_3bca54b7fe7491add4c8d5d4d9bf6b3e085c6092`). Learn more in [Find a user's external ID](#find-a-users-external-id).

From 3332b5d3f00d9c518a1a6ca9ae61c372425f7e95 Mon Sep 17 00:00:00 2001
From: Pedro Mordente <1693841+mordente@users.noreply.github.com>
Date: Fri, 18 Jul 2025 14:21:46 -0300
Subject: [PATCH 104/188] Update
 src/connections/destinations/catalog/roadway-actions/index.md

Co-authored-by: Sharon Adewusi <sadewusi@twilio.com>
---
 src/connections/destinations/catalog/roadway-actions/index.md | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/connections/destinations/catalog/roadway-actions/index.md b/src/connections/destinations/catalog/roadway-actions/index.md
index 773a7e24be..0e49a7e67a 100644
--- a/src/connections/destinations/catalog/roadway-actions/index.md
+++ b/src/connections/destinations/catalog/roadway-actions/index.md
@@ -1,5 +1,7 @@
 ---
 title: Roadway (Actions) Destination
+id: 68516bd8ca73bd53f38a0104
+beta: true
 ---
 
 {% include content/plan-grid.md name="actions" %}

From 7a5e62eacd43e3627cee2906fa7e60b137153ee7 Mon Sep 17 00:00:00 2001
From: Pedro Mordente <1693841+mordente@users.noreply.github.com>
Date: Fri, 18 Jul 2025 14:21:57 -0300
Subject: [PATCH 105/188] Update
 src/connections/destinations/catalog/roadway-actions/index.md

Co-authored-by: Sharon Adewusi <sadewusi@twilio.com>
---
 src/connections/destinations/catalog/roadway-actions/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/catalog/roadway-actions/index.md b/src/connections/destinations/catalog/roadway-actions/index.md
index 0e49a7e67a..6dfb3ece8c 100644
--- a/src/connections/destinations/catalog/roadway-actions/index.md
+++ b/src/connections/destinations/catalog/roadway-actions/index.md
@@ -8,7 +8,7 @@ beta: true
 
 [Roadway](https://roadwayai.com/){:target="_blank"} is AI built for growth marketers, operating from marketing attribution from your source-of-truth data sources. Roadway ingests and organizes your visit, user, and billing data to provide end-to-end attribution and AI automation.
 
-This destination is maintained by Roadway. For any issues with the destination, [contact their Support team](mailto:contact@roadwayai.com).
+This destination is maintained by Roadway. For any issues with the destination, [contact the Roadway Support team](mailto:contact@roadwayai.com){:target="_blank"}.
 
 ## Getting started
 

From 3b41a661dec39dca365594a47fd0a8453b4b279c Mon Sep 17 00:00:00 2001
From: wilwong-twilio <109997887+wilwong-twilio@users.noreply.github.com>
Date: Fri, 18 Jul 2025 13:40:03 -0700
Subject: [PATCH 106/188] Update linked-audiences-limits.md

---
 src/engage/audiences/linked-audiences-limits.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/engage/audiences/linked-audiences-limits.md b/src/engage/audiences/linked-audiences-limits.md
index 23a26a1622..e984b60b77 100644
--- a/src/engage/audiences/linked-audiences-limits.md
+++ b/src/engage/audiences/linked-audiences-limits.md
@@ -29,7 +29,7 @@ If you have a non-standard or high volume usage plan, you have unique Linked Aud
 
 Name | Limit | Details 
 ---- | ----- | --------
-RETL row limit | 150 million | The audience compute fails if the total output exceeds the limit. 
+RETL row limit | 150 million | The audience compute fails if the total output exceeds the limit. This limit is approximately the sum of the total linked audience profile membership count and the total number of entity relationships for the profiles in the audience.
 RETL column limit | 500 columns | The audience compute fails if the number of columns exceeds the limit. 
 Global concurrent audience runs | 5 total within any given space | New audience runs are queued once the limit is reached and will start execution once prior audience runs complete. If you need a higher global concurrent audience runs limit, contact [friends@segment.com](mailto:friends@segment.com){:target="_blank"}.
 Event Size | 32 KB | Segment doesn’t emit messages for profiles whose total related entities and enrichments exceed the limit.
@@ -56,4 +56,4 @@ To improve performance and manage compute costs, follow these best practices:
 - Run on a dedicated warehouse cluster if you're operating at enterprise scale.
 - Stagger audience sync schedules to reduce concurrency and avoid bottlenecks.
 
-Following this guidance will help you keep audience syncs running efficiently even as your scale grows.
\ No newline at end of file
+Following this guidance will help you keep audience syncs running efficiently even as your scale grows.

From b03e2fe9a11ab691d4c94fd583269377d8cf638c Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Tue, 22 Jul 2025 10:27:26 -0400
Subject: [PATCH 107/188] add link to twilio account deletion docs

---
 src/segment-app/iam/index.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/segment-app/iam/index.md b/src/segment-app/iam/index.md
index f9c7f0b2a4..301569720f 100644
--- a/src/segment-app/iam/index.md
+++ b/src/segment-app/iam/index.md
@@ -19,6 +19,8 @@ You can select a user in the table to see their [roles](/docs/segment-app/iam/ro
 
 With Twilio Unified Login, Twilio users can use their Twilio email, password, and authentication settings to access several Twilio products, including Twilio Messaging, SendGrid, and Segment. You can also use Sign up With Google to create your Twilio account. Once you link your Segment account to your Twilio credentials, you can access Segment directly from the Twilio console using the [Twilio Product Switcher](#twilio-product-switcher).
 
+To delete your Twilio Unified Login account, refer to [How to Close My Twilio Account and Refund the Balance](https://help.twilio.com/articles/223183548){:target="_blank”}
+
 ### Twilio Sign Up
 
 Segment invitations and sign ups that are redirected to Twilio's sign up page must adhere to Twilio's [minimum password and 2FA requirements](https://help.twilio.com/articles/115012261968){:target="_blank”}. To learn more, view Twilio's [Account Management](https://support.twilio.com/hc/en-us/sections/205104908-Account-Management?_gl=1*1xa50pg*_ga*OTUyMjQ4OTU5LjE2NjM2ODQzMDE.*_ga_3JKYB4GBBY*MTcwNzc2ODE1OC4xNDkuMS4xNzA3NzY4MjUzLjAuMC4w){:target="_blank”} documentation.
@@ -45,6 +47,7 @@ Segment continues to support [SSO](/docs/segment-app/iam/sso/) and SCIM, as user
 - [Update a team member's access](/docs/segment-app/iam/membership#change-a-team-members-access)
 - [Remove a team member from a workspace](/docs/segment-app/iam/membership/#remove-a-team-member-from-your-workspace)
 - [Add a new user with Single Sign On](/docs/segment-app/iam/membership/#team-management-with-single-sign-on)
+- [Delete Twilio Unified Login](https://help.twilio.com/articles/223183548){:target="_blank”}
 
 <div class="double">
   {% include components/reference-button.html href="/segment-app/iam/membership/" icon="media/academy.svg" title="Invite and manage workspace members" description="Learn how to add members to your workspace, and manage their permissions." variant="related" %}

From e726f794a50122dac0fe2a8675358ab487fdbf8c Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Tue, 22 Jul 2025 11:21:46 -0400
Subject: [PATCH 108/188] Update src/segment-app/iam/index.md

Co-authored-by: Sharon Adewusi <sadewusi@twilio.com>
---
 src/segment-app/iam/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/segment-app/iam/index.md b/src/segment-app/iam/index.md
index 301569720f..9699950014 100644
--- a/src/segment-app/iam/index.md
+++ b/src/segment-app/iam/index.md
@@ -19,7 +19,7 @@ You can select a user in the table to see their [roles](/docs/segment-app/iam/ro
 
 With Twilio Unified Login, Twilio users can use their Twilio email, password, and authentication settings to access several Twilio products, including Twilio Messaging, SendGrid, and Segment. You can also use Sign up With Google to create your Twilio account. Once you link your Segment account to your Twilio credentials, you can access Segment directly from the Twilio console using the [Twilio Product Switcher](#twilio-product-switcher).
 
-To delete your Twilio Unified Login account, refer to [How to Close My Twilio Account and Refund the Balance](https://help.twilio.com/articles/223183548){:target="_blank”}
+To delete your Twilio Unified Login account, refer to [How to Close My Twilio Account and Refund the Balance](https://help.twilio.com/articles/223183548){:target="_blank”}.
 
 ### Twilio Sign Up
 

From 99e0e33df167721482a258dced9b841374afc0d9 Mon Sep 17 00:00:00 2001
From: pwseg <paul.wooley@segment.com>
Date: Tue, 22 Jul 2025 13:39:40 -0700
Subject: [PATCH 109/188] fix dbt sync table [netlify-build]

---
 src/segment-app/extensions/dbt.md | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/segment-app/extensions/dbt.md b/src/segment-app/extensions/dbt.md
index 4d338ebd97..5c3729b300 100644
--- a/src/segment-app/extensions/dbt.md
+++ b/src/segment-app/extensions/dbt.md
@@ -112,7 +112,7 @@ To enable CI Checks, authorize a GitHub App credential for your Git connection.
 
 The following table lists common dbt Extension errors, as well as their solutions:
 
-| Error       | Error message                                                              | Solution                                                                                                                                                                                                      |
-| ----------- | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Failed sync | `Sync Failed: Incorrect dbt Project File Path: dbt project file not found` | Verify that the path to your `dbt_project.yml` file is relative to the repository root, excluding the root branch. <br> For example, use `project/dbt_project.yml` instead of `main/project/dbt_project.yml`. |
-| Failed sync | `Sync Failed: remote: Write access to repository not granted`              | Verify that the account associated with the token has a write role in the repository settings. Fine-grained tokens may require specific roles, depending on your Git provider.                                |
+| Error       | Error message                                                            | Solution                                                                                                                                                                                                      |
+| ----------- | ------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Failed sync | Sync Failed: Incorrect dbt Project File Path: dbt project file not found | Verify that the path to your `dbt_project.yml` file is relative to the repository root, excluding the root branch. <br> For example, use `project/dbt_project.yml` instead of `main/project/dbt_project.yml`. |
+| Failed sync | Sync Failed: remote: Write access to repository not granted              | Verify that the account associated with the token has a write role in the repository settings. Fine-grained tokens may require specific roles, depending on your Git provider.                                |

From e2a56f88397d3e3bcb5d78609ef6791c640bbcfc Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Wed, 23 Jul 2025 12:51:18 +0100
Subject: [PATCH 110/188] Update src/connections/destinations/actions.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 src/connections/destinations/actions.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index c6c4b1691b..3acead0a8a 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -7,7 +7,7 @@ The Destination Actions framework improves on classic destinations by enabling y
 
 You can also choose which event types, event names, or event property values trigger an Action. These Triggers and Mappings make it possible to send different versions of the Action, depending on the context from which it is triggered.
 
-Each Actions-framework Destination you see in the Segment catalog represents a feature or capability of the destination which can consume data from your Segment source. The Action clearly lists which data from the events it requires and which data is optional. For example, [Amplitude](/docs/connections/destinations/catalog/actions-amplitude) requires that you always send a  `LogEvent` and [Slack](/docs/connections/destinations/catalog/actions-slack) always requires a `PostMessage`.  Each Action also includes a default mapping which you can modify.
+Each Actions-framework Destination you see in the Segment catalog represents a feature or capability of the destination which can consume data from your Segment source. The Action clearly lists which data from the events is required and which is optional. For example, [Amplitude](/docs/connections/destinations/catalog/actions-amplitude) requires that you always send a  `LogEvent` and [Slack](/docs/connections/destinations/catalog/actions-slack) always requires a `PostMessage`.  Each Action also includes a default mapping which you can modify.
 
 ## Benefits of Destination Actions
 

From c91ac04c36b8da8d3817ba83f8c3d841fb9b9799 Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Wed, 23 Jul 2025 12:51:32 +0100
Subject: [PATCH 111/188] Update src/connections/destinations/actions.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 src/connections/destinations/actions.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index 3acead0a8a..c4dec8db95 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -13,7 +13,7 @@ Each Actions-framework Destination you see in the Segment catalog represents a f
 
 The advantages of using Destination Actions include: 
 
-- **Easier setup**: Fewer initial settings which can decrease the time spent configuring the destination.
+- **Easier setup**: Destination Actions have fewer initial settings, which can decrease the time spent configuring the destination.
 - **Increased transparency**: You can see the exact data that is sent to the destination and when Segment sends it. For example, users can see exactly when Segment sends an IP address to [FullStory](https://www.fullstory.com/){:target="_blank"} or an AnonymousId to Amplitude.
 - **Improved customization**: You can determine which events from your sources trigger actions, and map the events to destination-supported actions. For example, you can define exactly which events are considered purchases by [Braze](https://www.braze.com/){:target="_blank"}.
 - **Partner ownership**: Partners can own and contribute to any Actions-based destination that use cloud and device mode (web).

From 01d48c575c90544e859ef782cefa130ddda5497a Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Wed, 23 Jul 2025 12:51:45 +0100
Subject: [PATCH 112/188] Update src/connections/destinations/actions.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 src/connections/destinations/actions.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index c4dec8db95..fa07247259 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -14,7 +14,7 @@ Each Actions-framework Destination you see in the Segment catalog represents a f
 The advantages of using Destination Actions include: 
 
 - **Easier setup**: Destination Actions have fewer initial settings, which can decrease the time spent configuring the destination.
-- **Increased transparency**: You can see the exact data that is sent to the destination and when Segment sends it. For example, users can see exactly when Segment sends an IP address to [FullStory](https://www.fullstory.com/){:target="_blank"} or an AnonymousId to Amplitude.
+- **Increased transparency**: You can see the exact data that is sent to the destination and when Segment sends it. For example, users can see exactly when Segment sends an IP address to [FullStory](https://www.fullstory.com/){:target="_blank"} or an AnonymousId to [Amplitude](https://amplitude.com/){:target="_blank"}.
 - **Improved customization**: You can determine which events from your sources trigger actions, and map the events to destination-supported actions. For example, you can define exactly which events are considered purchases by [Braze](https://www.braze.com/){:target="_blank"}.
 - **Partner ownership**: Partners can own and contribute to any Actions-based destination that use cloud and device mode (web).
 

From 986e5876fa40c878ed592178587802db3d7fc878 Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Wed, 23 Jul 2025 12:52:06 +0100
Subject: [PATCH 113/188] Update src/connections/destinations/actions.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 src/connections/destinations/actions.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index fa07247259..d5b7165370 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -16,7 +16,7 @@ The advantages of using Destination Actions include:
 - **Easier setup**: Destination Actions have fewer initial settings, which can decrease the time spent configuring the destination.
 - **Increased transparency**: You can see the exact data that is sent to the destination and when Segment sends it. For example, users can see exactly when Segment sends an IP address to [FullStory](https://www.fullstory.com/){:target="_blank"} or an AnonymousId to [Amplitude](https://amplitude.com/){:target="_blank"}.
 - **Improved customization**: You can determine which events from your sources trigger actions, and map the events to destination-supported actions. For example, you can define exactly which events are considered purchases by [Braze](https://www.braze.com/){:target="_blank"}.
-- **Partner ownership**: Partners can own and contribute to any Actions-based destination that use cloud and device mode (web).
+- **Partner ownership**: Partners can own and contribute to any Actions-based destination that uses [cloud or device (web) connection modes](/docs/connections/destinations/#connection-modes).
 
 
 ## Available Actions-based Destinations

From e174e38a84fbeff0b7411ef98cbddd7cbc55c044 Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Wed, 23 Jul 2025 12:52:50 +0100
Subject: [PATCH 114/188] Update src/connections/destinations/actions.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 src/connections/destinations/actions.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index d5b7165370..6e836d6c21 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -32,7 +32,7 @@ Destination Actions are available to all customers on all Segment plans. You do
 - You can use the [Event Tester](/docs/connections/test-connections) with Destination Actions. Event delivery metrics are collected and available in the destination information pages.
 - If you are using [Protocols](/docs/protocols/), Destination Actions actions are applied **after** [schema filters](/docs/protocols/enforce/schema-configuration/) and [transformations](/docs/protocols/transform/). 
 - If you are using [Destination Filters](/docs/connections/destinations/destination-filters/), Actions are applied after the filters. They are not applied to data that is filtered out.
-- Destination Actions can not be accessed or modified using the Segment APIs yet.
+- Destination Actions can't be accessed or modified using the Segment APIs.
 
 ## Components of a Destination Action
 

From 0bdfa8f8ad0a41ef02ec7ecc0c14cd5e76fbb4ce Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Wed, 23 Jul 2025 12:53:22 +0100
Subject: [PATCH 115/188] Update src/connections/destinations/actions.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 src/connections/destinations/actions.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index 6e836d6c21..b6cbd8d818 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -73,7 +73,7 @@ Moving from a classic destination to an actions-based destination is a manual pr
 1. Create the actions-based destination with your development or test source.
 2. Copy API keys, connection details, and other settings from the classic destination to the actions-based destination.
 3. Refer to the actions-based destination's documentation for information about how to migrate specific settings.
-4. Disable the classic version of the destinatio  and enable the actions-based version.
+4. Disable the classic version of the destination and enable the actions-based version.
 5. Verify that data is flowing from the development or test source to the partner tool.
 6. Repeat steps 1-5 with your production source.
 

From 0399d7dce9e86c7415f130d5c552cbbded040317 Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Wed, 23 Jul 2025 12:53:40 +0100
Subject: [PATCH 116/188] Update src/connections/destinations/actions.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 src/connections/destinations/actions.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index b6cbd8d818..18512294c5 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -80,7 +80,7 @@ Moving from a classic destination to an actions-based destination is a manual pr
 ### Migrate your destination filters from the classic destination to the actions destination
 
 > warning ""
-> You can only migrate your destination filters using the Public API if you are on the Segment Business Tier plan. This functionality isn't available in the Segment app. 
+> You can only migrate your destination filters using the Public API if you're on the Segment Business Tier plan. This functionality isn't available in the Segment app. 
 
 To migrate your destination filters to your actions destination from the classic destination: 
 1. Send a request to the Public API endpoint. 

From f9e9f2175e75496824997bfff46e01e0b2f1de88 Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Wed, 23 Jul 2025 12:54:02 +0100
Subject: [PATCH 117/188] Update src/connections/destinations/actions.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 src/connections/destinations/actions.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index 18512294c5..e93b89105b 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -344,5 +344,5 @@ Each event must include all of the data you'd like to send downstream. For examp
 #### Why do I get a "Couldn't load page" error when viewing or editing a mapping?
 
 This error might occur due to a browser cache conflict or if an event property name includes a `/` character. To fix this:
-- Try clearing your browser cache or opening the mapping page in an incognito/ private window.
+- Try clearing your browser cache or opening the mapping page in an incognito or private window.
 - Check whether the mapped property name contains a `/`. If it does, rename the property to remove the `/` and update the mapping.

From 37ff46ba0617bba299e99512ef30a237ea7175b7 Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Wed, 23 Jul 2025 12:55:25 +0100
Subject: [PATCH 118/188] Update src/connections/destinations/actions.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 src/connections/destinations/actions.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index e93b89105b..dbbb94cef4 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -98,7 +98,7 @@ This approach involves configuring a destination filter on both the Classic and
 1. Configure the classic destination filter to block events by the `received_at` field with a certain value.
 2. Set up the Actions destination to drop events until the `received_at` timestamp field reaches that same value.
 
-While Destination Filters within the UI cannot access any top-level fields, such as `received_at`, this is not a limitation for [Destination Filters](https://docs.segmentapis.com/tag/Destination-Filters/){:target="_blank”} created by the [Public API](/docs/api/public-api/) using [Filter Query Language (FQL)](/docs/api/public-api/fql/). Since `received_at` is a top-level field in the payload, you need to create a destination filter with the Public API and submit the request with that FQL information described below.
+While Destination Filters within the UI cannot access any top-level fields, like `received_at`, this is not a limitation for [Destination Filters](https://docs.segmentapis.com/tag/Destination-Filters/){:target="_blank”} created by the [Public API](/docs/api/public-api/) using [Filter Query Language (FQL)](/docs/api/public-api/fql/). Since `received_at` is a top-level field in the payload, you need to create a destination filter with the Public API and submit the request with that FQL information described below.
 
 By combining these Filters, Segment sends events through the Classic integration up until a specified time and then blocks events after that. The Actions integration then blocks events until that specified time and only allows events beginning at that specified time.
 

From 96f57a4e193b126843cca12bb1554fd83e52663c Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Wed, 23 Jul 2025 12:55:45 +0100
Subject: [PATCH 119/188] Update src/connections/destinations/actions.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 src/connections/destinations/actions.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index dbbb94cef4..d23287ca4a 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -151,7 +151,7 @@ From the edit screen you can change the action's name and mapping, and toggle it
 
 ![Screenshot of the Mappings table with several enabled mappings](images/actions-list.png)
 
-When an Action is created, it is disabled by default. This ensures that it's only used after being fully configured. To begin sending data through an Action, enable it on the Actions page by clicking the toggle so that it appears blue.
+When an Action is created, it's disabled by default. This ensures that it's only used after being fully configured. To begin sending data through an Action, enable it on the Actions page by clicking the toggle so that it appears blue.
 
 ## Disable a destination action
 If you find that you need to stop an action from running, but don't want to delete it completely, you can select the action and click the toggle next to the action's name to disable it. This takes effect within minutes, and disables the action until you re-enable it.

From c119f09a1a6c9fbf92b6bcba3854440d3002677f Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Wed, 23 Jul 2025 12:56:38 +0100
Subject: [PATCH 120/188] Update src/connections/destinations/actions.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 src/connections/destinations/actions.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index d23287ca4a..4afa5628c0 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -162,7 +162,7 @@ To delete a destination action, select the action, click **...** and select **De
 This takes effect within minutes, and removes the action completely. Any data that would have gone to the destination is not delivered. Once deleted, the saved action cannot be restored.
 
 ## Test a destination action
-To test a destination action, follow the instructions outlined in [Event Tester](/docs/connections/test-connections/). You must enable a mapping to test the destination. If a mapping is not enabled, the following error message will appear: `You may not have any subscriptions that match this event.`
+To test a destination action, follow the instructions outlined in the [Event Tester](/docs/connections/test-connections/) documentation. You must enable a mapping to test the destination. If a mapping is not enabled, the following error message will appear: `You may not have any subscriptions that match this event.`
 
 You can also test within the mapping itself. To test the mapping:
 1. Navigate to the **Mappings** tab of your destination. 

From 65f1aab588a377624b45a8910132048976b4ef74 Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Wed, 23 Jul 2025 12:56:58 +0100
Subject: [PATCH 121/188] Update src/connections/destinations/actions.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 src/connections/destinations/actions.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index 4afa5628c0..ab67f3e84a 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -200,7 +200,7 @@ The required fields for a destination mapping appear automatically. Click **+**
 
 Segment offers suggested mappings that automatically propose relevant destination fields for both model columns and payload elements. For example, if your model includes a column or payload field named `transaction_amount`, the feature might suggest mapping it to a destination field like `Amount` or `TransactionValue`. This automation, powered by intelligent autocompletion, matches and identifies near-matching field names to streamline the setup. 
 
-To use Suggested Mappings, the workspace owner must first accept the Customer AI Terms and Conditions. Ensure that you review the suggested mappings for accuracy before finalizing them as the suggestions are not guaranteed to be 100% accurate.
+To use Suggested Mappings, a user with the [Workspace Owner role](/docs/segment-app/iam/roles/) must first accept the Customer AI Terms and Conditions. Ensure that you review the suggested mappings for accuracy before finalizing them as the suggestions are not guaranteed to be 100% accurate.
 
 For more information, see [Segment's Suggested Mappings blogpost](https://segment.com/blog/ai-assisted-magical-mappings/){:target="_blank”} and the [Suggested Mappings Nutrition Label](/docs/connections/reverse-etl/suggested-mappings-nutrition-facts). 
 

From 520ee28fda25db0f3b668acdcffd8a369247be15 Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Wed, 23 Jul 2025 12:57:17 +0100
Subject: [PATCH 122/188] Update src/connections/destinations/actions.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 src/connections/destinations/actions.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index ab67f3e84a..7695708b5d 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -282,7 +282,7 @@ You can combine criteria in a single group using **`ALL`** or **`ANY`**.  Use an
 > Trigger fields don't support double quotes (`"`) or the tilde (`~`) character.
 
 ## Mapping field limitations
-In **destination** fields, you can use dot notation to create nested objects and arrays, such as `info.name` or `info[0].email`. This is not the case if the field is enclosed in double quotes. For example, `"user.email"` creates a literal key, not a nested structure. 
+In **destination** fields, you can use dot notation to create nested objects and arrays, like `info.name` or `info[0].email`. This isn't the case if the field is enclosed in double quotes. For example, `"user.email"` creates a literal key, not a nested structure. 
 
 In **source** fields, dots are only supported for accessing object keys. Literal strings that include a dot, like `user.email`, aren't supported as property names.
 

From 3ae28212707783a4df5cf8e75bbf01f9efdf909b Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Wed, 23 Jul 2025 12:57:33 +0100
Subject: [PATCH 123/188] Update src/connections/destinations/actions.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 src/connections/destinations/actions.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index 7695708b5d..6ceab371a2 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -289,7 +289,7 @@ In **source** fields, dots are only supported for accessing object keys. Literal
 ## Destination Filters
 Destination Filters are compatible with Destination Actions. Consider a Destination Filter when:
 - You need to remove properties from the data sent to the destination.
-- You need to filter data from multiple types of call, for example, Track, Page, and Identify calls.
+- You need to filter data from multiple call types, for example, Track, Page, and Identify calls.
 
 If your use case does not match these criteria, you might benefit from using Mapping-level Triggers to match only certain events.
 

From a8e2f3792eb53d75cc8a70555fc3220b328e77d6 Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Wed, 23 Jul 2025 12:57:51 +0100
Subject: [PATCH 124/188] Update src/connections/destinations/actions.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 src/connections/destinations/actions.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index 6ceab371a2..bd47fa3816 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -291,7 +291,7 @@ Destination Filters are compatible with Destination Actions. Consider a Destinat
 - You need to remove properties from the data sent to the destination.
 - You need to filter data from multiple call types, for example, Track, Page, and Identify calls.
 
-If your use case does not match these criteria, you might benefit from using Mapping-level Triggers to match only certain events.
+If your use case doesn't match these criteria, you might benefit from using Mapping-level Triggers to match only certain events.
 
 ## Duplicate Mappings
 

From f997808cb5da82231f9e557a436cd0432b278fc7 Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Wed, 23 Jul 2025 12:58:04 +0100
Subject: [PATCH 125/188] Update src/connections/destinations/actions.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 src/connections/destinations/actions.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index bd47fa3816..23a9fadd15 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -324,7 +324,7 @@ If no mappings are enabled to trigger on an event that has been received from th
 
 #### Why are multiple mappings triggered by the same event?
 
-When an event triggers multiple mappings, a request is generated for each mapping configured to trigger on the event. For example, if two mappings are enabled for the `Subscription Updated` event and both mappings have conditions defined to trigger on the 'Subscription Updated' event, two requests will be generated and sent to the destination for each event - one for each mapping.
+When an event triggers multiple mappings, a request is generated for each mapping configured to trigger on the event. For example, if two mappings are enabled for the `Subscription Updated` event and both mappings have conditions defined to trigger on the 'Subscription Updated' event, 2 requests are generated and sent to the destination for each event - 1 for each mapping.
 
 #### Why is an OAuth "access token expired" message appearing in Segment?
 Access tokens generated during initial authorization are short-lived, for example, when you connect a destination via OAuth. The token typically remains valid for 30 minutes to 1 hour. When Segment receives a `401 error` response from a destination after a token expires, it will automatically request the destination for a new token and will then retry the event. Therefore, `401` responses are sometimes expected and do not indicate an event failure. There are 3 event flows when events are received and sent to a destination:

From 266f983c8cbadfacbdf308bb43f3c64048e4d10a Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Wed, 23 Jul 2025 12:58:12 +0100
Subject: [PATCH 126/188] Update src/connections/destinations/actions.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 src/connections/destinations/actions.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index 23a9fadd15..4b055c3ff7 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -329,7 +329,7 @@ When an event triggers multiple mappings, a request is generated for each mappin
 #### Why is an OAuth "access token expired" message appearing in Segment?
 Access tokens generated during initial authorization are short-lived, for example, when you connect a destination via OAuth. The token typically remains valid for 30 minutes to 1 hour. When Segment receives a `401 error` response from a destination after a token expires, it will automatically request the destination for a new token and will then retry the event. Therefore, `401` responses are sometimes expected and do not indicate an event failure. There are 3 event flows when events are received and sent to a destination:
 
-- through source.
+- Through a source
 - through event tester.
 - through actions tester in mapping screen.
 

From f7e315f22a4ec804fe9de4914cc97d7a7f7b5e60 Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Wed, 23 Jul 2025 12:58:17 +0100
Subject: [PATCH 127/188] Update src/connections/destinations/actions.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 src/connections/destinations/actions.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index 4b055c3ff7..364869c6ce 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -331,7 +331,7 @@ Access tokens generated during initial authorization are short-lived, for exampl
 
 - Through a source
 - through event tester.
-- through actions tester in mapping screen.
+- Through the actions tester on the mapping screen
 
 The underlying systems for these flows have their own copy of the token, which can expire at different points in time. If you see a `401` error in a sample response, it is likely that another request was made afterward to fetch a new token. Then one more request was made to actually send the data in your payload to the downstream destination.
 

From 3c8ea07ab6061b4ebe1e45507996a11b9dafe1f0 Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Wed, 23 Jul 2025 12:58:26 +0100
Subject: [PATCH 128/188] Update src/connections/destinations/actions.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 src/connections/destinations/actions.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index 364869c6ce..e2b887b4cd 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -330,7 +330,7 @@ When an event triggers multiple mappings, a request is generated for each mappin
 Access tokens generated during initial authorization are short-lived, for example, when you connect a destination via OAuth. The token typically remains valid for 30 minutes to 1 hour. When Segment receives a `401 error` response from a destination after a token expires, it will automatically request the destination for a new token and will then retry the event. Therefore, `401` responses are sometimes expected and do not indicate an event failure. There are 3 event flows when events are received and sent to a destination:
 
 - Through a source
-- through event tester.
+- Through the event tester
 - Through the actions tester on the mapping screen
 
 The underlying systems for these flows have their own copy of the token, which can expire at different points in time. If you see a `401` error in a sample response, it is likely that another request was made afterward to fetch a new token. Then one more request was made to actually send the data in your payload to the downstream destination.

From c18e98be66592fd936d987ae9431d6c3a75e9042 Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Wed, 23 Jul 2025 12:58:52 +0100
Subject: [PATCH 129/188] Update src/connections/destinations/actions.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 src/connections/destinations/actions.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index e2b887b4cd..070fe0e235 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -311,7 +311,7 @@ Segment creates a disabled mapping with the name "Original Mapping Name (Copy)".
 
 #### Why does a validation error appears when using the Event Tester?
 
-When you send an event with an actions destination Event Tester that doesn't match the trigger of any configured and enabled mappings, an error message that states `You may not have any subscriptions that match this event` will appear. 
+When you send an event with an actions destination Event Tester that doesn't match the trigger of any configured and enabled mappings, you'll see an error message that states `You may not have any subscriptions that match this event`. 
 
 To resolve the error, create a mapping with a trigger to handle the event being tested, or update the test event's payload to match the trigger of any existing mappings. 
 

From b2cd2c3b24db465155cf4feaaec7cfb046b96765 Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Wed, 23 Jul 2025 12:59:26 +0100
Subject: [PATCH 130/188] Update src/connections/destinations/actions.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 src/connections/destinations/actions.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index 070fe0e235..838d6c2008 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -317,7 +317,7 @@ To resolve the error, create a mapping with a trigger to handle the event being
 
 #### Why is the data not sending downstream?
 
-If no mappings are enabled to trigger on an event that has been received from the connected source, the destination will not send any events. Ensure that at least 1 mapping has been configured and enabled in the destination mappings for an event that you would like to reach downstream. 
+If no mappings are enabled to trigger on an event that has been received from the connected source, the destination won't send any events. Ensure that you've configured and enabled at least 1 mapping in the destination mappings for an event that you'd like to reach downstream. 
 
 > info ""
 > Events without mappings enabled to handle them display as being discarded due to "No matching mapping" in a destination's Delivery Overview.

From e8245bac4266e804e604cbcfc8bde6e32f6efc2b Mon Sep 17 00:00:00 2001
From: stayseesong <STACY.S.SONG@GMAIL.COM>
Date: Wed, 23 Jul 2025 09:04:48 -0700
Subject: [PATCH 131/188] table fix

---
 src/connections/destinations/actions.md | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index 0af692b36c..f8ef42a32b 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -247,6 +247,7 @@ The liquid syntax function enables you to transform event data with fine-grain c
 Segment supports the following LiquidJS tags and filters for mappings. Segment selected these to ensure performance, security, and compatibility with real-time event processing. Segment disabled unsupported tags and filters to prevent performance degradation or security risks.
 
 #### Supported tags
+
 | Tag Name          | Description |
 |-------------------|-------------|
 | `assign`          | Assigns a value to a variable for reuse in the template. |
@@ -265,6 +266,7 @@ Segment supports the following LiquidJS tags and filters for mappings. Segment s
 | `when`            | Part of `case` statements for matching specific values. |
 
 #### Supported filters
+
 | Filter Name                    | Description |
 |--------------------------------|-------------|
 | `abs`                          | Returns the absolute value of a number. |

From 02ac0fbb50089b653ed5b220d0495aafcda883ae Mon Sep 17 00:00:00 2001
From: pwseg <paul.wooley@segment.com>
Date: Thu, 24 Jul 2025 02:17:06 -0500
Subject: [PATCH 132/188] fix erroneous git sync instructions

---
 src/segment-app/extensions/dbt.md | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/segment-app/extensions/dbt.md b/src/segment-app/extensions/dbt.md
index 5c3729b300..21d221396d 100644
--- a/src/segment-app/extensions/dbt.md
+++ b/src/segment-app/extensions/dbt.md
@@ -32,14 +32,14 @@ To set up the dbt extension, you'll need:
 
 ### Git repository and dbt Models setup
 
-Follow these steps to connect the Git repository that stores your dbt Models:
+To connect Segment to your dbt models, you’ll first need to configure a Git connection. This allows Segment to pull dbt models directly from your repository.
 
 1. In your Segment workspace, navigate to **Settings > Extensions**.
-2. Click **Set up Git sync**.
-3. On the **Configure service credentials** page, select a service and protocol, add your GitHub App, SSH private key or GitHub token, then click **Next**.
+2. Click either **Set up dbt model syncs**.
+3. On the **Configure service credentials** page, select a credential and protocol, add your key or token, then click **Next**.
 4. In the **Connect source** window, select an existing Reverse ETL warehouse source from the dropdown, then click **Save**.
 
-After you've saved your setup, you can configure your Git repository's settings to your needs by changing the repository, branch, dbt version, default schema, and project path.
+After you've saved your setup, you can configure your settings to your needs by changing the repository, branch, dbt version, default schema, and project path.
 
 ### dbt Cloud setup
 

From 0fc070811a813c751c5572967dc4a0a90cd35b60 Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Thu, 24 Jul 2025 11:36:03 -0400
Subject: [PATCH 133/188] catalog

---
 src/_data/catalog/destination_categories.yml |    2 +-
 src/_data/catalog/destinations.yml           | 2496 ++++++++++++++----
 src/_data/catalog/destinations_private.yml   |    2 +-
 src/_data/catalog/source_categories.yml      |    2 +-
 src/_data/catalog/sources.yml                |    2 +-
 5 files changed, 1928 insertions(+), 576 deletions(-)

diff --git a/src/_data/catalog/destination_categories.yml b/src/_data/catalog/destination_categories.yml
index 321c5173bc..3aeb133de6 100644
--- a/src/_data/catalog/destination_categories.yml
+++ b/src/_data/catalog/destination_categories.yml
@@ -1,5 +1,5 @@
 # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
-# destination categories last updated 2025-07-17 
+# destination categories last updated 2025-07-24 
 items:
 - display_name: A/B Testing
   slug: a-b-testing
diff --git a/src/_data/catalog/destinations.yml b/src/_data/catalog/destinations.yml
index 79e7f3c196..6212e6c22a 100644
--- a/src/_data/catalog/destinations.yml
+++ b/src/_data/catalog/destinations.yml
@@ -1,5 +1,5 @@
 # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
-# destination data last updated 2025-07-17 
+# destination data last updated 2025-07-24 
 items:
 - id: 637e8d185e2dec264895ea89
   display_name: 1Flow
@@ -526,7 +526,7 @@ items:
     hidden: false
     defaultTrigger: type = "identify" or type = "track" or type = "page" or type = "screen"
     fields:
-    - id: kLFKaj9fMaZ2UHRBYQrZY4
+    - id: xdXs8dD2FUoNPQAt1PbVFv
       sortOrder: 0
       fieldKey: contact_id
       label: Contact ID
@@ -548,7 +548,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5Lvtq7JRRpSuBo1rQp4tG6
+    - id: dxhg1bGYkBu8ciH58At3St
       sortOrder: 1
       fieldKey: event_name
       label: Event Name
@@ -561,7 +561,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: qTrSVZCqJLb3Y7ZP72pr7C
+    - id: mDhQRhh5ygMbFQ6Hp2VngN
       sortOrder: 2
       fieldKey: timestamp
       label: Timestamp
@@ -575,7 +575,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: iN5G5LRhLT6Lnanh5fTZ6p
+    - id: jhxmHjgdYuwB4Hjwkft2hB
       sortOrder: 3
       fieldKey: metadata
       label: Metadata
@@ -589,7 +589,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5qWS2HkZiR9Pg1uxXnGAWA
+    - id: 4mVaZ1c9qCMJGDsjbvJwii
       sortOrder: 4
       fieldKey: event_id
       label: Event ID
@@ -603,7 +603,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: bB7jwk59B7jga1r7RFVmeA
+    - id: eAroAQkwPpBvUq2bJCutvo
       sortOrder: 5
       fieldKey: user_properties
       label: User Properties
@@ -634,7 +634,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" or type = "page" or type = "screen"
     fields:
-    - id: e9uPJ1VsveraGHLf65APJ3
+    - id: bnL2ZRjqbEKHjjhUvX94jG
       sortOrder: 0
       fieldKey: contact_id
       label: Contact ID
@@ -656,7 +656,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 8jEBuoqVd4UeQYLgxWLsXi
+    - id: iuyMnzmHUZuHCbHxHBuqwp
       sortOrder: 1
       fieldKey: event_name
       label: Event Name
@@ -670,13 +670,13 @@ items:
           then:
             '@path': $.event
           else:
-            '@path': $.name
+            '@path': $.type
       required: true
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
-    - id: cDqF1DzTBso7rhg6MWt4UU
+    - id: ssR71dcmvuVFmUwY6E3GMp
       sortOrder: 2
       fieldKey: timestamp
       label: Timestamp
@@ -690,7 +690,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: jQCkuvPwerx8poQxkV7sSn
+    - id: gL7n2U9sNsEvgfye5gKf3r
       sortOrder: 3
       fieldKey: timezone
       label: Timezone
@@ -704,7 +704,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: tCSfh2hMCt5tmCsGdKvqKF
+    - id: kfENk7vUZDK19Eu6Tn7F9m
       sortOrder: 4
       fieldKey: metadata
       label: Metadata
@@ -718,7 +718,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: hw1KtFTubsLcPiPhZ64aQD
+    - id: kw2EDAyDBAwjdTJjgoh9J8
       sortOrder: 5
       fieldKey: event_id
       label: Event ID
@@ -751,7 +751,7 @@ items:
           then:
             '@path': $.event
           else:
-            '@path': $.name
+            '@path': $.type
       timestamp:
         '@path': $.timestamp
       timezone:
@@ -23330,7 +23330,7 @@ items:
     hidden: false
     defaultTrigger: type = "identify"
     fields:
-    - id: 8gX8PuHbeDVGpN8tEE2K8W
+    - id: frz11tFBzfan6WbDamxaVV
       sortOrder: 0
       fieldKey: external_id
       label: External User ID
@@ -23344,7 +23344,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: cac3FktXkcLHSBdPunvtLg
+    - id: fZNmCULU5zqyCsXBKsBueY
       sortOrder: 1
       fieldKey: user_alias
       label: User Alias Object
@@ -23358,7 +23358,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: oTcy2j5T7NvQZfcPVbqLiC
+    - id: nWcbDpUAifPFihnYj4keqq
       sortOrder: 2
       fieldKey: braze_id
       label: Braze User Identifier
@@ -23372,7 +23372,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 56b7mVUwQfCcuJ6DDX7orN
+    - id: 8SZmzgmJ8LrdcfBtpuRHrT
       sortOrder: 3
       fieldKey: country
       label: Country
@@ -23386,7 +23386,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: odgKx8MS4igb2yyJD8DeF7
+    - id: m1xvh1MTCS2UwVfHxaDD75
       sortOrder: 4
       fieldKey: current_location
       label: Current Location
@@ -23403,7 +23403,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 4dUnq4A3xEr4Am6SWqGaNC
+    - id: 9pUSXbWPjCwyNHDxka5JxQ
       sortOrder: 5
       fieldKey: date_of_first_session
       label: Date of First Session
@@ -23415,7 +23415,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 6JdsJ8Kig3r25Tm5CM1yL3
+    - id: nZNERLLfzCQk8LUGxwoV7d
       sortOrder: 6
       fieldKey: date_of_last_session
       label: Date of Last Session
@@ -23427,7 +23427,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 5upMphfPzM59UWHLphRf5z
+    - id: qU6PF14uYCiAvDDxPk1Ayc
       sortOrder: 7
       fieldKey: dob
       label: Date of Birth
@@ -23439,7 +23439,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: gzJ966i8keusXz3AeqDwQb
+    - id: 4Fy1EYYDPuMjn3vpHuRGSN
       sortOrder: 8
       fieldKey: email
       label: Email
@@ -23453,7 +23453,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: aNbJQfG7nKM3nrLxFNG2K7
+    - id: p8cpbr44nnQ2mjLRPntVwp
       sortOrder: 9
       fieldKey: email_subscribe
       label: Email Subscribe
@@ -23468,7 +23468,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: hz5Z3LVWHc2CedpV51dLbB
+    - id: 69zQTCZVr6GZCJwdSXfs1r
       sortOrder: 10
       fieldKey: email_open_tracking_disabled
       label: Email Open Tracking Disabled
@@ -23482,7 +23482,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: poQtZPxjFEN9HBstJ6Hor5
+    - id: xpWqRpHcjJf7vThkxd4cAe
       sortOrder: 11
       fieldKey: email_click_tracking_disabled
       label: Email Click Tracking Disabled
@@ -23496,7 +23496,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 7KCnsiws3wz83svzyQfdzG
+    - id: k4cPf5X5B4mVqfqJCE4G5N
       sortOrder: 12
       fieldKey: facebook
       label: Facebook Attribution Data
@@ -23510,7 +23510,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: tcALMvwJGF7wA2kTt977Ct
+    - id: 7Da5ukyyK5GqnZEk6f7Ygy
       sortOrder: 13
       fieldKey: first_name
       label: First Name
@@ -23524,7 +23524,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 8auhrzwNeFoNKS5DYtboqZ
+    - id: kFbDdcP45ZzZZ9eV93iEdW
       sortOrder: 14
       fieldKey: gender
       label: Gender
@@ -23540,7 +23540,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: qHH1WdCGFustdvJr4C9XJx
+    - id: mMPocCA5usL9n7twW1SEje
       sortOrder: 15
       fieldKey: home_city
       label: Home City
@@ -23554,7 +23554,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 3wL1YQKTJBfzF8vNRv7bT9
+    - id: pVX5hWg3qAi48kv8QJFL8a
       sortOrder: 16
       fieldKey: image_url
       label: Image URL
@@ -23568,7 +23568,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: k1CCjyoZHDu9ELTpY6eyZr
+    - id: f5gSYnr1y3U583SQm6NNpc
       sortOrder: 17
       fieldKey: language
       label: Language
@@ -23580,7 +23580,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: jGpCPMUjHoZrqNXMqAB37C
+    - id: odUBYhFPcmaVaYLyczAWXg
       sortOrder: 18
       fieldKey: last_name
       label: Last Name
@@ -23594,7 +23594,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: c6nAJXpq7tKTye1adsoyjn
+    - id: 4Ud9hghUJwojjb34DjkKjN
       sortOrder: 19
       fieldKey: marked_email_as_spam_at
       label: Marked Email as Spam At
@@ -23606,7 +23606,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 4VuavCBLrrnWRQywddRFNH
+    - id: 66uByU9E4zxTYaCERzSpH2
       sortOrder: 20
       fieldKey: phone
       label: Phone Number
@@ -23620,7 +23620,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: hxcaTLhkyKQKspdRB4SFT6
+    - id: pQfqMK5Vh7jeUsxwyyF8hh
       sortOrder: 21
       fieldKey: push_subscribe
       label: Push Subscribe
@@ -23635,7 +23635,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: xdfVhRPCPYsQcNYo6xaAM6
+    - id: r8KSTT5rDmNJ6fmUKaR7Ya
       sortOrder: 22
       fieldKey: push_tokens
       label: Push Tokens
@@ -23652,7 +23652,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 2cCQ2RzyUVQn1kC7fS9xSb
+    - id: qx27sVuw2zir7E2P9nN6UD
       sortOrder: 23
       fieldKey: time_zone
       label: Time zone
@@ -23667,7 +23667,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: itUirR4aqqMt2pBvWKKZFq
+    - id: 4ZAtgZZUm7bJXZDteEkcKS
       sortOrder: 24
       fieldKey: twitter
       label: Twitter Attribution Data
@@ -23682,7 +23682,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: aMCLbNeg2te71SuqmfuhE8
+    - id: 894h5kEbTx9EcKxn9ATY2V
       sortOrder: 25
       fieldKey: custom_attributes
       label: Custom Attributes
@@ -23696,7 +23696,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: xbA2nukUTac9WZo8kawVVz
+    - id: remoauHf6xfL5SBSc6qnwo
       sortOrder: 26
       fieldKey: _update_existing_only
       label: Update Existing Only
@@ -23711,7 +23711,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: bLteNtLAfrZHYVApQtRZUm
+    - id: wJaikKFKSUaimBeC2nxP3e
       sortOrder: 27
       fieldKey: enable_batching
       label: Batch Data to Braze
@@ -23734,7 +23734,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event != "Order Completed"
     fields:
-    - id: nKLN6pQVjuKeSKdShPTK7s
+    - id: 5sq3xZZYZCJmmxZdAJacaM
       sortOrder: 0
       fieldKey: external_id
       label: External User ID
@@ -23748,7 +23748,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: qto5WXER1SE2hXwxMCGA2f
+    - id: s2zkyqErbM5rnfukkNabwC
       sortOrder: 1
       fieldKey: user_alias
       label: User Alias Object
@@ -23762,7 +23762,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: jD7UGzEsVn3HEu4R6f2C7A
+    - id: kAvSZ6B6tQF5mmQUqsFdG7
       sortOrder: 2
       fieldKey: email
       label: Email
@@ -23782,7 +23782,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: fvug1cyFVoQ9fruvAXgPqb
+    - id: svUQfhxt5UAokobfxLjyUE
       sortOrder: 3
       fieldKey: braze_id
       label: Braze User Identifier
@@ -23796,7 +23796,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: fDvkaQqyWFkLuNqDx26jTJ
+    - id: 9vdt5y2HA6aQRaUzUAhqQH
       sortOrder: 4
       fieldKey: name
       label: Event Name
@@ -23810,7 +23810,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: tYNazWYN1iVGJDh3zHPqNb
+    - id: hvdTckdbhyWk7ub8ehQmy3
       sortOrder: 5
       fieldKey: time
       label: Time
@@ -23824,7 +23824,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 46oxx1fWVgNDFkkwBkDtbJ
+    - id: 3sT13YAAj7B8v81HFYqsJ6
       sortOrder: 6
       fieldKey: properties
       label: Event Properties
@@ -23838,7 +23838,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: e46WFudaCJs2VXokqFRa8p
+    - id: uoinvpfJPPouV2YsvsfjkW
       sortOrder: 7
       fieldKey: _update_existing_only
       label: Update Existing Only
@@ -23853,7 +23853,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 3R86e4WY7N92Fi2DP6PsCF
+    - id: 63vGmbb81vQnYW5and1Q4N
       sortOrder: 8
       fieldKey: enable_batching
       label: Batch Data to Braze
@@ -23876,7 +23876,7 @@ items:
     hidden: false
     defaultTrigger: event = "Order Completed"
     fields:
-    - id: mrrnFhquS33faw2qc9NK9x
+    - id: fg36FexE4qyP7XsMzpT5Xr
       sortOrder: 0
       fieldKey: external_id
       label: External User ID
@@ -23890,7 +23890,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: fq38bLNayyF3WNWB6nLt3H
+    - id: 9obkVhVo4Qx4xPF891UphR
       sortOrder: 1
       fieldKey: user_alias
       label: User Alias Object
@@ -23904,7 +23904,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 3kJF4tqyGqC4rdPJdbu28B
+    - id: 22gDq94jeVHJGoNPEkjarw
       sortOrder: 2
       fieldKey: email
       label: Email
@@ -23918,7 +23918,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: uQZotzJYD7A1k9SGq55BfC
+    - id: 2tRy54hoSLvavYenQz1skf
       sortOrder: 3
       fieldKey: braze_id
       label: Braze User Identifier
@@ -23932,7 +23932,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: nACMMntuFmvRtaWmJVD7Tn
+    - id: w4mZFShTi45oTErsRyY6sv
       sortOrder: 4
       fieldKey: time
       label: Time
@@ -23946,7 +23946,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: rCV4BpjS4D2jWRfmncoAPH
+    - id: hpWv5G8vm94mxArndAg3UA
       sortOrder: 5
       fieldKey: products
       label: Products
@@ -23960,7 +23960,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: kkWnfKvyAvqNWVKgyRQDbY
+    - id: 2GWU2no3WGNC7B8SuS9UfX
       sortOrder: 6
       fieldKey: properties
       label: Event Properties
@@ -23974,7 +23974,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: gRXtMbPhYMJwxCDrNae34D
+    - id: stG51w28ChLT3brTDNgusj
       sortOrder: 7
       fieldKey: _update_existing_only
       label: Update Existing Only
@@ -23989,7 +23989,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: vzp7wCUde51BT74GzjDEir
+    - id: 5NPVqFjrESQCbdqzkGErtD
       sortOrder: 8
       fieldKey: enable_batching
       label: Batch Data to Braze
@@ -24026,7 +24026,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: 8xjP1mApdm1wxCrhviUEwy
+    - id: pMwsciTRRwm6BD7o6eY8fx
       sortOrder: 0
       fieldKey: external_id
       label: External ID
@@ -24038,7 +24038,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5iCuaJ1hGWbXT1QEgM39Kf
+    - id: vkybr1e1L3d7YrdBWpkXYH
       sortOrder: 1
       fieldKey: user_alias
       label: User Alias Object
@@ -24052,7 +24052,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 9j9bQ2WDWgFuifRfRyb3XH
+    - id: gdeASUanupEBDqQ1MDtn34
       sortOrder: 2
       fieldKey: merge_behavior
       label: Merge Behavior
@@ -24081,7 +24081,7 @@ items:
     hidden: false
     defaultTrigger: event = "Create Alias"
     fields:
-    - id: 4UVSEu4QpueE1VuzTLCLi
+    - id: n4u7Qc5RqbRV4piQtNromi
       sortOrder: 0
       fieldKey: external_id
       label: External ID
@@ -24093,7 +24093,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: hAFE7SxzkkZ2iPLJEeB9W3
+    - id: kKEB7i291m8YemagXD5ebn
       sortOrder: 1
       fieldKey: alias_name
       label: Alias Name
@@ -24105,7 +24105,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: nbJNe1F5p9pJHC4FTbvyYq
+    - id: owFCCbZwFjeeJXVoxxCTcG
       sortOrder: 2
       fieldKey: alias_label
       label: Alias Label
@@ -24125,7 +24125,7 @@ items:
     hidden: false
     defaultTrigger: type = "identify"
     fields:
-    - id: n3EG4xYvjRAtiuALegspWx
+    - id: gwqZ4ycUKnkCZBxveCnjo2
       sortOrder: 0
       fieldKey: external_id
       label: External User ID
@@ -24139,7 +24139,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: fkqaqmwkxiFtnjJjZfRrgi
+    - id: oCZ7RpFgTsdWDAVXCcWSDr
       sortOrder: 1
       fieldKey: user_alias
       label: User Alias Object
@@ -24153,7 +24153,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: kUbEWn784NDtLeQz1qbhBn
+    - id: jzmPYZM1Rk48hYLEYpdYoq
       sortOrder: 2
       fieldKey: braze_id
       label: Braze User Identifier
@@ -24167,7 +24167,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 7aY1YuNVV9SbMKyATMDckg
+    - id: gYVKFtjwAaQidhQ94hELrY
       sortOrder: 3
       fieldKey: country
       label: Country
@@ -24181,7 +24181,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 9bSLdCTEE66QrtMoFLBhew
+    - id: 8N44uGnJ2bTFCisTh9X9xT
       sortOrder: 4
       fieldKey: current_location
       label: Current Location
@@ -24198,7 +24198,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: jf9p8VZgZo9LS1CbmE71B7
+    - id: q3QoZjmtJvnqjiiVQdX9Z9
       sortOrder: 5
       fieldKey: date_of_first_session
       label: Date of First Session
@@ -24210,7 +24210,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: Db5NGdfFWEUs4bjsrbbsV
+    - id: whdNHh25Wso67bW6uy1T8C
       sortOrder: 6
       fieldKey: date_of_last_session
       label: Date of Last Session
@@ -24222,7 +24222,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 79sAumGUio1QHLLvWMp1k7
+    - id: ktfG8fY7MgLkNtQe6jPuSt
       sortOrder: 7
       fieldKey: dob
       label: Date of Birth
@@ -24234,7 +24234,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: tx7b2ehX8dXzFrQCJqShKE
+    - id: pWeJXhDmg7BZH9YHbJjEJB
       sortOrder: 8
       fieldKey: email
       label: Email
@@ -24248,7 +24248,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: bYVMjUSbxKHqyYoi8RVBYj
+    - id: 331FuRNhXV9eQgumoSjc5B
       sortOrder: 9
       fieldKey: email_subscribe
       label: Email Subscribe
@@ -24263,7 +24263,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: mJ1NpBdNCPzsnoYe94K8et
+    - id: 6gXWFLSGTjouJp2WHrvGHE
       sortOrder: 10
       fieldKey: email_open_tracking_disabled
       label: Email Open Tracking Disabled
@@ -24277,7 +24277,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: uMYyFgpJF3vyj4BTgbvEEu
+    - id: kMWdeN3peJtKrVwKVXXKkC
       sortOrder: 11
       fieldKey: email_click_tracking_disabled
       label: Email Click Tracking Disabled
@@ -24291,7 +24291,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: d4xru2vRjEi4RT5TmWgb1y
+    - id: cMgwvehK2W9mbSspBAPi74
       sortOrder: 12
       fieldKey: facebook
       label: Facebook Attribution Data
@@ -24305,7 +24305,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: sWnUjpm5UwcNWUuWxy2sgN
+    - id: 4yvo3qjnceKJGbYTx9vrXe
       sortOrder: 13
       fieldKey: first_name
       label: First Name
@@ -24319,7 +24319,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: pEv9iR95xz8rKF8J4mQhbq
+    - id: cNsqEmuXDikmuSgeCSF8c5
       sortOrder: 14
       fieldKey: gender
       label: Gender
@@ -24335,7 +24335,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: m3W7fjjiHMadQf9StMrwv5
+    - id: 9e6Ns4qvCin4ibB2uZ87zJ
       sortOrder: 15
       fieldKey: home_city
       label: Home City
@@ -24349,7 +24349,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: pNrVJ4pLT2zYGzAB48WvZr
+    - id: 2r4fDWjg3uHQyA6YLXbwD7
       sortOrder: 16
       fieldKey: image_url
       label: Image URL
@@ -24363,7 +24363,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: f3fCwV3BdPFWkbNrYqM3bK
+    - id: 8yKCLQ4YvcUhcpbdxY4wid
       sortOrder: 17
       fieldKey: language
       label: Language
@@ -24375,7 +24375,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: egAthtxhyoYdweeajB19HG
+    - id: rVizXpARf3duTGxik6qZyX
       sortOrder: 18
       fieldKey: last_name
       label: Last Name
@@ -24389,7 +24389,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: qcNhSQmPKpyaPuexHd1m1Z
+    - id: qeedvdRAqYXHbAe32kRU7w
       sortOrder: 19
       fieldKey: marked_email_as_spam_at
       label: Marked Email as Spam At
@@ -24401,7 +24401,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: ksGYS9vjjHVd3JzXG4sGEU
+    - id: oGdPKPYxudEvqPcA2JTXsS
       sortOrder: 20
       fieldKey: phone
       label: Phone Number
@@ -24415,7 +24415,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: bJGaRahSiHqR93TYJe7aGR
+    - id: wmKgx4r2PAMGTSTiroDrwd
       sortOrder: 21
       fieldKey: push_subscribe
       label: Push Subscribe
@@ -24430,7 +24430,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: gQq2pFMa4qvnXVvjEy6tEi
+    - id: d7FCXVA7f3RppMEZqczuLw
       sortOrder: 22
       fieldKey: push_tokens
       label: Push Tokens
@@ -24447,7 +24447,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: iPRoGkEJBLqh7Ru9xXzAab
+    - id: cVoANWsB8ytjevRfqF31SK
       sortOrder: 23
       fieldKey: time_zone
       label: Time zone
@@ -24462,7 +24462,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: d4QPmoVqTXDr9UySgeqQbz
+    - id: f9MvcdY6EEBQqbDdZfZcky
       sortOrder: 24
       fieldKey: twitter
       label: Twitter Attribution Data
@@ -24477,7 +24477,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: jgfmowc82NGJkFDUCgoqPE
+    - id: sr3KDeAmubMwH5huLNEP8G
       sortOrder: 25
       fieldKey: custom_attributes
       label: Custom Attributes
@@ -24491,7 +24491,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: tmBXZ9aaRzwqHkF5eauSXw
+    - id: cdENeQDWi4frnTkLkNEeU4
       sortOrder: 26
       fieldKey: enable_batching
       label: Batch Data to Braze
@@ -24514,7 +24514,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event != "Order Completed"
     fields:
-    - id: gZzZN2a45MBk5Uo6i92iff
+    - id: 6HP8cFtZUmj422SCVRFH8C
       sortOrder: 0
       fieldKey: external_id
       label: External User ID
@@ -24528,7 +24528,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: t7tpxYcuuwAYGYoCkAgHQw
+    - id: 55mu6trKz3nHcpWyzgfQfM
       sortOrder: 1
       fieldKey: user_alias
       label: User Alias Object
@@ -24542,7 +24542,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: cJHVALuf3RTmiJVbYmbN84
+    - id: wUvReNFdTX6oBB9DA8gP7
       sortOrder: 2
       fieldKey: email
       label: Email
@@ -24562,7 +24562,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ngcrSeqf11PmsicHuFPsZu
+    - id: egbTMCodi5BAXAzJrHdEQc
       sortOrder: 3
       fieldKey: braze_id
       label: Braze User Identifier
@@ -24576,7 +24576,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: dKpZ6DZCCpBPrNH3q3ExKR
+    - id: 6v8RRJg2fGx5pu7snzanbr
       sortOrder: 4
       fieldKey: name
       label: Event Name
@@ -24590,7 +24590,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: nwcRbxKFbsDCQnVodqKo1q
+    - id: j2xw9f1aZyU6c9tofbhWoF
       sortOrder: 5
       fieldKey: time
       label: Time
@@ -24604,7 +24604,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5ovNWXiCcnyX81UQHpoNYS
+    - id: cRnMjpPxBUByv2sF6fBHVy
       sortOrder: 6
       fieldKey: properties
       label: Event Properties
@@ -24618,7 +24618,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: EvkGVvvF3w41vrSfZcu3F
+    - id: rypZ9WGeY5ZecDeusDNN4C
       sortOrder: 7
       fieldKey: enable_batching
       label: Batch Data to Braze
@@ -24643,7 +24643,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: eUPVg59Ppmw58zM8FLQoBH
+    - id: vdC7t5iSzmAL18cZxY7ZQK
       sortOrder: 0
       fieldKey: external_id
       label: External ID
@@ -24655,7 +24655,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: qYgkfPix86B1WTjXHc8iKW
+    - id: tWoJS7Bxh126VhyrbGnoqN
       sortOrder: 1
       fieldKey: user_alias
       label: User Alias Object
@@ -24669,7 +24669,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 7kUHwB3XP4wWExzy4zoQWv
+    - id: ajA656rF84imeMoGefhNrH
       sortOrder: 2
       fieldKey: email_to_identify
       label: Email to Identify
@@ -24681,7 +24681,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: mxQ5Mg6v7N9tmaWsHgVfAP
+    - id: e7bxortit7qUL6ZW8qxUL5
       sortOrder: 3
       fieldKey: prioritization
       label: Prioritization
@@ -24695,7 +24695,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5yosK2mzwkpfdZ1hq7vW6k
+    - id: tz83vDWLBLJxJgev7kikjA
       sortOrder: 4
       fieldKey: merge_behavior
       label: Merge Behavior
@@ -24724,7 +24724,7 @@ items:
     hidden: false
     defaultTrigger: event = "Create Alias"
     fields:
-    - id: gk6NPK8An1b7BxAknnHrMy
+    - id: suRsQh4ZMUo9mJ1L5A6MXU
       sortOrder: 0
       fieldKey: external_id
       label: External ID
@@ -24736,7 +24736,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: oZuRPP81EkoHskVzeWB9ER
+    - id: pPTpuGdJD5fbFa67QBGEgT
       sortOrder: 1
       fieldKey: alias_name
       label: Alias Name
@@ -24748,7 +24748,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: bQ14DxHoEsszTFLGn8zgAN
+    - id: 7PJvRn7FZyrUTZEpiByxDq
       sortOrder: 2
       fieldKey: alias_label
       label: Alias Label
@@ -24768,7 +24768,7 @@ items:
     hidden: false
     defaultTrigger: event = "Order Completed"
     fields:
-    - id: mttbcYqew3xmFCCJasxHtw
+    - id: 4BEobjyZiqb7324bvAQpJH
       sortOrder: 0
       fieldKey: external_id
       label: External User ID
@@ -24782,7 +24782,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: mo57jytve23656fUQRZNhn
+    - id: h2k24P8KdrkEA5eL7acqUa
       sortOrder: 1
       fieldKey: user_alias
       label: User Alias Object
@@ -24796,7 +24796,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: jVX3F4nkCrEW3NEa5zRqxw
+    - id: 55eGJ542ZMW9uU7G73m2BV
       sortOrder: 2
       fieldKey: email
       label: Email
@@ -24810,7 +24810,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: qCiDffY8q4X8neFkzX2ABz
+    - id: bdgLiyNtFG2sxS1wZsfRoq
       sortOrder: 3
       fieldKey: braze_id
       label: Braze User Identifier
@@ -24824,7 +24824,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: kTqTnf262x7oy1xD9jaE5N
+    - id: oK46PrHANHzVEhtxubD82x
       sortOrder: 4
       fieldKey: time
       label: Time
@@ -24838,7 +24838,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: mDYwdEDPMLxCxxsJoTqxjR
+    - id: 9SCQGFpgDVLDnmUaZBWva3
       sortOrder: 5
       fieldKey: products
       label: Products
@@ -24852,7 +24852,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: iUbxoDYMtNHMw1TxR5S7QK
+    - id: 6D3qjSYWEG5Csr92LGTiN9
       sortOrder: 6
       fieldKey: properties
       label: Event Properties
@@ -24866,7 +24866,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 2cERam8KHiVE96obMoE2TH
+    - id: nAk6yZaqkdCWsurq2okNN1
       sortOrder: 7
       fieldKey: enable_batching
       label: Batch Data to Braze
@@ -24889,7 +24889,7 @@ items:
     hidden: false
     defaultTrigger: type = "track"
     fields:
-    - id: adEtxVM6wzmkGPVTs7pDnN
+    - id: ttvAPQeMyzL8qnGNPt7joY
       sortOrder: 0
       fieldKey: campaign_id
       label: Campaign ID
@@ -24903,7 +24903,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: oQYCj5zPnSS5g2LEsnLGUx
+    - id: kfS94uFHQJ761q4rTgcuc9
       sortOrder: 1
       fieldKey: send_id
       label: Send ID
@@ -24917,7 +24917,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: aE5Tt6xMYURADXk1VtzRrV
+    - id: usvmKxE8M6rAak4TxRW1rb
       sortOrder: 2
       fieldKey: trigger_properties
       label: Trigger Properties
@@ -24934,7 +24934,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 9z7i5SUG97D2A7q6cjyMnu
+    - id: 4ciJRAnqDZzVaqcuJcmSsW
       sortOrder: 3
       fieldKey: broadcast
       label: Broadcast
@@ -24949,7 +24949,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 9Zp4r9YkWzUevMHJBfmTh8
+    - id: gtmVpCDAQVsJV6DxUQNYmX
       sortOrder: 4
       fieldKey: attachments
       label: Attachments
@@ -24961,7 +24961,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: kFEo7HU6ckwdyGLKqFguEq
+    - id: kR7ubc31pdAWbRtQnenkzP
       sortOrder: 5
       fieldKey: recipients
       label: Recipients
@@ -24975,7 +24975,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 83BHy4g9rgBf8x4JxZrjmV
+    - id: drVhjQzfXGXtn4iyWAQBWt
       sortOrder: 6
       fieldKey: prioritization
       label: Prioritization
@@ -24989,7 +24989,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: kfFurhvjDuAMmefgFQntV7
+    - id: gxyhAziD3HT68uyexoGZpv
       sortOrder: 7
       fieldKey: audience
       label: Audience
@@ -25011,7 +25011,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: 59HU4ZUhnof1G2MiE4skL9
+    - id: g2gSCrVLVLm5j8GUpbjfUA
       sortOrder: 0
       fieldKey: item
       label: Catalog item to upsert
@@ -25026,7 +25026,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: vQCbvam4EkU1qm4PM1QT4i
+    - id: 5SXHSbR8SdDyDJ96QmmzyC
       sortOrder: 1
       fieldKey: item_id
       label: Item ID
@@ -25040,7 +25040,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: qNWbQUexLXhAUWvmiQKwoX
+    - id: v3u4199oSX5Z322yyGhtd7
       sortOrder: 2
       fieldKey: enable_batching
       label: Batch Data to Braze?
@@ -25053,7 +25053,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: mSGiauTj8drV2vwKLXBjTk
+    - id: dxCVKwHFmf9fbCYRQgpzsS
       sortOrder: 4
       fieldKey: operation
       label: Operation
@@ -25069,7 +25069,7 @@ items:
         value: select
       dynamic: false
       allowNull: false
-    - id: 9toFUV9t35CQuECg5MFkrC
+    - id: 2nbDJ7xGv2ZD91FyqbN73h
       sortOrder: 5
       fieldKey: selected_catalog_name
       label: Catalog Name
@@ -25081,7 +25081,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: 9vkcqkSQM3EepRX42a5fwB
+    - id: ammQY5R2csXdQSoyr7VW8s
       sortOrder: 6
       fieldKey: created_catalog_name
       label: Catalog Name
@@ -25095,7 +25095,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 21e8DxEuq6J5W5BiZAmPz7
+    - id: 2GwQd2JD85vD7CPJsvDCYN
       sortOrder: 7
       fieldKey: description
       label: Catalog Description
@@ -25107,7 +25107,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: piHv7yYnnmxnqQwYbdMu6j
+    - id: hE5Q8Hq97fUwB4Pm5ZuE7U
       sortOrder: 8
       fieldKey: columns
       label: Catalog Fields
@@ -25121,7 +25121,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ssPVpKxgR3G5JKKDMC3j1K
+    - id: fE3vYwcP4qxmXhVixpmJL3
       sortOrder: 9
       fieldKey: onMappingSave
       label: Select or Create a Catalog
@@ -25134,41 +25134,123 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
+  - id: 9DUBR4qVXRxPXa39oiz2Tc
+    name: Trigger Canvas
+    slug: triggerCanvas
+    description: >-
+      Trigger a Braze Canvas to deliver a cross-channel message to the specified
+      user.
+    platform: CLOUD
+    hidden: false
+    defaultTrigger: type = "track"
+    fields:
+    - id: 6AqjskUjsng6Rk3eg1yatq
+      sortOrder: 0
+      fieldKey: canvas_id
+      label: Canvas ID
+      type: STRING
+      description: >-
+        The ID of the canvas to trigger. The canvas must be API-triggered and
+        the status must be "Draft" or "Active".
+      placeholder: ''
+      required: true
+      multiple: false
+      choices: null
+      dynamic: true
+      allowNull: false
+    - id: qxsm9pbYcTM47HvGL7NCqX
+      sortOrder: 1
+      fieldKey: canvas_entry_properties
+      label: Canvas Entry Properties
+      type: OBJECT
+      description: >-
+        Optional data that will be used to personalize the canvas message.
+        Personalization key-value pairs that will apply to all users in this
+        request.
+      placeholder: ''
+      defaultValue:
+        '@path': $.properties
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: hjci7Y7pY96gFWgyATVhgf
+      sortOrder: 2
+      fieldKey: broadcast
+      label: Broadcast
+      type: BOOLEAN
+      description: >-
+        If set to true, the canvas will be sent to all the users in the segment
+        targeted by the canvas. It cannot be used with "recipients".
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: oX4QsEV4CdaPSo3Td83aXD
+      sortOrder: 3
+      fieldKey: recipients
+      label: Recipients
+      type: OBJECT
+      description: >-
+        An array of user identifiers to send the canvas to. It cannot be used
+        with "broadcast".
+      placeholder: ''
+      required: false
+      multiple: true
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: 647vdrzKXnGZVYZNG2zL9A
+      sortOrder: 4
+      fieldKey: prioritization
+      label: Prioritization
+      type: OBJECT
+      description: >-
+        Prioritization settings; required when using email in recipients. This
+        prioritization will be applied to all recipients.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: 7oHphGH4yV5C2e3G88kRoh
+      sortOrder: 5
+      fieldKey: audience
+      label: Audience
+      type: OBJECT
+      description: >-
+        A standard audience object to specify the users to send the canvas to.
+        Including "audience" will only send to users in the audience
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
   presets:
-  - actionId: 2P24zUSAL8BUpyGYNGmD7M
-    name: Identify Calls
+  - actionId: vE7Gf9yobj2gTuMBhwmg7g
+    name: Order Completed Calls
     fields:
       external_id:
         '@path': $.userId
-      braze_id:
-        '@path': $.properties.braze_id
-      country:
-        '@path': $.context.location.country
-      current_location:
-        latitude:
-          '@path': $.context.location.latitude
-        longitude:
-          '@path': $.context.location.longitude
       email:
         '@path': $.traits.email
-      first_name:
-        '@path': $.traits.firstName
-      gender:
-        '@path': $.traits.gender
-      home_city:
-        '@path': $.traits.address.city
-      image_url:
-        '@path': $.traits.avatar
-      last_name:
-        '@path': $.traits.lastName
-      phone:
-        '@path': $.traits.phone
-      custom_attributes:
-        '@path': $.traits
+      braze_id:
+        '@path': $.properties.braze_id
+      time:
+        '@path': $.receivedAt
+      products:
+        '@path': $.properties.products
+      properties:
+        '@path': $.properties
       _update_existing_only: false
       enable_batching: true
       batch_size: 75
-    trigger: type = "identify"
+    trigger: event = "Order Completed"
   - actionId: 3pnc4QJvUjWGi2bp6EnDt
     name: Track Calls
     fields:
@@ -25194,25 +25276,46 @@ items:
       enable_batching: true
       batch_size: 75
     trigger: type = "track" and event != "Order Completed"
-  - actionId: vE7Gf9yobj2gTuMBhwmg7g
-    name: Order Completed Calls
+  - actionId: 2P24zUSAL8BUpyGYNGmD7M
+    name: Identify Calls
     fields:
       external_id:
         '@path': $.userId
-      email:
-        '@path': $.traits.email
       braze_id:
         '@path': $.properties.braze_id
-      time:
-        '@path': $.receivedAt
-      products:
-        '@path': $.properties.products
-      properties:
-        '@path': $.properties
+      country:
+        '@path': $.context.location.country
+      current_location:
+        latitude:
+          '@path': $.context.location.latitude
+        longitude:
+          '@path': $.context.location.longitude
+      email:
+        '@path': $.traits.email
+      first_name:
+        '@path': $.traits.firstName
+      gender:
+        '@path': $.traits.gender
+      home_city:
+        '@path': $.traits.address.city
+      image_url:
+        '@path': $.traits.avatar
+      last_name:
+        '@path': $.traits.lastName
+      phone:
+        '@path': $.traits.phone
+      custom_attributes:
+        '@path': $.traits
       _update_existing_only: false
       enable_batching: true
       batch_size: 75
-    trigger: event = "Order Completed"
+    trigger: type = "identify"
+  - actionId: 9DUBR4qVXRxPXa39oiz2Tc
+    name: Trigger Canvas
+    fields:
+      canvas_entry_properties:
+        '@path': $.properties
+    trigger: type = "track" and event = "Trigger Canvas"
   partnerOwned: false
 - id: 63872c01c0c112b9b4d75412
   display_name: Braze Cohorts
@@ -34001,7 +34104,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event = "Enrol Contact to Program"
     fields:
-    - id: nyJjxsud3vwEM7K1vog7X4
+    - id: 6bAd2fA4EkqcJ9tMGEAovy
       sortOrder: 0
       fieldKey: channelIdentifier
       label: Contact Identifier type
@@ -34018,7 +34121,7 @@ items:
         value: mobileNumber
       dynamic: false
       allowNull: false
-    - id: 5g6R4KYNv9bEMABYmmUAYD
+    - id: 4ebTorseZYdPGkgGV1jsRE
       sortOrder: 1
       fieldKey: emailIdentifier
       label: Email Address
@@ -34038,7 +34141,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 8x8hdrSE1F9VKJzoBxL4gB
+    - id: vz5x9ncejdpepTgpVFQjMX
       sortOrder: 2
       fieldKey: mobileNumberIdentifier
       label: Mobile Number
@@ -34058,7 +34161,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 3gCkXs3WQBXs2QtbjsY84
+    - id: b7GdTWQQbEHkSSDu9Zm3DY
       sortOrder: 3
       fieldKey: programId
       label: Program
@@ -34078,7 +34181,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event = "Remove Contact from List"
     fields:
-    - id: uHkRrAKMcF81snVg6RvG4L
+    - id: t5MWahNnRaDHNnRSzco1cr
       sortOrder: 0
       fieldKey: channelIdentifier
       label: Contact Identifier type
@@ -34095,7 +34198,7 @@ items:
         value: mobileNumber
       dynamic: false
       allowNull: false
-    - id: 4zfS1HuKzNWBtB8RN6SUw7
+    - id: ec17Ma4hm6thGgM8WpXywX
       sortOrder: 1
       fieldKey: emailIdentifier
       label: Email Address
@@ -34115,7 +34218,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: igbS3Lk1zNCoZybmJBg8Pv
+    - id: nxGVGH8tfKcveETPg7bwHH
       sortOrder: 2
       fieldKey: mobileNumberIdentifier
       label: Mobile Number
@@ -34135,7 +34238,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ww24d7Tk5CQs814VomTCUq
+    - id: horc5tdjZuy4epHLqPK4ta
       sortOrder: 3
       fieldKey: listId
       label: List
@@ -34150,12 +34253,12 @@ items:
   - id: mXqbgqEAfWG1MRz8cBHzS4
     name: Add Contact to List
     slug: addContactToList
-    description: Adds a Contact to a list.
+    description: Adds a contact to a list.
     platform: CLOUD
     hidden: false
     defaultTrigger: type = "track" and event = "Add Contact to List"
     fields:
-    - id: 8yfiKY51TS8CFcEffgrbdE
+    - id: 5eGFX9XxNwmTmxUmeGxXzf
       sortOrder: 0
       fieldKey: channelIdentifier
       label: Contact Identifier type
@@ -34172,7 +34275,7 @@ items:
         value: mobileNumber
       dynamic: false
       allowNull: false
-    - id: 3R4n1rdxf48wxpaCNXsGBx
+    - id: 8orWgG8jidQQvCF4Sp9WNx
       sortOrder: 1
       fieldKey: emailIdentifier
       label: Email Address
@@ -34192,7 +34295,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: sNx4UZZxtTuF9toi8rVobG
+    - id: iHQpcJHgTkKbpn2pMP1Xoc
       sortOrder: 2
       fieldKey: mobileNumberIdentifier
       label: Mobile Number
@@ -34212,7 +34315,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: hqe1EJtkmpiVoVeUZsPsqB
+    - id: jQsJXmQAKxdG8Ef2Q5xaYN
       sortOrder: 3
       fieldKey: listId
       label: List
@@ -34224,7 +34327,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: nYZ96z4YLhtHtukyAQwWbQ
+    - id: 7QbozYxmRKsG2SSe9EdYLR
       sortOrder: 4
       fieldKey: dataFields
       label: Data Fields
@@ -34238,6 +34341,318 @@ items:
       choices: null
       dynamic: true
       allowNull: false
+  - id: jv6zXzcGrfok4Ed9RAnJwz
+    name: Send Transactional SMS
+    slug: sendTransactionalSms
+    description: Sends a transactional SMS.
+    platform: CLOUD
+    hidden: false
+    defaultTrigger: type = "track" and event = "Send Transactional SMS"
+    fields:
+    - id: eSTTBJ7Si9nT3vxG3YPCNm
+      sortOrder: 0
+      fieldKey: to
+      label: To
+      type: STRING
+      description: >-
+        Only valid mobile numbers with an international dialling prefix will be
+        accepted (e.g. 447777123123).
+      placeholder: ''
+      defaultValue:
+        '@if':
+          exists:
+            '@path': $.traits.phone
+          then:
+            '@path': $.traits.phone
+          else:
+            '@path': $.properties.phone
+      required: true
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: tKXmfudoGEUYBDJGzbQJm3
+      sortOrder: 1
+      fieldKey: from
+      label: From
+      type: STRING
+      description: >-
+        Enter a custom From name, or leave blank to use a random number. From
+        name format varies by region. [Learn
+        more](https://support.dotdigital.com/en/articles/8199187-sender-ids-and-originators)
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: 2kNVWSqgkH1aY2JNauXDUt
+      sortOrder: 2
+      fieldKey: message
+      label: Message
+      type: TEXT
+      description: The content of the SMS, up to 160 non-encoded characters per message.
+      placeholder: ''
+      required: true
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: 5SpvJCTsemM3nmkUhbAyBM
+      sortOrder: 3
+      fieldKey: link_shortening
+      label: Link Shortening
+      type: BOOLEAN
+      description: >-
+        [Link
+        shortening](https://developer.dotdigital.com/v2/reference/additional-options#link-shortening)
+        will automatically shorten your links to save character count and track
+        who clicked on them for better reporting. Defaults to No.
+      placeholder: ''
+      defaultValue: false
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: ftK6MRC5mmdDeUwwgLtLiW
+      sortOrder: 4
+      fieldKey: allow_unicode
+      label: Allow Unicode Characters
+      type: BOOLEAN
+      description: >-
+        If Yes, Unicode characters will be allowed in the message body. If No,
+        any messages containing Unicode will not be sent. Please [read why
+        Unicode](https://developer.dotdigital.com/reference/channel-sms#section-why-is-unicode-important-with-sms)
+        is important before switching this on. Defaults to No.
+      placeholder: ''
+      defaultValue: false
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+  - id: tKtdaxiELexHfud1HvhdDE
+    name: Send Email Campaign
+    slug: sendEmailCampaign
+    description: Sends a marketing email to a contact.
+    platform: CLOUD
+    hidden: false
+    defaultTrigger: type = "track" and event = "Send Email Campaign"
+    fields:
+    - id: uPrJrs6nxzgL9DVwNUeBuJ
+      sortOrder: 0
+      fieldKey: email
+      label: Email
+      type: STRING
+      description: >-
+        A single email address to send the campaign to. If the contact does not
+        exist in your Dotdigital account, the campaign won't be sent.
+      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: qWs7HzReXgmay5b39nbkSR
+      sortOrder: 1
+      fieldKey: campaignId
+      label: Campaign
+      type: NUMBER
+      description: The campaign to email to a contact.
+      placeholder: ''
+      required: true
+      multiple: false
+      choices: null
+      dynamic: true
+      allowNull: false
+    - id: optbhzAkp8ua4vPfsPNJYw
+      sortOrder: 2
+      fieldKey: sendDate
+      label: Send Date
+      type: DATETIME
+      description: The campaign will be sent immediately if the send date is left blank.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: 8BfgALB8N6T5VmmprhExrV
+      sortOrder: 3
+      fieldKey: sendTimeOptimised
+      label: Send Time Optimised
+      type: BOOLEAN
+      description: >-
+        Send the campaign at the most appropriate time based upon their previous
+        opens.
+      placeholder: ''
+      defaultValue: false
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+  - id: ujJjpH1So8Mr4KtWzCbgGx
+    name: Send Transactional Email
+    slug: sendTransactionalEmail
+    description: Sends a transactional email.
+    platform: CLOUD
+    hidden: false
+    defaultTrigger: type = "track" and event = "Send Transactional Email"
+    fields:
+    - id: p7wvY4FvoyDoFMjzLCZTn
+      sortOrder: 0
+      fieldKey: fromAddress
+      label: From Address
+      type: STRING
+      description: >-
+        Use either your default transactional email from address, or another
+        custom from address you have added to your account. If you set a from
+        address that is not listed in your available from addresses, Dotdigital
+        will replace it with your default from address. You may set a from name
+        as well as an email address, for example "My Company
+        <`Dotmailer123@r1.dotdigital-email.com`>". [Read more about using
+        transactional
+        email](https://support.dotdigital.com/en/articles/8199068-use-transactional-email).
+      placeholder: ''
+      required: true
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: 3YwPynv6TH1FASf5dUpdui
+      sortOrder: 1
+      fieldKey: toAddresses
+      label: To Address
+      type: STRING
+      description: The email address(es) to send to.
+      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: j6HJXkzCxSASXa8Vsr1ubV
+      sortOrder: 2
+      fieldKey: subject
+      label: Subject
+      type: STRING
+      description: The subject line for your email.
+      placeholder: ''
+      required: true
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: oQ9fTTKs5hp1oA5sCUznGQ
+      sortOrder: 3
+      fieldKey: htmlContent
+      label: HTML Content
+      type: TEXT
+      description: The HTML content for your email.
+      placeholder: ''
+      required: true
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: gXjpEJCtRoJsTkgocR8TV2
+      sortOrder: 4
+      fieldKey: plainTextContent
+      label: Plain Text Content
+      type: TEXT
+      description: The plain text content for your email.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: raXvvzBRhwTLwuLeKNmAdU
+      sortOrder: 5
+      fieldKey: ccAddresses
+      label: CC Addresses
+      type: STRING
+      description: >-
+        The CC email address(es) to send to. Separate email addresses with a
+        comma. Maximum: 100.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: fyzRQJD2QoRJmDvDUkA669
+      sortOrder: 6
+      fieldKey: bccAddresses
+      label: BCC Addresses
+      type: STRING
+      description: >-
+        The BCC email address(es) to send to. Separate email addresses with a
+        comma. Maximum: 100.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+  - id: wyTCNJJUFCj7PZpJsBJj57
+    name: Send SMS
+    slug: sendSms
+    description: Sends a marketing SMS to a contact.
+    platform: CLOUD
+    hidden: false
+    defaultTrigger: type = "track" and event = "Send SMS"
+    fields:
+    - id: w7Hf1QuhxifghDwFh3YuSL
+      sortOrder: 0
+      fieldKey: to
+      label: To
+      type: STRING
+      description: The mobile number of the contact in E.164 format (e.g. 14155552671).
+      placeholder: ''
+      defaultValue:
+        '@if':
+          exists:
+            '@path': $.traits.phone
+          then:
+            '@path': $.traits.phone
+          else:
+            '@path': $.properties.phone
+      required: true
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: oZ8vtx1N8ZjJmay6sk5RJT
+      sortOrder: 1
+      fieldKey: message
+      label: Message
+      type: TEXT
+      description: The message to send in the SMS.
+      placeholder: ''
+      required: true
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
   presets: []
   partnerOwned: true
 - id: 57ab9dfc80412f644ff2004c
@@ -35390,7 +35805,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" or type = "identify"
     fields:
-    - id: dVGYemvQ8FWEAAWn3wrFRE
+    - id: hJTFpX5VzdveLjH29EFnj2
       sortOrder: 0
       fieldKey: identityValue
       label: User identity value
@@ -35404,7 +35819,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 2amJN8YQDshFHaeJi1CUHw
+    - id: 3JNzLwT3bgfpUaRUnif6eZ
       sortOrder: 1
       fieldKey: walletTransactionReference
       label: Wallet transaction reference
@@ -35413,12 +35828,14 @@ items:
         Optional wallet transaction reference from the event triggering this
         Behavioral Action
       placeholder: ''
+      defaultValue:
+        '@path': $.messageId
       required: false
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
-    - id: rtabdGqHL3eTEEQ1qarS8
+    - id: eCLK8NmaRxNtDcPRt67Hbn
       sortOrder: 2
       fieldKey: behavioralActionTriggerReferences
       label: Behavioral Action trigger reference
@@ -51101,7 +51518,7 @@ items:
     hidden: true
     defaultTrigger: null
     fields:
-    - id: 3bZAgPB471jgRy2CjKKEQj
+    - id: iBdGLN4daYdMLtTU6rSv1C
       sortOrder: 0
       fieldKey: conversion_label
       label: Conversion Label
@@ -51118,7 +51535,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: qHu13sQLr2yjQ5wTKs87Gp
+    - id: pgwLcfsZH6s4HqS5sdCo1f
       sortOrder: 1
       fieldKey: email
       label: Email
@@ -51139,7 +51556,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: tVz2QxtywA1k4dhVDABsv3
+    - id: 3KzeZyZbaT96776LXMgX2D
       sortOrder: 2
       fieldKey: transaction_id
       label: Order ID
@@ -51158,7 +51575,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: stCwgnB523rRpfSZ7uaScB
+    - id: dtZQFHLnt11KQctu8K3prK
       sortOrder: 3
       fieldKey: user_agent
       label: User Agent
@@ -51178,7 +51595,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: gHjpBPZGpqc6Gdr5wGgJrs
+    - id: juj9hxpkAaHcMW8yunR6ga
       sortOrder: 4
       fieldKey: conversion_time
       label: Conversion Time
@@ -51193,7 +51610,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: aWM1cqV5782QVpYZm757mb
+    - id: z8t2PJC9eMsECfY8iU2Jo
       sortOrder: 5
       fieldKey: value
       label: Value
@@ -51208,7 +51625,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: sHrkE9W82Z2C2NMzA3bTbe
+    - id: tdPLT1QjTixCDdh2ARSdY4
       sortOrder: 6
       fieldKey: currency_code
       label: Currency Code
@@ -51225,7 +51642,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: tSKsWmndr5Nn7PnoJYKDTk
+    - id: 8BMHKJ7CtsGkMJ4DZSYUsS
       sortOrder: 7
       fieldKey: is_app_incrementality
       label: App Conversion for Incrementality Study
@@ -51239,7 +51656,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: gXWozm7sxo36ELAp5hLgLj
+    - id: 37deXUoDfznDQhPawWk2aU
       sortOrder: 8
       fieldKey: pcc_game
       label: PCC Game Flag
@@ -51255,7 +51672,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: jz2BkejtpS5Wm7mCNwZpCb
+    - id: jKmf9j3YR74YyKwo6Qq7tJ
       sortOrder: 9
       fieldKey: phone_number
       label: Phone Number
@@ -51278,7 +51695,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 6cpjBydwrxwhbq4NsSZqHr
+    - id: hQxynkT7BwwZV5VGcmG8Hp
       sortOrder: 10
       fieldKey: first_name
       label: First Name
@@ -51299,7 +51716,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 64FnctTsfkPwZJoNefGaw1
+    - id: 4YyDPV9ZGa6NJ7mmm6sJn
       sortOrder: 11
       fieldKey: last_name
       label: Last Name
@@ -51320,7 +51737,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: uqD9XgEJTjueH6HnKyYRR4
+    - id: aGkZeveVk9nChZcmHj5CJ6
       sortOrder: 12
       fieldKey: street_address
       label: Street Address
@@ -51343,7 +51760,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: s3UzJjX83aHP8fiX67SY7V
+    - id: dBjSWaW5g7jdRmtvyM65j5
       sortOrder: 13
       fieldKey: city
       label: City
@@ -51364,7 +51781,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 9HVZkUGBL4pV7X4QSr5vfQ
+    - id: eGXf8FjKrgewuomyFK2mqS
       sortOrder: 14
       fieldKey: region
       label: Region
@@ -51385,7 +51802,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 7nGFGJ6nUFEjxdXNepB8X1
+    - id: gDRAbqyy5ieH8CNdXbAYsC
       sortOrder: 15
       fieldKey: post_code
       label: Postal Code
@@ -51406,7 +51823,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: oWpZTGZewx6NLRFo79qCsu
+    - id: 7iMKodntUfnTRKmV22Y6aT
       sortOrder: 16
       fieldKey: country
       label: Country
@@ -51435,7 +51852,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: w5vt6DYqCB8GnrD3H8P8VS
+    - id: eCXMxWKtKFMs4PTGbYQvDS
       sortOrder: 0
       fieldKey: conversion_action
       label: Conversion Action ID
@@ -51448,7 +51865,7 @@ items:
       dynamic: true
       allowNull: false
       hidden: false
-    - id: gZ2xN9YQ1vz9cFjYGDewgq
+    - id: ehqSgvGkno7vNTPFYvU4DZ
       sortOrder: 1
       fieldKey: adjustment_type
       label: Adjustment Type
@@ -51474,7 +51891,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: bRFV8JFnGPtC4Q6SYjQknL
+    - id: oxNxgxppLBhE8GEkeZTWBN
       sortOrder: 2
       fieldKey: adjustment_timestamp
       label: Adjustment Timestamp
@@ -51493,7 +51910,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: kc4BYRoPz4zzv3FkSXSpYH
+    - id: qM3QjfyqXzRacjeR6wpvKj
       sortOrder: 3
       fieldKey: order_id
       label: Order ID
@@ -51517,7 +51934,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: uvPc3dup4QfAzwwooyxQ8T
+    - id: 7kLBDW24wEVMutcbj4TRq1
       sortOrder: 4
       fieldKey: gclid
       label: GCLID
@@ -51532,7 +51949,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: viXMPh2EjVAhhiNMjS7E6q
+    - id: s7JrGufTXe66hHnzjdxEgS
       sortOrder: 5
       fieldKey: conversion_timestamp
       label: Conversion Timestamp
@@ -51549,7 +51966,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: iJJ2sKkC1YEARLz1uHdary
+    - id: sMRHr3PQKaa8oFycVLWruv
       sortOrder: 6
       fieldKey: restatement_value
       label: Restatement Value
@@ -51566,7 +51983,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 46DroEDMTsunb4fDWzbAK9
+    - id: bPg5SSZKKqAgwhUuriL2MT
       sortOrder: 7
       fieldKey: restatement_currency_code
       label: Restatement Currency Code
@@ -51583,7 +52000,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: csJWct1Umny4cLJgnqEe6Q
+    - id: 2VjP3Sipy7ESijt9y99Fpm
       sortOrder: 8
       fieldKey: email_address
       label: Email Address
@@ -51606,7 +52023,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 4TvmHwYUTV1cDMbyNbfZqT
+    - id: ffybsX66UudshPyYF9Urju
       sortOrder: 9
       fieldKey: phone_country_code
       label: Phone Number Country Code
@@ -51621,7 +52038,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: qXXnyw4ieGQPmZ9fbfbyX
+    - id: go86Vo1ABjgCiamXkzvczf
       sortOrder: 10
       fieldKey: phone_number
       label: Phone Number
@@ -51645,7 +52062,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: b3b1cNi1bXuS33jGeDnR3Z
+    - id: hvuJmoqWAJxwVCkzg4TwUd
       sortOrder: 11
       fieldKey: first_name
       label: First Name
@@ -51666,7 +52083,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 59cW4EKAnrCKcVqbkHzqvw
+    - id: ipaMSu2iJaHaYe32XafDQM
       sortOrder: 12
       fieldKey: last_name
       label: Last Name
@@ -51689,7 +52106,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 8hCsgdBbiJ6Fr1ufheiNkn
+    - id: 6kWQJhP6Yh74VwT9TztrmJ
       sortOrder: 13
       fieldKey: city
       label: City
@@ -51710,7 +52127,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: a8og8H8ZmmDjYrn542Cxko
+    - id: aLEFjgF5MbPdcmU8fm5phK
       sortOrder: 14
       fieldKey: state
       label: State
@@ -51731,7 +52148,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: qkV6Y32azth8B8rL1mp16X
+    - id: pKrq3Ka5UBs2a4qK2X2186
       sortOrder: 15
       fieldKey: country
       label: Country
@@ -51754,7 +52171,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: s6MZRnWonvfXEFUoYMLb61
+    - id: fXHZgfHLyxGJakZv8GvkxL
       sortOrder: 16
       fieldKey: postal_code
       label: Postal Code
@@ -51775,7 +52192,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: iMXfbyDFffEoHfJbK3GRbK
+    - id: 9uiZQermcwddadvZoSc13j
       sortOrder: 17
       fieldKey: street_address
       label: Street Address
@@ -51796,7 +52213,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: jxxHJMbSr5Uh2sKsgq5v6s
+    - id: wtmPb9uqyMZagw7bb6zrFg
       sortOrder: 18
       fieldKey: user_agent
       label: User Agent
@@ -51824,7 +52241,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: 8sBZcoMgnPakXn1B6ypGBm
+    - id: 3dp4dwWydhb6JJwiTktoWh
       sortOrder: 0
       fieldKey: conversion_action
       label: Conversion Action ID
@@ -51837,12 +52254,14 @@ items:
       dynamic: true
       allowNull: false
       hidden: false
-    - id: typy4rfLPuitTcN226Ck8g
+    - id: dCGUr8btApEvMDW9fDGy8A
       sortOrder: 1
       fieldKey: gclid
       label: GCLID
       type: STRING
-      description: The Google click ID (gclid) associated with this conversion.
+      description: >-
+        The Google click ID (gclid) associated with this conversion. One of
+        GCLID, GBRAID or WBRAID must be provided.
       placeholder: ''
       required: false
       multiple: false
@@ -51850,14 +52269,15 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: uHz9QwcZfrMiXhVQKi9JWk
+    - id: jMacDSkKLczWkwDt7UNMNS
       sortOrder: 2
       fieldKey: gbraid
       label: GBRAID
       type: STRING
       description: >-
         The click identifier for clicks associated with app conversions and
-        originating from iOS devices starting with iOS14.
+        originating from iOS devices starting with iOS14. One of GCLID, GBRAID
+        or WBRAID must be provided.
       placeholder: ''
       required: false
       multiple: false
@@ -51865,14 +52285,15 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: qGRp9DEvZPLiLXFuFKbxcb
+    - id: nFgG5F7jmXuebojxar4wNi
       sortOrder: 3
       fieldKey: wbraid
       label: WBRAID
       type: STRING
       description: >-
         The click identifier for clicks associated with web conversions and
-        originating from iOS devices starting with iOS14.
+        originating from iOS devices starting with iOS14. One of GCLID, GBRAID
+        or WBRAID must be provided.
       placeholder: ''
       required: false
       multiple: false
@@ -51880,7 +52301,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: bqoBby7dkZ5trthTc82LhP
+    - id: qtgVPXNp1vprTQgFzTN4tH
       sortOrder: 4
       fieldKey: conversion_timestamp
       label: Conversion Timestamp
@@ -51898,7 +52319,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: i4cxmcUMK7FBjV5fN7FreD
+    - id: 5RzDQzqZ62dfJVFF6vHKkR
       sortOrder: 5
       fieldKey: email_address
       label: Email Address
@@ -51921,7 +52342,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: tC7pWiLueoCpjX6pn3KY5c
+    - id: v9Y2rkt21JeceeNEvQUc1t
       sortOrder: 6
       fieldKey: phone_country_code
       label: Phone Number Country Code
@@ -51936,7 +52357,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: gMq8C9jLVK9h8rt7hy8uHg
+    - id: 39TB6eA4nCmwszMd1AZUqX
       sortOrder: 7
       fieldKey: phone_number
       label: Phone Number
@@ -51960,7 +52381,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: joW6XtDCvE7UDXuRwAjhn
+    - id: dEmis2fWEoL9T11DM8iGjV
       sortOrder: 8
       fieldKey: order_id
       label: Order ID
@@ -51983,7 +52404,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: uMwbjijhPgafofg66MGpba
+    - id: 2WQrHtJXSKGiQpaeHHYxDT
       sortOrder: 9
       fieldKey: value
       label: Value
@@ -51998,7 +52419,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: tCKRsqUr9UL82ZFGuqkaYf
+    - id: k9U2C6dcV8nBExekv49yWv
       sortOrder: 10
       fieldKey: currency
       label: Currency
@@ -52015,7 +52436,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: xfHL7Kj2X9JzLE78ytAmDw
+    - id: dKbTuMgpUcpdRBYuxuHEe4
       sortOrder: 11
       fieldKey: conversion_environment
       label: Conversion Environment
@@ -52038,7 +52459,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: sxhzN3Y82Z7Fa6aJj7G8wD
+    - id: 9rC3aqb2U2WUwuqZAK6wTy
       sortOrder: 12
       fieldKey: merchant_id
       label: Merchant Center ID
@@ -52051,7 +52472,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: uu5V68zRRXPDHnkPaVF9ap
+    - id: 6kEqFf6NgmjdaLFpGqdje2
       sortOrder: 13
       fieldKey: merchant_country_code
       label: Merchant Center Feed Country Code
@@ -52066,7 +52487,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: fxDNXLgrx9UiWmKioyW2YV
+    - id: 6PESYnLbYwDnqw232hiE9p
       sortOrder: 14
       fieldKey: merchant_language_code
       label: Merchant Center Feed Language Code
@@ -52081,7 +52502,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: ibZSjipUTYXa43qKiD5E2X
+    - id: 23f1pjvMKSs4U22Dad2hyU
       sortOrder: 15
       fieldKey: local_cost
       label: Local Transaction Cost
@@ -52096,7 +52517,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: BWibksrDxaLPXefnLdUrw
+    - id: uB63H9dAhdty6tFXaoQwxY
       sortOrder: 16
       fieldKey: items
       label: Items
@@ -52118,7 +52539,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: kU8zL8S5vqnvzusYf3k9KU
+    - id: hf2sPQWjRt4XVmGbCjm5gw
       sortOrder: 17
       fieldKey: custom_variables
       label: Custom Variables
@@ -52127,8 +52548,9 @@ items:
         The custom variables associated with this conversion. On the left-hand
         side, input the name of the custom variable as it appears in your Google
         Ads account. On the right-hand side, map the Segment field that contains
-        the corresponding value See [Google’s documentation on how to create
-        custom conversion
+        the corresponding value. Will not be sent if GBRAID or WBRAID fields
+        populated. See [Google’s documentation on how to create custom
+        conversion
         variables.](https://developers.google.com/google-ads/api/docs/conversions/conversion-custom-variables) 
       placeholder: ''
       required: false
@@ -52137,7 +52559,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: a1p6x8yhhwA14569v89CHp
+    - id: bET6XccxFUz7Dvx2ZZF5fu
       sortOrder: 18
       fieldKey: ad_user_data_consent_state
       label: Ad User Data Consent State
@@ -52158,7 +52580,7 @@ items:
         value: UNSPECIFIED
       dynamic: false
       allowNull: false
-    - id: srqiCoM4xaS4Kt18C7M58R
+    - id: rRWEPvmQtEhSG3fqjQkQAo
       sortOrder: 19
       fieldKey: ad_personalization_consent_state
       label: Ad Personalization Consent State
@@ -52188,7 +52610,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: 9iCRfwQ3Hu9ng9jJ95XKSq
+    - id: sSxraar6CY9nZVP9Cfk5zG
       sortOrder: 0
       fieldKey: conversion_action
       label: Conversion Action ID
@@ -52201,7 +52623,7 @@ items:
       dynamic: true
       allowNull: false
       hidden: false
-    - id: 7nxhLWuYGFpMsAUNnbWwew
+    - id: bVnSzaJak8Y95HU3GSgrxk
       sortOrder: 1
       fieldKey: caller_id
       label: Caller ID
@@ -52216,7 +52638,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: uhhwxyNVy7FmaLj5nH3R9u
+    - id: 387fuHreLjLMZ5bf5UcGQZ
       sortOrder: 2
       fieldKey: call_timestamp
       label: Call Timestamp
@@ -52232,7 +52654,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: vzePAgDkRk3omSnEExzDhd
+    - id: 7WZgadQnr1VJQ12X9Bcitb
       sortOrder: 3
       fieldKey: conversion_timestamp
       label: Conversion Timestamp
@@ -52250,7 +52672,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: jYDen4HJugeccdD5NHWNvD
+    - id: p3KVFFHKpyjvZeAtSc8udc
       sortOrder: 4
       fieldKey: value
       label: Value
@@ -52265,7 +52687,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 89bzqWrBvnDKDxjht5hTan
+    - id: 4mjiRpUv8J3A4QED6V2Rwh
       sortOrder: 5
       fieldKey: currency
       label: Currency
@@ -52282,7 +52704,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: hESW8JuJRBgW5NAYMhTzyn
+    - id: bBZ2ekiDooc7kUex7iUm7k
       sortOrder: 6
       fieldKey: custom_variables
       label: Custom Variables
@@ -52301,7 +52723,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 5Xu3WkCfDZGeLEE8hDihDw
+    - id: 7San8airb269Dqs1JQiXqX
       sortOrder: 7
       fieldKey: ad_user_data_consent_state
       label: Ad User Data Consent State
@@ -52322,7 +52744,7 @@ items:
         value: UNSPECIFIED
       dynamic: false
       allowNull: false
-    - id: b6osR2gJJrupN5SEsbPCFL
+    - id: bdZnknNZgpLgeyHPbjr4w6
       sortOrder: 8
       fieldKey: ad_personalization_consent_state
       label: Ad Personalization Consent State
@@ -52352,7 +52774,7 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Entered" or event = "Audience Exited"
     fields:
-    - id: sYKvTs3XHTuaQJ3JMpPtAU
+    - id: sDTvnmVA6y3y61Ar1mEahD
       sortOrder: 0
       fieldKey: first_name
       label: First Name
@@ -52372,7 +52794,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: jnP6smP7dxigHzd7XnwDpf
+    - id: bDAFX5rVNxPaGyMjccKw4c
       sortOrder: 1
       fieldKey: last_name
       label: Last Name
@@ -52392,7 +52814,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: gyXSjqydeMdJC9hUKQkJfq
+    - id: if1mquacvZLy4tvRLjAc8U
       sortOrder: 2
       fieldKey: email
       label: Email
@@ -52412,7 +52834,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 23r2a7eAT3Ye5rVuXJQUmG
+    - id: ad7zLQ8tdoGB2swybneXZC
       sortOrder: 3
       fieldKey: phone
       label: Phone
@@ -52432,7 +52854,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: pGBisyjtPDzStweEnru8LR
+    - id: qMBtLxK9PkrbZMbyMkdbs7
       sortOrder: 4
       fieldKey: phone_country_code
       label: Phone Number Country Code
@@ -52447,7 +52869,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: mzgN3hriVm24nmTL2odRyM
+    - id: x3DikK4gj23dN1Zx6c7bqc
       sortOrder: 5
       fieldKey: country_code
       label: Address Country Code
@@ -52459,7 +52881,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: di9YZ7KJ1Lb6uDSeQx57G4
+    - id: uH1qipG1JvfGXmDNGqb94E
       sortOrder: 6
       fieldKey: postal_code
       label: Postal Code
@@ -52471,7 +52893,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: rv5YLC6QHznLb1DurZcyXv
+    - id: nv1cUH4WkCQydf7HVRYNyv
       sortOrder: 7
       fieldKey: crm_id
       label: CRM ID
@@ -52485,7 +52907,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 9B3urwjPfX26wULjrxunhu
+    - id: qKSukeqfTLZqgQjTkWNkSq
       sortOrder: 8
       fieldKey: mobile_advertising_id
       label: Mobile Advertising ID
@@ -52501,7 +52923,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 214pE7AhFePMYx1NreyqHF
+    - id: 5DW9e4sZkipuVKp3EnWmh8
       sortOrder: 9
       fieldKey: ad_user_data_consent_state
       label: Ad User Data Consent State
@@ -52522,7 +52944,7 @@ items:
         value: UNSPECIFIED
       dynamic: false
       allowNull: false
-    - id: ubo1V42sdSB2rhWDdE6mT9
+    - id: 5WvmCQLEqaXGUkdRNmVoFs
       sortOrder: 10
       fieldKey: ad_personalization_consent_state
       label: Ad Personalization Consent State
@@ -52544,7 +52966,7 @@ items:
         value: UNSPECIFIED
       dynamic: false
       allowNull: false
-    - id: nDiBRzCeUzGUktQrFpJQcK
+    - id: 4x2tk47nBqJo1UWQcNtxwd
       sortOrder: 15
       fieldKey: list_id
       label: Existing List ID
@@ -52558,7 +52980,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: 6CYZRDJGE5kYC3DzN89QXK
+    - id: 3AcgJUcXWGM4HpBQaW2uiE
       sortOrder: 16
       fieldKey: list_name
       label: List Name
@@ -52570,7 +52992,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: rP6G7A4u18pJ4M8CJjbuNf
+    - id: it3pxyzAfMQsx1Lqf8K4tk
       sortOrder: 17
       fieldKey: external_id_type
       label: External ID Type
@@ -52589,7 +53011,7 @@ items:
         value: MOBILE_ADVERTISING_ID
       dynamic: false
       allowNull: false
-    - id: uPyYkqtQZMBf2ddRV2sXCh
+    - id: xmkFnQFNeWcKjGiqtka42V
       sortOrder: 18
       fieldKey: app_id
       label: App ID
@@ -52604,7 +53026,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: dhVK4wu3a9BKWPLTNoHH1k
+    - id: 3xKnrU87x5Y482UKy57kfr
       sortOrder: 19
       fieldKey: retlOnMappingSave
       label: Connect to a Google Customer Match User List
@@ -52627,7 +53049,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: hW86nggLFqwHaQcMqust66
+    - id: gMby4TNBBsuSZwMc2Upz3r
       sortOrder: 0
       fieldKey: conversion_action
       label: Conversion Action ID
@@ -52639,7 +53061,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: 5cGQ7TAfpuEMt5xRvuvEeG
+    - id: 7cyupTfqX3BSqTtRpk94WD
       sortOrder: 1
       fieldKey: caller_id
       label: Caller ID
@@ -52653,7 +53075,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: eYfLLFCbi3o2kwY6Njh135
+    - id: w6Fn4rdTCrjEYpaW8HX3Cw
       sortOrder: 2
       fieldKey: call_timestamp
       label: Call Timestamp
@@ -52668,7 +53090,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ctVGoQ33jepVz2eM7L9y6m
+    - id: uhtv8hYZsAXqN8YxU5PMzV
       sortOrder: 3
       fieldKey: conversion_timestamp
       label: Conversion Timestamp
@@ -52685,7 +53107,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: i1KPvWvqCoK7vA7APdDRuo
+    - id: k5LN9Tpzq79BKFC42QLzwF
       sortOrder: 4
       fieldKey: value
       label: Value
@@ -52699,7 +53121,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: p6rvSY8LuqEWYEVeHi6few
+    - id: m63pKHus64ieUiyEFMv35X
       sortOrder: 5
       fieldKey: currency
       label: Currency
@@ -52715,7 +53137,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: h3oZFQtZtuXvkZjohSwMKu
+    - id: 69Fy3KJzGG1mqMM2uADmGq
       sortOrder: 6
       fieldKey: custom_variables
       label: Custom Variables
@@ -52733,7 +53155,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: qYs9ADuC4cUvPTf2UbAPhg
+    - id: dRTWDPgLWJ18aXKwzHBbdn
       sortOrder: 7
       fieldKey: ad_user_data_consent_state
       label: Ad User Data Consent State
@@ -52754,7 +53176,7 @@ items:
         value: UNSPECIFIED
       dynamic: false
       allowNull: false
-    - id: eWX8AxeQQWDGsFyjrE1U2q
+    - id: usEArmwJHcJ573JPYcnj3
       sortOrder: 8
       fieldKey: ad_personalization_consent_state
       label: Ad Personalization Consent State
@@ -52784,7 +53206,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: nTskMs95WwFE6yxszgQ7dU
+    - id: xgrFy7Kc1e6Lys3i8th5h8
       sortOrder: 0
       fieldKey: conversion_action
       label: Conversion Action ID
@@ -52796,7 +53218,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: s7P4KTn85A9VhM4ymkZk1
+    - id: cmP9LEN7bYP7B22Bb2BQsZ
       sortOrder: 1
       fieldKey: adjustment_type
       label: Adjustment Type
@@ -52821,7 +53243,7 @@ items:
         value: ENHANCEMENT
       dynamic: false
       allowNull: false
-    - id: uQ5WRVERqqkvmZNbHuADDH
+    - id: gZUXXQDQf583MnXs8pedj2
       sortOrder: 2
       fieldKey: adjustment_timestamp
       label: Adjustment Timestamp
@@ -52839,7 +53261,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: beGFavgpnXuBF6hSwQe5nN
+    - id: tQZfHzjhFtx2efo6m96v84
       sortOrder: 3
       fieldKey: order_id
       label: Order ID
@@ -52862,7 +53284,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: pkoAjQSCMHrMNecDmpEYvP
+    - id: oFww5R9FiGSyqbUwTNYWFE
       sortOrder: 4
       fieldKey: gclid
       label: GCLID
@@ -52876,7 +53298,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: mgf5Bg2AmB7JgeesA35xZ4
+    - id: uZtDpU4UMh1WL5R6Nj4hnQ
       sortOrder: 5
       fieldKey: conversion_timestamp
       label: Conversion Timestamp
@@ -52892,7 +53314,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: aYK22gsSFMStD6PY3LoJq5
+    - id: cvJwWUy7u19g4xKxUMopEN
       sortOrder: 6
       fieldKey: restatement_value
       label: Restatement Value
@@ -52908,7 +53330,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: x27b5CZt6p8GYkrc2qTCAx
+    - id: 9wTsSdbMFwiPpd5VyDGV9L
       sortOrder: 7
       fieldKey: restatement_currency_code
       label: Restatement Currency Code
@@ -52924,7 +53346,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: saVEr9jsHAnApLZXddgmNZ
+    - id: cWjY4RNUR1uqQFPfsZVvFi
       sortOrder: 8
       fieldKey: phone_country_code
       label: Phone Number Country Code
@@ -52939,7 +53361,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: xqfvrCw1bv3rctcYneAXSp
+    - id: iwUubYi4C9o8nv5DjT4Pdf
       sortOrder: 9
       fieldKey: email_address
       label: Email Address
@@ -52961,7 +53383,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: sBbKHzKaHMFFKo566WLZvP
+    - id: vr62XkSTrTEisvbvgq7SCx
       sortOrder: 10
       fieldKey: phone_number
       label: Phone Number
@@ -52984,7 +53406,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: jFGN1v9E1aag7LTevrf2jn
+    - id: wJXWeutSazM2iwQn44pAZX
       sortOrder: 11
       fieldKey: first_name
       label: First Name
@@ -53004,7 +53426,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: iN93zPhJCTtpjs6JLJJQn4
+    - id: dMJNoRRKRfP1qij8FeSdcm
       sortOrder: 12
       fieldKey: last_name
       label: Last Name
@@ -53026,7 +53448,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: pazQfBWyrbFbLihtowzTQG
+    - id: 56KDmkVZk3FoW7oNxq8Lwx
       sortOrder: 13
       fieldKey: city
       label: City
@@ -53046,7 +53468,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: rv1N7MbKNfRDk2DcjwEMxn
+    - id: mSv4MdQ9oPQ5kSAAv4LJWB
       sortOrder: 14
       fieldKey: state
       label: State
@@ -53066,7 +53488,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: nzEgwgivyvDxhekAorbQBh
+    - id: kL6fcrFCKwb52zR2u4G2hE
       sortOrder: 15
       fieldKey: country
       label: Country
@@ -53088,7 +53510,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: p8S5ZiUpvZCM6LRSPLp4GY
+    - id: 6BwigpKhU8Z4MQE2Cc8Cdm
       sortOrder: 16
       fieldKey: postal_code
       label: Postal Code
@@ -53108,7 +53530,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: kzyLTupYyvMqRpR81otWDE
+    - id: uA2s9w8B7g6sw5aDkeHJbs
       sortOrder: 17
       fieldKey: street_address
       label: Street Address
@@ -53130,7 +53552,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: w4cQE6sD2XNueUe8BcKZcX
+    - id: 7uXnBfpKanK8ysTX8Dk5oN
       sortOrder: 18
       fieldKey: user_agent
       label: User Agent
@@ -53157,7 +53579,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: 9D9iShrZrbJi2Q7c7WQYyP
+    - id: vPV8GDsNZ8idSqekuhrn2a
       sortOrder: 0
       fieldKey: conversion_action
       label: Conversion Action ID
@@ -53169,47 +53591,51 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: uiXcGHWNTuxq24MUm9UDkS
+    - id: dEhg2mGi8Bk5HGx7XP1mhC
       sortOrder: 1
       fieldKey: gclid
       label: GCLID
       type: STRING
-      description: The Google click ID (gclid) associated with this conversion.
+      description: >-
+        The Google click ID (gclid) associated with this conversion. One of
+        GCLID, GBRAID or WBRAID must be provided.
       placeholder: ''
       required: false
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
-    - id: 7fdSWkw11RojegYuSvUikM
+    - id: ji75441EHVQodrc7Vsrr1t
       sortOrder: 2
       fieldKey: gbraid
       label: GBRAID
       type: STRING
       description: >-
         The click identifier for clicks associated with app conversions and
-        originating from iOS devices starting with iOS14.
+        originating from iOS devices starting with iOS14. One of GCLID, GBRAID
+        or WBRAID must be provided.
       placeholder: ''
       required: false
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
-    - id: kAqmEjaME2gsmvdGPs687y
+    - id: bd89GYci3MfCPPPK9eFvxd
       sortOrder: 3
       fieldKey: wbraid
       label: WBRAID
       type: STRING
       description: >-
         The click identifier for clicks associated with web conversions and
-        originating from iOS devices starting with iOS14.
+        originating from iOS devices starting with iOS14. One of GCLID, GBRAID
+        or WBRAID must be provided.
       placeholder: ''
       required: false
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
-    - id: v5QqqjRQQo3Dh2mVU9ioWL
+    - id: acmRbLVULtQANRdNnQY9g7
       sortOrder: 4
       fieldKey: conversion_timestamp
       label: Conversion Timestamp
@@ -53226,7 +53652,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 9QfTjMSq3LCjJ3kpGEWW3h
+    - id: xBaE17VfftUXpwRU1sK42J
       sortOrder: 5
       fieldKey: email_address
       label: Email Address
@@ -53248,7 +53674,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: fZzjyZ9JKv18vZtjFGXNzy
+    - id: sG6PBo9y61ZTiNRmcHW4qM
       sortOrder: 6
       fieldKey: phone_country_code
       label: Phone Number Country Code
@@ -53263,7 +53689,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5i1BTrJH8Sk9kUHFTwGr82
+    - id: fDNY5boZaWXkqWma6QAYvU
       sortOrder: 7
       fieldKey: phone_number
       label: Phone Number
@@ -53286,7 +53712,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: jmCwYSYxJGgJyBJqFTrf7w
+    - id: 49hdCo5bmNtW5yVcLQSgvY
       sortOrder: 8
       fieldKey: order_id
       label: Order ID
@@ -53308,7 +53734,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: xgNBCxDBakwGF6bHC59ki4
+    - id: qkh9N77mW6c8P7gcvFqGz5
       sortOrder: 9
       fieldKey: value
       label: Value
@@ -53322,7 +53748,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 6qhNWVHkzNEH7JNkS21D9i
+    - id: bttFjeS2DKZHEqEBFSSnth
       sortOrder: 10
       fieldKey: currency
       label: Currency
@@ -53338,7 +53764,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: etwYWBYjfb2JWTCWom2NVw
+    - id: 7Qm3ngduoEGxnPAaav6oUc
       sortOrder: 11
       fieldKey: conversion_environment
       label: Conversion Environment
@@ -53360,7 +53786,7 @@ items:
         value: UNSPECIFIED
       dynamic: false
       allowNull: false
-    - id: 75eznopfeVhgsyc9gv4D7j
+    - id: 9z1Dw9xX5nrnbhdhwjsgR1
       sortOrder: 12
       fieldKey: merchant_id
       label: Merchant Center ID
@@ -53372,7 +53798,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 6iKnz83h6YA4ZrBkMTeuTT
+    - id: 4WU7iwyTw6H1HcK2N9S3pn
       sortOrder: 13
       fieldKey: merchant_country_code
       label: Merchant Center Feed Country Code
@@ -53386,7 +53812,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: mvnoe2qetDLS6XrPzF5Psa
+    - id: uJurc1BvcStz5yL85YjAW4
       sortOrder: 14
       fieldKey: merchant_language_code
       label: Merchant Center Feed Language Code
@@ -53400,7 +53826,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: uTHtFyWdJ28F6xUVDGXe7S
+    - id: dgNyiZrXrHXpdSkWEjVvHH
       sortOrder: 15
       fieldKey: local_cost
       label: Local Transaction Cost
@@ -53414,7 +53840,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: bbniFMrGTpxx9XiWYh1HUd
+    - id: f3mKMj3g1xXYKMBhXQESzQ
       sortOrder: 16
       fieldKey: items
       label: Items
@@ -53435,7 +53861,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: wsEP2fkY8Z3RSSy6oxxTvg
+    - id: ftdi5KQbp1Tr3akeZQpktp
       sortOrder: 17
       fieldKey: custom_variables
       label: Custom Variables
@@ -53444,8 +53870,9 @@ items:
         The custom variables associated with this conversion. On the left-hand
         side, input the name of the custom variable as it appears in your Google
         Ads account. On the right-hand side, map the Segment field that contains
-        the corresponding value See [Google’s documentation on how to create
-        custom conversion
+        the corresponding value. Will not be sent if GBRAID or WBRAID fields
+        populated. See [Google’s documentation on how to create custom
+        conversion
         variables.](https://developers.google.com/google-ads/api/docs/conversions/conversion-custom-variables) 
       placeholder: ''
       required: false
@@ -53453,7 +53880,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: i191aQ6RpqXVmQEXXQXcph
+    - id: 34HKCS1dj1btdtw1boYxQe
       sortOrder: 18
       fieldKey: ad_user_data_consent_state
       label: Ad User Data Consent State
@@ -53474,7 +53901,7 @@ items:
         value: UNSPECIFIED
       dynamic: false
       allowNull: false
-    - id: ajZ5chPcQL4NaxqJCusTv4
+    - id: wjNeujiw5b1YZ5tYdaz5qv
       sortOrder: 19
       fieldKey: ad_personalization_consent_state
       label: Ad Personalization Consent State
@@ -70440,7 +70867,7 @@ items:
     hidden: false
     defaultTrigger: type = "group"
     fields:
-    - id: oeXyov7U6NLQH7Jw4neEF7
+    - id: uo3XjXtL6c3hBUtRzUvYYr
       sortOrder: 0
       fieldKey: remote_created_at
       label: Company Creation Time
@@ -70455,7 +70882,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: ucJM58rFexjfCrGwEN6T9a
+    - id: gxFZXcgEKSCkhvdCjaeiuF
       sortOrder: 1
       fieldKey: external_id
       label: External ID
@@ -70473,7 +70900,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: qeGt6jeQYwbfsCh8XyAHHt
+    - id: mjCd2R5efzCdKHVmPfkRGX
       sortOrder: 2
       fieldKey: email
       label: Email Address
@@ -70490,7 +70917,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 3zvvodmcQL6eMvu9pKSJkp
+    - id: 9XSUQ6JamjwHVCBTLEz6FP
       sortOrder: 3
       fieldKey: company_id
       label: Company ID
@@ -70505,7 +70932,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: hhRjg8EGd2kfJohtdrsqio
+    - id: 8vULgyxtCDwJG5aA2bqiy5
       sortOrder: 4
       fieldKey: contact_id
       label: Contact ID
@@ -70521,7 +70948,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: mMLGLDug2128ZgdQCaKr3B
+    - id: wHQrs3WXsi4516YScR7MJj
       sortOrder: 5
       fieldKey: name
       label: Company Name
@@ -70536,7 +70963,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: iWLnToWr36FEBxFeDu9W7B
+    - id: omTjG7C2UDKrT5xDqi1zEm
       sortOrder: 6
       fieldKey: monthly_spend
       label: Monthly Spend
@@ -70553,7 +70980,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 2UDwZg5xVcPdg8f5eNj9Vm
+    - id: cuFabaT3FuRCFp7WbaufTC
       sortOrder: 7
       fieldKey: plan
       label: Company Plan
@@ -70568,7 +70995,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: vfQafC7bb1kkCUusCPiwsF
+    - id: rPaEnNbgJY1ubHUxfMKUjh
       sortOrder: 8
       fieldKey: size
       label: Company Size
@@ -70583,7 +71010,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 3k78RcWBkdAbZomRCkxoNL
+    - id: 8qHuSj928FwAJJV29LsDDu
       sortOrder: 9
       fieldKey: website
       label: Company Website
@@ -70598,7 +71025,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 3J63RzwjgUN5ze5cktxojL
+    - id: bLHQBaDdVtG6W1CirqXBYo
       sortOrder: 10
       fieldKey: industry
       label: Industry
@@ -70613,7 +71040,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 8n3TzK2uEcsbEjrD8TQqAk
+    - id: myY2tseMpwHfeiu7qCxY4u
       sortOrder: 11
       fieldKey: custom_attributes
       label: Custom Attributes
@@ -70640,7 +71067,7 @@ items:
     hidden: false
     defaultTrigger: type = "track"
     fields:
-    - id: i7i2DNSqyvHCgzcBt6yBPc
+    - id: iA65oFpbLf1BuQfD1pqPNJ
       sortOrder: 0
       fieldKey: event_name
       label: Event Name
@@ -70658,7 +71085,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: ukg6BhmhEjDqynPmFnJXRM
+    - id: 5TPE7fDBiP4fZnTQgQv1GZ
       sortOrder: 1
       fieldKey: created_at
       label: Event Timestamp
@@ -70675,7 +71102,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: hHEo64wDE5RQjZURpHVgyj
+    - id: hxCXijSH2dag6RsGrj5dDv
       sortOrder: 2
       fieldKey: user_id
       label: User ID
@@ -70692,7 +71119,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: tsAqdc9Jpi32sGqpyuDXMW
+    - id: tVDu63tdBtr2bkVWGGfYsc
       sortOrder: 3
       fieldKey: email
       label: Email Address
@@ -70709,7 +71136,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: edZKCPgHaG2NR51WitdFzr
+    - id: rt4JKBEWmFXXvRS2zwRZbL
       sortOrder: 4
       fieldKey: revenue
       label: Revenue
@@ -70726,7 +71153,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: w4EDFkPKd3qbQwNuZUVpV7
+    - id: s914Cc3TTAQ81TqsrwLu6i
       sortOrder: 5
       fieldKey: currency
       label: Currency
@@ -70743,7 +71170,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 4mNEijqUPQ1qikRsSNnXUZ
+    - id: 9YL8caHhQUx9fWmSZdLpoS
       sortOrder: 6
       fieldKey: id
       label: Contact ID
@@ -70758,7 +71185,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: c7DcCxoMJoYz7HVjEgopJS
+    - id: xmXJ8T5HZeFhcEVF5W7gw
       sortOrder: 7
       fieldKey: metadata
       label: Event Metadata
@@ -70785,7 +71212,7 @@ items:
     hidden: false
     defaultTrigger: type = "identify"
     fields:
-    - id: mGdbfDkhy8kFVMM6Xi761K
+    - id: 4QnZWCrbWNo6MLWqmpzV17
       sortOrder: 0
       fieldKey: role
       label: Role
@@ -70802,7 +71229,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: utCVvf2G8nYb5d1MUbFG2w
+    - id: mV7xhAEdUUNtyRk1tpSjrt
       sortOrder: 1
       fieldKey: external_id
       label: External ID
@@ -70820,7 +71247,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: vQbMeXKMZoFZP4HQyyAWc9
+    - id: knuwmtRh6WfoXk6DBbkfJM
       sortOrder: 2
       fieldKey: email
       label: Email Address
@@ -70837,7 +71264,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: qDjSPcHVrBMAPmMCgRiDLA
+    - id: 9hu6Efjv7AcXLB6Zxy3kKT
       sortOrder: 3
       fieldKey: phone
       label: Phone Number
@@ -70852,7 +71279,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: iUD71GpG2zBmukJnkMkD7a
+    - id: mchhs95i1LkyPQYFfcxUaP
       sortOrder: 4
       fieldKey: name
       label: Name
@@ -70867,7 +71294,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: ncPPawJUjh2o9JLHKxKuF4
+    - id: agR6b7qkfbk82AjZiMTHFk
       sortOrder: 5
       fieldKey: avatar
       label: Avatar
@@ -70882,7 +71309,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 6p7W147JBjVAxgn795M3h4
+    - id: huhwb4XFp4fnNu3FdwdHY5
       sortOrder: 6
       fieldKey: signed_up_at
       label: Signed Up Timestamp
@@ -70895,7 +71322,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: dabFySubdRKMLdbf1SbkEs
+    - id: U4Fagpb4q3UkMfMRAkv9J
       sortOrder: 7
       fieldKey: last_seen_at
       label: Last Seen Timestamp
@@ -70910,7 +71337,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 9HaBE2nNGwWc8xqJT4Ke3j
+    - id: a3GMJDQpFxMAJRGLKkS2jM
       sortOrder: 8
       fieldKey: owner_id
       label: Owner ID
@@ -70925,7 +71352,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: sb8aCyo1wnqiWrzxFmWKpR
+    - id: cEnM5TqBYoMdsoYKbiVAej
       sortOrder: 9
       fieldKey: unsubscribed_from_emails
       label: Unsubscribed From Emails
@@ -70938,7 +71365,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: vS4VtmHvvkYnRRJhBXETYn
+    - id: eaTZQkAX73VizZvvCqNmXi
       sortOrder: 10
       fieldKey: custom_attributes
       label: Custom Attributes
@@ -80900,7 +81327,7 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Entered" or event = "Audience Exited"
     fields:
-    - id: 7511VyvY4NS4w9dtpSTfdh
+    - id: grzymw7kTgosuBnJ66iSbM
       sortOrder: 0
       fieldKey: dmp_segment_name
       label: DMP Segment Display Name
@@ -80911,14 +81338,20 @@ items:
         has created an audience will not update the audience name in LinkedIn.
       placeholder: ''
       defaultValue:
-        '@path': $.properties.audience_key
+        '@if':
+          exists:
+            '@path': $.properties.audience_key
+          then:
+            '@path': $.properties.audience_key
+          else:
+            '@path': $.context.personas.computation_key
       required: false
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
       hidden: false
-    - id: xzNE674njRGb54csuz8w2k
+    - id: 8GJ1D1dX6wNsgaoro5cunP
       sortOrder: 1
       fieldKey: enable_batching
       label: Enable Batching
@@ -80932,7 +81365,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: jaRpaeYSg3CVGZYedFipFY
+    - id: eyG2pmPE8nUSWfybrVqZbE
       sortOrder: 2
       fieldKey: email
       label: User Email
@@ -80954,7 +81387,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: p4zXdsFeV2q3pXL4XSpbjx
+    - id: 6bubqqywwk5kvYDRCQj3KT
       sortOrder: 3
       fieldKey: first_name
       label: User First Name
@@ -80968,7 +81401,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: gSC9KCcNN6r5c1VxLszdJa
+    - id: tmXozQyG4GAC19yQt23x6r
       sortOrder: 4
       fieldKey: last_name
       label: User Last Name
@@ -80982,7 +81415,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: gcYH9oH6d8FutpRsmWvzmT
+    - id: 9jBroPjFYTKfJ8Zg1MVUUj
       sortOrder: 5
       fieldKey: title
       label: User Title
@@ -80996,7 +81429,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: nHG9m4eH8i7FfrNMRY87F4
+    - id: kTMpFrE5VfSiuTkvPmLATm
       sortOrder: 6
       fieldKey: company
       label: User Company
@@ -81010,7 +81443,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: nwXuuLFxX4RQoEaai3Bezs
+    - id: i5uCBBgCwQJzXQWPPpyMKo
       sortOrder: 7
       fieldKey: country
       label: User Country
@@ -81026,7 +81459,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 3J6d7CWpHKLCaf9cUJton9
+    - id: hYv6SLh75LrtqFKsg4vF4D
       sortOrder: 10
       fieldKey: personas_audience_key
       label: Segment Engage Audience Key
@@ -81042,7 +81475,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: w8KuaMrKHmQeyaw7KBg8sb
+    - id: ucjmSCtjJVxHJ8AMQAV5No
       sortOrder: 12
       fieldKey: dmp_user_action
       label: DMP User Action
@@ -82172,7 +82605,7 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Entered"
     fields:
-    - id: kMgyerASLivvGmMF5YLRK1
+    - id: bcMzgzKBnTLzKgq78s4uCd
       sortOrder: 0
       fieldKey: sftp_username
       label: Username
@@ -82185,7 +82618,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 3hnbAU6ztRqHAHtXdtsSS5
+    - id: qicLr2aFxyGNGL9h6u4tva
       sortOrder: 1
       fieldKey: sftp_password
       label: Password
@@ -82198,7 +82631,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: dK2ei4KkRg13BtKKzfwUF9
+    - id: fns8XJUPQ1w3YbwKxM9nFp
       sortOrder: 2
       fieldKey: sftp_folder_path
       label: Folder Path
@@ -82215,7 +82648,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: x96cA8SB9oxXzywrLP7wXk
+    - id: jBusi4jwj3nQr95rXHqogQ
       sortOrder: 3
       fieldKey: audience_key
       label: LiveRamp Audience Key
@@ -82234,7 +82667,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: twGu7B9VUEoGPoMKHUfD7G
+    - id: n2etQ1gt5FdeJvncw7XSd3
       sortOrder: 4
       fieldKey: identifier_data
       label: Identifier Data
@@ -82247,7 +82680,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: h1ASLUgE6GjxCMXyBBWG6y
+    - id: jtdtwXHabf8WvHBup9fFTw
       sortOrder: 5
       fieldKey: unhashed_identifier_data
       label: Hashable Identifier Data
@@ -82263,7 +82696,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: qS42Y8bSvzQYFTmcY55cT8
+    - id: udMiBRFdqAEy7dwZ8jtNFD
       sortOrder: 6
       fieldKey: delimiter
       label: Delimeter
@@ -82277,7 +82710,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: sJqPmPaKrfnUGCkrLDgddT
+    - id: baKrghP4w9G4xYhtJ9sMuN
       sortOrder: 7
       fieldKey: filename
       label: Filename
@@ -82302,7 +82735,7 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Entered"
     fields:
-    - id: daCKHSi8JhZwut8Cxg6HR5
+    - id: jVyeyS3iBPaxuq6dErmaoB
       sortOrder: 0
       fieldKey: s3_aws_access_key
       label: AWS Access Key ID
@@ -82315,7 +82748,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 89U7s6TP78WYwsCjPvE93u
+    - id: 2tNwMzSiKWg8PjXshtPEuL
       sortOrder: 1
       fieldKey: s3_aws_secret_key
       label: AWS Secret Access Key
@@ -82328,7 +82761,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: c66uem7Z16uXsNSbrwB8Bj
+    - id: giyTt6vJbq8PEKUD9Gq7dH
       sortOrder: 2
       fieldKey: s3_aws_bucket_name
       label: AWS Bucket Name
@@ -82341,20 +82774,20 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: iv4ZA4WQRK1tFGsE2nzcyE
+    - id: b1gMoLUqSYnP2hVbEKv1rw
       sortOrder: 3
       fieldKey: s3_aws_region
       label: AWS Region (S3 only)
       type: STRING
       description: Region where the S3 bucket is hosted.
       placeholder: ''
-      required: false
+      required: true
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 2vea8KdovH8VMqtbXhx8pV
+    - id: eSEWsjFxKDfhoiUwL1TQe4
       sortOrder: 4
       fieldKey: audience_key
       label: LiveRamp Audience Key
@@ -82373,7 +82806,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: vwYppuEgPFQwEPmvEnoDUt
+    - id: isW2cPNRpVdij1ajDHjjpq
       sortOrder: 5
       fieldKey: identifier_data
       label: Identifier Data
@@ -82386,7 +82819,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: nFg9kJWTyvuq9M5WDdkTdE
+    - id: 5zNgqeHT4164w5wsfBF9cj
       sortOrder: 6
       fieldKey: unhashed_identifier_data
       label: Hashable Identifier Data
@@ -82402,7 +82835,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 9xUCLtDdUuCUBzMjtRWr3W
+    - id: pqSU2vN4u2yqrsQUF4tK5o
       sortOrder: 7
       fieldKey: delimiter
       label: Delimeter
@@ -82416,7 +82849,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 8xZ1w2rx3r1M5qWjsihLWf
+    - id: qtVPusxF4wmZCfBRFMBvXL
       sortOrder: 8
       fieldKey: filename
       label: Filename
@@ -82433,7 +82866,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 9gzRouweQC4noqggvXoywB
+    - id: 3aaHsfmUByergYzSRd9CeY
       sortOrder: 11
       fieldKey: s3_aws_bucket_path
       label: AWS Bucket Path [optional]
@@ -102051,7 +102484,931 @@ items:
               '@path': $.context.traits.email
             else:
               '@path': $.properties.email
-        external_id:
+        external_id:
+          '@if':
+            exists:
+              '@path': $.userId
+            then:
+              '@path': $.userId
+            else:
+              '@path': $.anonymousId
+        ip_address:
+          '@path': $.context.ip
+        user_agent:
+          '@path': $.context.userAgent
+        uuid:
+          '@if':
+            exists:
+              '@path': $.integrations.Reddit Conversions Api.uuid
+            then:
+              '@path': $.integrations.Reddit Conversions Api.uuid
+            else:
+              '@path': $.properties.uuid
+        phone_number:
+          '@if':
+            exists:
+              '@path': $.context.traits.phone
+            then:
+              '@path': $.context.traits.phone
+            else:
+              '@path': $.properties.phone
+      screen_dimensions:
+        height:
+          '@path': $.context.screen.height
+        width:
+          '@path': $.context.screen.width
+      event_metadata:
+        currency:
+          '@path': $.properties.currency
+        itemCount:
+          '@path': $.properties.quantity
+        value:
+          '@path': $.properties.price
+      conversion_id:
+        '@path': $.messageId
+      tracking_type: AddToWishlist
+    trigger: type = "track" and event = "Product Added to Wishlist"
+  - actionId: oKfDyMn39WEUWwEU4puB6Z
+    name: Page Visit
+    fields:
+      event_at:
+        '@path': $.timestamp
+      click_id:
+        '@if':
+          exists:
+            '@path': $.integrations.Reddit Conversions Api.click_id
+          then:
+            '@path': $.integrations.Reddit Conversions Api.click_id
+          else:
+            '@path': $.properties.click_id
+      products:
+        '@arrayPath':
+        - $.properties.products
+        - category:
+            '@path': $.category
+          id:
+            '@path': $.product_id
+          name:
+            '@path': $.name
+      user:
+        advertising_id:
+          '@path': $.context.device.advertisingId
+        device_type:
+          '@path': $.context.device.type
+        email:
+          '@if':
+            exists:
+              '@path': $.context.traits.email
+            then:
+              '@path': $.context.traits.email
+            else:
+              '@path': $.properties.email
+        external_id:
+          '@if':
+            exists:
+              '@path': $.userId
+            then:
+              '@path': $.userId
+            else:
+              '@path': $.anonymousId
+        ip_address:
+          '@path': $.context.ip
+        user_agent:
+          '@path': $.context.userAgent
+        uuid:
+          '@if':
+            exists:
+              '@path': $.integrations.Reddit Conversions Api.uuid
+            then:
+              '@path': $.integrations.Reddit Conversions Api.uuid
+            else:
+              '@path': $.properties.uuid
+        phone_number:
+          '@if':
+            exists:
+              '@path': $.context.traits.phone
+            then:
+              '@path': $.context.traits.phone
+            else:
+              '@path': $.properties.phone
+      screen_dimensions:
+        height:
+          '@path': $.context.screen.height
+        width:
+          '@path': $.context.screen.width
+      event_metadata: {}
+      conversion_id:
+        '@path': $.messageId
+      tracking_type: PageVisit
+    trigger: type = "page"
+  - actionId: oKfDyMn39WEUWwEU4puB6Z
+    name: Add to Cart
+    fields:
+      event_at:
+        '@path': $.timestamp
+      click_id:
+        '@if':
+          exists:
+            '@path': $.integrations.Reddit Conversions Api.click_id
+          then:
+            '@path': $.integrations.Reddit Conversions Api.click_id
+          else:
+            '@path': $.properties.click_id
+      products:
+        '@arrayPath':
+        - $.properties.products
+        - category:
+            '@path': $.category
+          id:
+            '@path': $.product_id
+          name:
+            '@path': $.name
+      user:
+        advertising_id:
+          '@path': $.context.device.advertisingId
+        device_type:
+          '@path': $.context.device.type
+        email:
+          '@if':
+            exists:
+              '@path': $.context.traits.email
+            then:
+              '@path': $.context.traits.email
+            else:
+              '@path': $.properties.email
+        external_id:
+          '@if':
+            exists:
+              '@path': $.userId
+            then:
+              '@path': $.userId
+            else:
+              '@path': $.anonymousId
+        ip_address:
+          '@path': $.context.ip
+        user_agent:
+          '@path': $.context.userAgent
+        uuid:
+          '@if':
+            exists:
+              '@path': $.integrations.Reddit Conversions Api.uuid
+            then:
+              '@path': $.integrations.Reddit Conversions Api.uuid
+            else:
+              '@path': $.properties.uuid
+        phone_number:
+          '@if':
+            exists:
+              '@path': $.context.traits.phone
+            then:
+              '@path': $.context.traits.phone
+            else:
+              '@path': $.properties.phone
+      screen_dimensions:
+        height:
+          '@path': $.context.screen.height
+        width:
+          '@path': $.context.screen.width
+      event_metadata:
+        currency:
+          '@path': $.properties.currency
+        itemCount:
+          '@path': $.properties.quantity
+        value:
+          '@path': $.properties.price
+      conversion_id:
+        '@path': $.messageId
+      tracking_type: AddToCart
+    trigger: type = "track" and event = "Product Added"
+  partnerOwned: true
+- id: 68383577d2c19626da376944
+  display_name: Reddit Pixel
+  name: Reddit Pixel
+  slug: reddit-pixel
+  hidden: false
+  endpoints:
+  - US
+  regions:
+  - us-west-2
+  - eu-west-1
+  url: connections/destinations/catalog/reddit-pixel
+  previous_names:
+  - Reddit Pixel
+  website: https://business.reddithelp.com/s/article/reddit-pixel
+  status: PUBLIC_BETA
+  categories:
+  - Advertising
+  logo:
+    url: https://cdn-devcenter.segment.com/e2e587b9-ae3f-45d8-954e-da69167c8ff5.svg
+  mark:
+    url: https://cdn-devcenter.segment.com/e25f3e39-9cfb-47cd-9320-2428ef9fadb0.svg
+  methods:
+    track: true
+    identify: true
+    group: true
+    alias: true
+    screen: false
+    page: true
+  platforms:
+    browser: true
+    mobile: false
+    server: false
+    warehouse: false
+    cloudAppObject: false
+    linkedAudiences: true
+  components: []
+  browserUnbundlingSupported: false
+  browserUnbundlingPublic: false
+  replay: false
+  connection_modes:
+    device:
+      web: false
+      mobile: false
+      server: false
+    cloud:
+      web: true
+      mobile: false
+      server: false
+  settings:
+  - name: ldu
+    type: boolean
+    defaultValue: false
+    description: >-
+      Limited Data Use - When the LDU flag is enabled, it may impact campaign
+      performance and limit the size of targetable audiences. See [this
+      documentation](https://business.reddithelp.com/s/article/Limited-Data-Use)
+      for more information. If enabling this toggle, also go into each event and
+      configure the Country and Region in the Data Processing Options for each
+      event being sent.
+    required: false
+    label: Limited Data Use
+  - name: pixel_id
+    type: string
+    defaultValue: ''
+    description: Your Reddit Pixel ID
+    required: true
+    label: Pixel ID
+  actions:
+  - id: gTQSdHawHaqppKUY37arYQ
+    name: Reddit Pixel - Custom Event
+    slug: reportCustomWebEvent
+    description: Send Custom Pixel Events to Reddit.
+    platform: WEB
+    hidden: false
+    defaultTrigger: type = "track"
+    fields:
+    - id: dYueyHrTh28t1xg6XVeuLS
+      sortOrder: 0
+      fieldKey: conversion_id
+      label: Conversion ID
+      type: STRING
+      description: >-
+        The unique conversion ID that corresponds to a distinct conversion
+        event. This is used for deduplication. If you are using both Reddit
+        Pixel and CAPI integrations, this field is required in order to dedupe
+        the same events across both sources.
+      placeholder: ''
+      defaultValue:
+        '@path': $.messageId
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: bpqRoTFPmaQoY1p1bQgwnU
+      sortOrder: 1
+      fieldKey: event_metadata
+      label: Event Metadata
+      type: OBJECT
+      description: The metadata associated with the conversion event.
+      placeholder: ''
+      defaultValue:
+        currency:
+          '@path': $.properties.currency
+        itemCount:
+          '@path': $.properties.quantity
+        value:
+          '@if':
+            exists:
+              '@path': $.properties.revenue
+            then:
+              '@path': $.properties.revenue
+            else:
+              '@path': $.properties.total
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: fC4Nrzh7KDFhMr2mPmD3FJ
+      sortOrder: 2
+      fieldKey: user
+      label: User
+      type: OBJECT
+      description: The identifying user parameters associated with the conversion event.
+      placeholder: ''
+      defaultValue:
+        advertising_id:
+          '@path': $.context.device.advertisingId
+        device_type:
+          '@path': $.context.device.type
+        email:
+          '@if':
+            exists:
+              '@path': $.context.traits.email
+            then:
+              '@path': $.context.traits.email
+            else:
+              '@path': $.properties.email
+        externalId:
+          '@if':
+            exists:
+              '@path': $.userId
+            then:
+              '@path': $.userId
+            else:
+              '@path': $.anonymousId
+        phoneNumber:
+          '@if':
+            exists:
+              '@path': $.properties.phone
+            then:
+              '@path': $.properties.phone
+            else:
+              '@path': $.context.traits.phone
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: fZREqEeYDQ7JPEYeSLDCSN
+      sortOrder: 3
+      fieldKey: products
+      label: Products
+      type: OBJECT
+      description: The products associated with the conversion event.
+      placeholder: ''
+      defaultValue:
+        '@arrayPath':
+        - $.properties.products
+        - category:
+            '@path': $.category
+          id:
+            '@path': $.product_id
+          name:
+            '@path': $.name
+      required: false
+      multiple: true
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: ce32XbM7CPHgu1CAXNXW3U
+      sortOrder: 4
+      fieldKey: data_processing_options
+      label: Data Processing Options
+      type: OBJECT
+      description: >-
+        A structure of data processing options to specify the processing type
+        for the event. This is only used for LDU - when the LDU flag is enabled,
+        it may impact campaign performance and limit the size of targetable
+        audiences.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: oXNkokeYffage1QxkDh5HK
+      sortOrder: 5
+      fieldKey: custom_event_name
+      label: Custom Event Name
+      type: STRING
+      description: >-
+        A custom event name that can be passed when tracking_type is set to
+        "Custom". All UTF-8 characters are accepted and custom_event_name must
+        be at most 64 characters long.
+      placeholder: ''
+      required: true
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+  - id: vBBtwiop4u89bdJLovT3p1
+    name: Reddit Pixel
+    slug: reportWebEvent
+    description: >-
+      Send Standard Pixel Events to Reddit. This includes pagevisits,
+      addtocarts, search, etc.
+    platform: WEB
+    hidden: false
+    defaultTrigger: type = "track"
+    fields:
+    - id: ai9oQFzCZF6z33uRUZYGtU
+      sortOrder: 0
+      fieldKey: tracking_type
+      label: Tracking Type
+      type: STRING
+      description: >-
+        One of Reddit Pixel's standard conversion event types. To send a Custom
+        event to Reddit use the Custom Event Action instead.
+      placeholder: ''
+      required: true
+      multiple: false
+      choices:
+      - label: Page Visit
+        value: PageVisit
+      - label: View Content
+        value: ViewContent
+      - label: Search
+        value: Search
+      - label: Add to Cart
+        value: AddToCart
+      - label: Add to Wishlist
+        value: AddToWishlist
+      - label: Purchase
+        value: Purchase
+      - label: Lead
+        value: Lead
+      - label: Sign Up
+        value: SignUp
+      dynamic: false
+      allowNull: false
+    - id: faRNyPJjyZzF6MMgB8BqoJ
+      sortOrder: 1
+      fieldKey: products
+      label: Products
+      type: OBJECT
+      description: The products associated with the conversion event.
+      placeholder: ''
+      defaultValue:
+        '@arrayPath':
+        - $.properties.products
+        - category:
+            '@path': $.category
+          id:
+            '@path': $.product_id
+          name:
+            '@path': $.name
+      required: false
+      multiple: true
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: dciyuNcJXB1apXLxdXTnTf
+      sortOrder: 2
+      fieldKey: user
+      label: User
+      type: OBJECT
+      description: The identifying user parameters associated with the conversion event.
+      placeholder: ''
+      defaultValue:
+        advertising_id:
+          '@path': $.context.device.advertisingId
+        device_type:
+          '@path': $.context.device.type
+        email:
+          '@if':
+            exists:
+              '@path': $.context.traits.email
+            then:
+              '@path': $.context.traits.email
+            else:
+              '@path': $.properties.email
+        externalId:
+          '@if':
+            exists:
+              '@path': $.userId
+            then:
+              '@path': $.userId
+            else:
+              '@path': $.anonymousId
+        phoneNumber:
+          '@if':
+            exists:
+              '@path': $.properties.phone
+            then:
+              '@path': $.properties.phone
+            else:
+              '@path': $.context.traits.phone
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: diUiY6uVaUErutcyZqcMd1
+      sortOrder: 3
+      fieldKey: data_processing_options
+      label: Data Processing Options
+      type: OBJECT
+      description: >-
+        A structure of data processing options to specify the processing type
+        for the event. This is only used for LDU - when the LDU flag is enabled,
+        it may impact campaign performance and limit the size of targetable
+        audiences.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: iT9oMpxu1XqrQFuRgq3eyt
+      sortOrder: 4
+      fieldKey: event_metadata
+      label: Event Metadata
+      type: OBJECT
+      description: The metadata associated with the conversion event.
+      placeholder: ''
+      defaultValue:
+        currency:
+          '@path': $.properties.currency
+        itemCount:
+          '@path': $.properties.quantity
+        value:
+          '@if':
+            exists:
+              '@path': $.properties.revenue
+            then:
+              '@path': $.properties.revenue
+            else:
+              '@path': $.properties.total
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: 5zc2jUCQjQ763Y5ZYYaGj3
+      sortOrder: 5
+      fieldKey: conversion_id
+      label: Conversion ID
+      type: STRING
+      description: >-
+        The unique conversion ID that corresponds to a distinct conversion
+        event. This is used for deduplication. If you are using both Reddit
+        Pixel and CAPI integrations, this field is required in order to dedupe
+        the same events across both sources.
+      placeholder: ''
+      defaultValue:
+        '@path': $.messageId
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+  presets:
+  - actionId: vBBtwiop4u89bdJLovT3p1
+    name: Page Visit
+    fields:
+      products:
+        '@arrayPath':
+        - $.properties.products
+        - category:
+            '@path': $.category
+          id:
+            '@path': $.product_id
+          name:
+            '@path': $.name
+      user:
+        advertising_id:
+          '@path': $.context.device.advertisingId
+        device_type:
+          '@path': $.context.device.type
+        email:
+          '@if':
+            exists:
+              '@path': $.context.traits.email
+            then:
+              '@path': $.context.traits.email
+            else:
+              '@path': $.properties.email
+        externalId:
+          '@if':
+            exists:
+              '@path': $.userId
+            then:
+              '@path': $.userId
+            else:
+              '@path': $.anonymousId
+        phoneNumber:
+          '@if':
+            exists:
+              '@path': $.properties.phone
+            then:
+              '@path': $.properties.phone
+            else:
+              '@path': $.context.traits.phone
+      event_metadata:
+        currency:
+          '@path': $.properties.currency
+        itemCount:
+          '@path': $.properties.quantity
+        value:
+          '@if':
+            exists:
+              '@path': $.properties.revenue
+            then:
+              '@path': $.properties.revenue
+            else:
+              '@path': $.properties.total
+      conversion_id:
+        '@path': $.messageId
+      tracking_type: PageVisit
+    trigger: type = "page"
+  - actionId: vBBtwiop4u89bdJLovT3p1
+    name: View Content
+    fields:
+      products:
+        '@arrayPath':
+        - $.properties.products
+        - category:
+            '@path': $.category
+          id:
+            '@path': $.product_id
+          name:
+            '@path': $.name
+      user:
+        advertising_id:
+          '@path': $.context.device.advertisingId
+        device_type:
+          '@path': $.context.device.type
+        email:
+          '@if':
+            exists:
+              '@path': $.context.traits.email
+            then:
+              '@path': $.context.traits.email
+            else:
+              '@path': $.properties.email
+        externalId:
+          '@if':
+            exists:
+              '@path': $.userId
+            then:
+              '@path': $.userId
+            else:
+              '@path': $.anonymousId
+        phoneNumber:
+          '@if':
+            exists:
+              '@path': $.properties.phone
+            then:
+              '@path': $.properties.phone
+            else:
+              '@path': $.context.traits.phone
+      event_metadata:
+        currency:
+          '@path': $.properties.currency
+        itemCount:
+          '@path': $.properties.quantity
+        value:
+          '@if':
+            exists:
+              '@path': $.properties.revenue
+            then:
+              '@path': $.properties.revenue
+            else:
+              '@path': $.properties.total
+      conversion_id:
+        '@path': $.messageId
+      tracking_type: ViewContent
+    trigger: type = "track" and event = "Product Viewed"
+  - actionId: vBBtwiop4u89bdJLovT3p1
+    name: Lead
+    fields:
+      products:
+        '@arrayPath':
+        - $.properties.products
+        - category:
+            '@path': $.category
+          id:
+            '@path': $.product_id
+          name:
+            '@path': $.name
+      user:
+        advertising_id:
+          '@path': $.context.device.advertisingId
+        device_type:
+          '@path': $.context.device.type
+        email:
+          '@if':
+            exists:
+              '@path': $.context.traits.email
+            then:
+              '@path': $.context.traits.email
+            else:
+              '@path': $.properties.email
+        externalId:
+          '@if':
+            exists:
+              '@path': $.userId
+            then:
+              '@path': $.userId
+            else:
+              '@path': $.anonymousId
+        phoneNumber:
+          '@if':
+            exists:
+              '@path': $.properties.phone
+            then:
+              '@path': $.properties.phone
+            else:
+              '@path': $.context.traits.phone
+      event_metadata:
+        currency:
+          '@path': $.properties.currency
+        value:
+          '@path': $.properties.value
+      conversion_id:
+        '@path': $.messageId
+      tracking_type: Lead
+    trigger: type = "track" and event = "Lead Generated"
+  - actionId: vBBtwiop4u89bdJLovT3p1
+    name: Add to Wishlist
+    fields:
+      products:
+        '@arrayPath':
+        - $.properties.products
+        - category:
+            '@path': $.category
+          id:
+            '@path': $.product_id
+          name:
+            '@path': $.name
+      user:
+        advertising_id:
+          '@path': $.context.device.advertisingId
+        device_type:
+          '@path': $.context.device.type
+        email:
+          '@if':
+            exists:
+              '@path': $.context.traits.email
+            then:
+              '@path': $.context.traits.email
+            else:
+              '@path': $.properties.email
+        externalId:
+          '@if':
+            exists:
+              '@path': $.userId
+            then:
+              '@path': $.userId
+            else:
+              '@path': $.anonymousId
+        phoneNumber:
+          '@if':
+            exists:
+              '@path': $.properties.phone
+            then:
+              '@path': $.properties.phone
+            else:
+              '@path': $.context.traits.phone
+      event_metadata:
+        currency:
+          '@path': $.properties.currency
+        itemCount:
+          '@path': $.properties.quantity
+        value:
+          '@path': $.properties.price
+      conversion_id:
+        '@path': $.messageId
+      tracking_type: AddToWishlist
+    trigger: type = "track" and event = "Product Added to Wishlist"
+  - actionId: vBBtwiop4u89bdJLovT3p1
+    name: Search
+    fields:
+      products:
+        '@arrayPath':
+        - $.properties.products
+        - category:
+            '@path': $.category
+          id:
+            '@path': $.product_id
+          name:
+            '@path': $.name
+      user:
+        advertising_id:
+          '@path': $.context.device.advertisingId
+        device_type:
+          '@path': $.context.device.type
+        email:
+          '@if':
+            exists:
+              '@path': $.context.traits.email
+            then:
+              '@path': $.context.traits.email
+            else:
+              '@path': $.properties.email
+        externalId:
+          '@if':
+            exists:
+              '@path': $.userId
+            then:
+              '@path': $.userId
+            else:
+              '@path': $.anonymousId
+        phoneNumber:
+          '@if':
+            exists:
+              '@path': $.properties.phone
+            then:
+              '@path': $.properties.phone
+            else:
+              '@path': $.context.traits.phone
+      event_metadata:
+        currency:
+          '@path': $.properties.currency
+        itemCount:
+          '@path': $.properties.quantity
+        value:
+          '@if':
+            exists:
+              '@path': $.properties.revenue
+            then:
+              '@path': $.properties.revenue
+            else:
+              '@path': $.properties.total
+      conversion_id:
+        '@path': $.messageId
+      tracking_type: Search
+    trigger: type = "track" and event = "Products Searched"
+  - actionId: vBBtwiop4u89bdJLovT3p1
+    name: Add to Cart
+    fields:
+      products:
+        '@arrayPath':
+        - $.properties.products
+        - category:
+            '@path': $.category
+          id:
+            '@path': $.product_id
+          name:
+            '@path': $.name
+      user:
+        advertising_id:
+          '@path': $.context.device.advertisingId
+        device_type:
+          '@path': $.context.device.type
+        email:
+          '@if':
+            exists:
+              '@path': $.context.traits.email
+            then:
+              '@path': $.context.traits.email
+            else:
+              '@path': $.properties.email
+        externalId:
+          '@if':
+            exists:
+              '@path': $.userId
+            then:
+              '@path': $.userId
+            else:
+              '@path': $.anonymousId
+        phoneNumber:
+          '@if':
+            exists:
+              '@path': $.properties.phone
+            then:
+              '@path': $.properties.phone
+            else:
+              '@path': $.context.traits.phone
+      event_metadata:
+        currency:
+          '@path': $.properties.currency
+        itemCount:
+          '@path': $.properties.quantity
+        value:
+          '@path': $.properties.price
+      conversion_id:
+        '@path': $.messageId
+      tracking_type: AddToCart
+    trigger: type = "track" and event = "Product Added"
+  - actionId: vBBtwiop4u89bdJLovT3p1
+    name: Purchase
+    fields:
+      products:
+        '@arrayPath':
+        - $.properties.products
+        - category:
+            '@path': $.category
+          id:
+            '@path': $.product_id
+          name:
+            '@path': $.name
+      user:
+        advertising_id:
+          '@path': $.context.device.advertisingId
+        device_type:
+          '@path': $.context.device.type
+        email:
+          '@if':
+            exists:
+              '@path': $.context.traits.email
+            then:
+              '@path': $.context.traits.email
+            else:
+              '@path': $.properties.email
+        externalId:
           '@if':
             exists:
               '@path': $.userId
@@ -102059,128 +103416,34 @@ items:
               '@path': $.userId
             else:
               '@path': $.anonymousId
-        ip_address:
-          '@path': $.context.ip
-        user_agent:
-          '@path': $.context.userAgent
-        uuid:
+        phoneNumber:
           '@if':
             exists:
-              '@path': $.integrations.Reddit Conversions Api.uuid
+              '@path': $.properties.phone
             then:
-              '@path': $.integrations.Reddit Conversions Api.uuid
+              '@path': $.properties.phone
             else:
-              '@path': $.properties.uuid
-        phone_number:
-          '@if':
-            exists:
-              '@path': $.context.traits.phone
-            then:
               '@path': $.context.traits.phone
-            else:
-              '@path': $.properties.phone
-      screen_dimensions:
-        height:
-          '@path': $.context.screen.height
-        width:
-          '@path': $.context.screen.width
       event_metadata:
         currency:
           '@path': $.properties.currency
         itemCount:
           '@path': $.properties.quantity
         value:
-          '@path': $.properties.price
-      conversion_id:
-        '@path': $.messageId
-      tracking_type: AddToWishlist
-    trigger: type = "track" and event = "Product Added to Wishlist"
-  - actionId: oKfDyMn39WEUWwEU4puB6Z
-    name: Page Visit
-    fields:
-      event_at:
-        '@path': $.timestamp
-      click_id:
-        '@if':
-          exists:
-            '@path': $.integrations.Reddit Conversions Api.click_id
-          then:
-            '@path': $.integrations.Reddit Conversions Api.click_id
-          else:
-            '@path': $.properties.click_id
-      products:
-        '@arrayPath':
-        - $.properties.products
-        - category:
-            '@path': $.category
-          id:
-            '@path': $.product_id
-          name:
-            '@path': $.name
-      user:
-        advertising_id:
-          '@path': $.context.device.advertisingId
-        device_type:
-          '@path': $.context.device.type
-        email:
-          '@if':
-            exists:
-              '@path': $.context.traits.email
-            then:
-              '@path': $.context.traits.email
-            else:
-              '@path': $.properties.email
-        external_id:
-          '@if':
-            exists:
-              '@path': $.userId
-            then:
-              '@path': $.userId
-            else:
-              '@path': $.anonymousId
-        ip_address:
-          '@path': $.context.ip
-        user_agent:
-          '@path': $.context.userAgent
-        uuid:
-          '@if':
-            exists:
-              '@path': $.integrations.Reddit Conversions Api.uuid
-            then:
-              '@path': $.integrations.Reddit Conversions Api.uuid
-            else:
-              '@path': $.properties.uuid
-        phone_number:
           '@if':
             exists:
-              '@path': $.context.traits.phone
+              '@path': $.properties.revenue
             then:
-              '@path': $.context.traits.phone
+              '@path': $.properties.revenue
             else:
-              '@path': $.properties.phone
-      screen_dimensions:
-        height:
-          '@path': $.context.screen.height
-        width:
-          '@path': $.context.screen.width
-      event_metadata: {}
+              '@path': $.properties.total
       conversion_id:
         '@path': $.messageId
-      tracking_type: PageVisit
-    trigger: type = "page"
-  - actionId: oKfDyMn39WEUWwEU4puB6Z
-    name: Add to Cart
+      tracking_type: Purchase
+    trigger: type = "track" and event = "Order Completed"
+  - actionId: vBBtwiop4u89bdJLovT3p1
+    name: Sign Up
     fields:
-      event_at:
-        '@path': $.timestamp
-      click_id:
-        '@if':
-          exists:
-            '@path': $.integrations.Reddit Conversions Api.click_id
-          then:
-            '@path': $.integrations.Reddit Conversions Api.click_id
-          else:
-            '@path': $.properties.click_id
       products:
         '@arrayPath':
         - $.properties.products
@@ -102203,7 +103466,7 @@ items:
               '@path': $.context.traits.email
             else:
               '@path': $.properties.email
-        external_id:
+        externalId:
           '@if':
             exists:
               '@path': $.userId
@@ -102211,42 +103474,23 @@ items:
               '@path': $.userId
             else:
               '@path': $.anonymousId
-        ip_address:
-          '@path': $.context.ip
-        user_agent:
-          '@path': $.context.userAgent
-        uuid:
+        phoneNumber:
           '@if':
             exists:
-              '@path': $.integrations.Reddit Conversions Api.uuid
+              '@path': $.properties.phone
             then:
-              '@path': $.integrations.Reddit Conversions Api.uuid
+              '@path': $.properties.phone
             else:
-              '@path': $.properties.uuid
-        phone_number:
-          '@if':
-            exists:
-              '@path': $.context.traits.phone
-            then:
               '@path': $.context.traits.phone
-            else:
-              '@path': $.properties.phone
-      screen_dimensions:
-        height:
-          '@path': $.context.screen.height
-        width:
-          '@path': $.context.screen.width
       event_metadata:
         currency:
           '@path': $.properties.currency
-        itemCount:
-          '@path': $.properties.quantity
         value:
-          '@path': $.properties.price
+          '@path': $.properties.value
       conversion_id:
         '@path': $.messageId
-      tracking_type: AddToCart
-    trigger: type = "track" and event = "Product Added"
+      tracking_type: SignUp
+    trigger: type = "track" and event = "Signed Up"
   partnerOwned: true
 - id: 5cacbf88fa2aed000104edcc
   display_name: Refersion
@@ -113687,7 +114931,7 @@ items:
     browser: true
     mobile: false
     server: true
-    warehouse: false
+    warehouse: true
     cloudAppObject: false
     linkedAudiences: true
   components: []
@@ -113751,7 +114995,7 @@ items:
       type = "track" or type = "screen" or type = "identify" or type = "page" or
       type = "group" or type = "alias"
     fields:
-    - id: a5ZvQfU1YXkA8MfLaf3sfP
+    - id: uFdNMu4c1FZ7QvhrX2UwYk
       sortOrder: 0
       fieldKey: messageid
       label: Message ID
@@ -113765,7 +115009,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 3BVWwK4SMjpRnUHYUouz69
+    - id: qv8ep2ZWmCn5ASxMF95r5q
       sortOrder: 1
       fieldKey: timestamp
       label: Timestamp
@@ -113779,7 +115023,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: mQgrdtbnzK5sNMSCUuLygR
+    - id: gARMypQ6fRbwnnGbMo7q5B
       sortOrder: 2
       fieldKey: type
       label: Type
@@ -113807,7 +115051,7 @@ items:
         value: alias
       dynamic: false
       allowNull: false
-    - id: 7mFY291pmMxDqmWNKyLLkq
+    - id: oc4peBrKxsaw2edsazbJyv
       sortOrder: 3
       fieldKey: event
       label: Event
@@ -113821,7 +115065,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ddEXdVCGrKwcLemnCkFPfM
+    - id: uU6mqg66kHwXQEgdzfeNaj
       sortOrder: 4
       fieldKey: name
       label: Name
@@ -113835,7 +115079,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 4wukbEG4un3GRUgFtxbvBt
+    - id: 4CGR4GiYgBasPUCn7x2PAt
       sortOrder: 5
       fieldKey: properties
       label: Properties
@@ -113849,7 +115093,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: uwD7zYDRH6YVP6G26Q78Jf
+    - id: mXjcaPpw27APLi5ZXMJ1hY
       sortOrder: 6
       fieldKey: userId
       label: User ID
@@ -113863,7 +115107,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: q6GPT1YEM3kUgJdHiztGBX
+    - id: aGbTkSehVquNZtR4yupyCr
       sortOrder: 7
       fieldKey: anonymousId
       label: Anonymous ID
@@ -113877,7 +115121,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: MkEAKUcUMTejRHc8dYMDK
+    - id: sCde1yZDDXbVRFNvupx3K2
       sortOrder: 8
       fieldKey: groupId
       label: Group ID
@@ -113891,7 +115135,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: bBSrBLYBuEWKU9fQfEeSPR
+    - id: uTcyMLdSKvQS2oTySqUjKJ
       sortOrder: 9
       fieldKey: traits
       label: Traits
@@ -113911,7 +115155,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: i2gP8GAgYK4yqETJhs53Lb
+    - id: wqBUu6qhyzjCvq6ZtajvBB
       sortOrder: 10
       fieldKey: context
       label: Context
@@ -113925,7 +115169,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: nndrTZhnnrQPm4YSZjbkTw
+    - id: rZxfc9eLfCWwgxNCQAfnMx
       sortOrder: 11
       fieldKey: max_batch_size
       label: Max Batch Size
@@ -119605,7 +120849,7 @@ items:
     hidden: false
     defaultTrigger: type = "track"
     fields:
-    - id: a7snxwYd8PTo1773tNESuG
+    - id: wDULRmh3dfsyn6MvYFA6Kv
       sortOrder: 3
       fieldKey: user_email
       label: Email address
@@ -119626,7 +120870,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: dEZShqyhG6fT2tDNe7cGY8
+    - id: mkR6JSGrZXG2Krj1qCrqrz
       sortOrder: 5
       fieldKey: enable_batching
       label: Batch events
@@ -119641,7 +120885,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: fJQQjeJkcQKU7WzDDHT88K
+    - id: pFY9Jo15GfxVC2NVjnMWWM
       sortOrder: 6
       fieldKey: device_id
       label: Mobile Device ID
@@ -129996,7 +131240,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event = "Order Completed"
     fields:
-    - id: wXRDxgsSpngoRbsZUc1U9C
+    - id: 9Mip7RXK19Na9ThBW8fVMx
       sortOrder: 0
       fieldKey: id
       label: Event ID
@@ -130012,7 +131256,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: d7cUAxLpX82z2q9ttM6RVY
+    - id: 6dT8g3W5tZsZPjcBkfooXf
       sortOrder: 1
       fieldKey: occurredAt
       label: Occurred At
@@ -130026,7 +131270,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: jkJNT1hTDXYNZDUQb99PxC
+    - id: aSRSpnEgdk9RfA5Wp6agWz
       sortOrder: 2
       fieldKey: opaqueUserId
       label: Opaque User ID
@@ -130042,7 +131286,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5sAJdxVfDmaZBKPaTFQE11
+    - id: h7xm3WFmRe9Lc5kwf4jdjc
       sortOrder: 3
       fieldKey: items
       label: Items
@@ -130058,6 +131302,14 @@ items:
             '@path': $.price
           quantity:
             '@path': $.quantity
+          vendorId:
+            '@if':
+              exists:
+                '@path': $.vendorId
+              then:
+                '@path': $.vendorId
+              else:
+                '@path': $.brand
       required: true
       multiple: true
       choices: null
@@ -130071,7 +131323,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event = "Product Clicked"
     fields:
-    - id: gJFfrX8rnksHyzQ4PvBKdt
+    - id: sZMs8z8aZBKiKPqyLqBH7U
       sortOrder: 0
       fieldKey: id
       label: Event ID
@@ -130087,7 +131339,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 9N6tPSHCSjULZBgtCBYkD8
+    - id: bZk3VFRfjeu8CyjZTV7bnW
       sortOrder: 1
       fieldKey: occurredAt
       label: Occurred At
@@ -130101,7 +131353,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5xLcFbddhBmsuyszbbGNcn
+    - id: irgTfafpV9pWEBGzPaV8s9
       sortOrder: 2
       fieldKey: opaqueUserId
       label: Opaque User ID
@@ -130117,7 +131369,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: o1Xyj8d3EHbpt4yZxcgFG7
+    - id: uJXo7pnnSYvzDMSGbgLJAM
       sortOrder: 3
       fieldKey: resolvedBidId
       label: Resolved Bid ID
@@ -130133,7 +131385,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: eNf44PRkt9BM7GSGKYmp55
+    - id: uexA8viyACctUNLV1QWxW5
       sortOrder: 4
       fieldKey: additionalAttribution
       label: Additional Attribution
@@ -130155,7 +131407,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event = "Product Viewed"
     fields:
-    - id: kpqSwQjLLPaaBaeRx7MJK8
+    - id: 48ZRK4fsba1yWWkU4a8Zzv
       sortOrder: 0
       fieldKey: id
       label: Event ID
@@ -130171,7 +131423,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: oFBkX1SXpNkeEoxJZq63ER
+    - id: bsG4sbuRKbYys1z69SAR9w
       sortOrder: 1
       fieldKey: occurredAt
       label: Occurred At
@@ -130185,7 +131437,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: pepFfPW83tDujBk8Y9v5RU
+    - id: aYDDEk9htRnP1gzK3AGHi8
       sortOrder: 2
       fieldKey: opaqueUserId
       label: Opaque User ID
@@ -130201,7 +131453,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ebxBbypcT3vXTSLnyUz8QW
+    - id: id8Ty6Ry4WMhGsMaLMjAt4
       sortOrder: 3
       fieldKey: resolvedBidId
       label: Resolved Bid ID
@@ -130217,7 +131469,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: gmN881Z6cv2EN3muvqvYgL
+    - id: fnfKhgEywRhVBP54BxBaPj
       sortOrder: 4
       fieldKey: additionalAttribution
       label: Additional Attribution
@@ -130231,9 +131483,84 @@ items:
       choices: null
       dynamic: false
       allowNull: false
+  - id: qUNeYJwVLKViryniyx8Pb8
+    name: ImpressionsList
+    slug: impressionsList
+    description: >-
+      Send impression events to Topsort when a consumer has viewed a list of
+      promotables.
+    platform: CLOUD
+    hidden: false
+    defaultTrigger: type = "track" and event = "Product List Viewed"
+    fields:
+    - id: tMfVUhNWNZ7zag1EDf7af8
+      sortOrder: 0
+      fieldKey: id
+      label: Event ID
+      type: STRING
+      description: >-
+        Unique ID generated by the client to suppress duplicate events. The
+        length should not exceed 128 characters.
+      placeholder: ''
+      defaultValue:
+        '@path': $.messageId
+      required: true
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: iAN1vvGMHYaF6NmRCCKDZ3
+      sortOrder: 1
+      fieldKey: occurredAt
+      label: Occurred At
+      type: DATETIME
+      description: Timestamp that the event happened at.
+      placeholder: ''
+      defaultValue:
+        '@path': $.timestamp
+      required: true
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: mNFzKRLzCX3GtxvUV9E4qL
+      sortOrder: 2
+      fieldKey: opaqueUserId
+      label: Opaque User ID
+      type: STRING
+      description: >-
+        Identifier for tracking users regardless of sign-in status. The length
+        should not exceed 128 characters.
+      placeholder: ''
+      defaultValue:
+        '@path': $.anonymousId
+      required: true
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: dyNpukrBLg9yGFn4hbXigH
+      sortOrder: 3
+      fieldKey: products
+      label: Products
+      type: OBJECT
+      description: The list of products viewed. Each product is a promotable entity.
+      placeholder: ''
+      defaultValue:
+        '@arrayPath':
+        - $.properties.products
+        - resolvedBidId:
+            '@path': resolvedBidId
+          additionalAttribution:
+            '@path': additionalAttribution
+      required: true
+      multiple: true
+      choices: null
+      dynamic: false
+      allowNull: false
   presets:
-  - actionId: 6hi4YVo8BFtB3xqeESgvPK
-    name: Purchase
+  - actionId: qUNeYJwVLKViryniyx8Pb8
+    name: Impressions List
     fields:
       id:
         '@path': $.messageId
@@ -130241,18 +131568,16 @@ items:
         '@path': $.timestamp
       opaqueUserId:
         '@path': $.anonymousId
-      items:
+      products:
         '@arrayPath':
         - $.properties.products
-        - productId:
-            '@path': $.product_id
-          unitPrice:
-            '@path': $.price
-          quantity:
-            '@path': $.quantity
-    trigger: type = "track" and event = "Order Completed"
-  - actionId: bB6C4ayDhAhkCaRq83iJVw
-    name: Click
+        - resolvedBidId:
+            '@path': resolvedBidId
+          additionalAttribution:
+            '@path': additionalAttribution
+    trigger: type = "track" and event = "Product List Viewed"
+  - actionId: haYWUuXp1KDvb8u6uLj9h4
+    name: Banner Impression
     fields:
       id:
         '@path': $.messageId
@@ -130264,9 +131589,9 @@ items:
         '@path': $.properties.resolvedBidId
       additionalAttribution:
         '@path': $.properties.additionalAttribution
-    trigger: type = "track" and event = "Product Clicked"
-  - actionId: bB6C4ayDhAhkCaRq83iJVw
-    name: Banner Click
+    trigger: type = "track" and event = "Banner Impression"
+  - actionId: haYWUuXp1KDvb8u6uLj9h4
+    name: Impression
     fields:
       id:
         '@path': $.messageId
@@ -130278,9 +131603,9 @@ items:
         '@path': $.properties.resolvedBidId
       additionalAttribution:
         '@path': $.properties.additionalAttribution
-    trigger: type = "track" and event = "Banner Click"
-  - actionId: haYWUuXp1KDvb8u6uLj9h4
-    name: Impression
+    trigger: type = "track" and event = "Product Viewed"
+  - actionId: bB6C4ayDhAhkCaRq83iJVw
+    name: Banner Click
     fields:
       id:
         '@path': $.messageId
@@ -130292,9 +131617,9 @@ items:
         '@path': $.properties.resolvedBidId
       additionalAttribution:
         '@path': $.properties.additionalAttribution
-    trigger: type = "track" and event = "Product Viewed"
-  - actionId: haYWUuXp1KDvb8u6uLj9h4
-    name: Banner Impression
+    trigger: type = "track" and event = "Banner Click"
+  - actionId: bB6C4ayDhAhkCaRq83iJVw
+    name: Click
     fields:
       id:
         '@path': $.messageId
@@ -130306,7 +131631,34 @@ items:
         '@path': $.properties.resolvedBidId
       additionalAttribution:
         '@path': $.properties.additionalAttribution
-    trigger: type = "track" and event = "Banner Impression"
+    trigger: type = "track" and event = "Product Clicked"
+  - actionId: 6hi4YVo8BFtB3xqeESgvPK
+    name: Purchase
+    fields:
+      id:
+        '@path': $.messageId
+      occurredAt:
+        '@path': $.timestamp
+      opaqueUserId:
+        '@path': $.anonymousId
+      items:
+        '@arrayPath':
+        - $.properties.products
+        - productId:
+            '@path': $.product_id
+          unitPrice:
+            '@path': $.price
+          quantity:
+            '@path': $.quantity
+          vendorId:
+            '@if':
+              exists:
+                '@path': $.vendorId
+              then:
+                '@path': $.vendorId
+              else:
+                '@path': $.brand
+    trigger: type = "track" and event = "Order Completed"
   partnerOwned: true
 - id: 54521fdb25e721e32a72eefa
   display_name: Totango
diff --git a/src/_data/catalog/destinations_private.yml b/src/_data/catalog/destinations_private.yml
index 4818d3c271..fc0e726a1c 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 2025-07-17 
+# destination data last updated 2025-07-24 
 items:
   - id: 54521fd925e721e32a72eee1
     display_name: Pardot
diff --git a/src/_data/catalog/source_categories.yml b/src/_data/catalog/source_categories.yml
index d635bb5a91..e7208eb76a 100644
--- a/src/_data/catalog/source_categories.yml
+++ b/src/_data/catalog/source_categories.yml
@@ -1,5 +1,5 @@
 # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
-# source categories last updated 2025-07-17 
+# source categories last updated 2025-07-24 
 items:
   - display_name: A/B testing
     slug: a-b-testing
diff --git a/src/_data/catalog/sources.yml b/src/_data/catalog/sources.yml
index e4d245ce78..5dc4192ba2 100644
--- a/src/_data/catalog/sources.yml
+++ b/src/_data/catalog/sources.yml
@@ -1,5 +1,5 @@
 # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
-# sources last updated 2025-07-17 
+# sources last updated 2025-07-24 
 items:
   - id: 8HWbgPTt3k
     display_name: .NET

From d47662fab82af04a85938054a02c0b5d3dc5cfea Mon Sep 17 00:00:00 2001
From: pwseg <86626706+pwseg@users.noreply.github.com>
Date: Thu, 24 Jul 2025 12:47:55 -0500
Subject: [PATCH 134/188] Update src/segment-app/extensions/dbt.md

Co-authored-by: Sharon Adewusi <sadewusi@twilio.com>
---
 src/segment-app/extensions/dbt.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/segment-app/extensions/dbt.md b/src/segment-app/extensions/dbt.md
index 21d221396d..b1597ed6f3 100644
--- a/src/segment-app/extensions/dbt.md
+++ b/src/segment-app/extensions/dbt.md
@@ -35,7 +35,7 @@ To set up the dbt extension, you'll need:
 To connect Segment to your dbt models, you’ll first need to configure a Git connection. This allows Segment to pull dbt models directly from your repository.
 
 1. In your Segment workspace, navigate to **Settings > Extensions**.
-2. Click either **Set up dbt model syncs**.
+2. Click either **Set up dbt model syncs** or **Set up integration**.
 3. On the **Configure service credentials** page, select a credential and protocol, add your key or token, then click **Next**.
 4. In the **Connect source** window, select an existing Reverse ETL warehouse source from the dropdown, then click **Save**.
 

From 91a54b90b5efca23df82304eee1365678e4aab96 Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Thu, 24 Jul 2025 19:36:03 +0100
Subject: [PATCH 135/188] Reverting suggestion

---
 src/segment-app/extensions/dbt.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/segment-app/extensions/dbt.md b/src/segment-app/extensions/dbt.md
index b1597ed6f3..21d221396d 100644
--- a/src/segment-app/extensions/dbt.md
+++ b/src/segment-app/extensions/dbt.md
@@ -35,7 +35,7 @@ To set up the dbt extension, you'll need:
 To connect Segment to your dbt models, you’ll first need to configure a Git connection. This allows Segment to pull dbt models directly from your repository.
 
 1. In your Segment workspace, navigate to **Settings > Extensions**.
-2. Click either **Set up dbt model syncs** or **Set up integration**.
+2. Click either **Set up dbt model syncs**.
 3. On the **Configure service credentials** page, select a credential and protocol, add your key or token, then click **Next**.
 4. In the **Connect source** window, select an existing Reverse ETL warehouse source from the dropdown, then click **Save**.
 

From 3b3c17bde1f3e59f877f290bc8bd5e55e0eb08ea Mon Sep 17 00:00:00 2001
From: pwseg <paul.wooley@segment.com>
Date: Thu, 24 Jul 2025 13:39:50 -0500
Subject: [PATCH 136/188] update instructions

---
 src/segment-app/extensions/dbt.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/segment-app/extensions/dbt.md b/src/segment-app/extensions/dbt.md
index 21d221396d..852fbda133 100644
--- a/src/segment-app/extensions/dbt.md
+++ b/src/segment-app/extensions/dbt.md
@@ -35,7 +35,7 @@ To set up the dbt extension, you'll need:
 To connect Segment to your dbt models, you’ll first need to configure a Git connection. This allows Segment to pull dbt models directly from your repository.
 
 1. In your Segment workspace, navigate to **Settings > Extensions**.
-2. Click either **Set up dbt model syncs**.
+2. Click either **Set up dbt model syncs** or **Set up integration**
 3. On the **Configure service credentials** page, select a credential and protocol, add your key or token, then click **Next**.
 4. In the **Connect source** window, select an existing Reverse ETL warehouse source from the dropdown, then click **Save**.
 

From 0afa741d25cd682a2db0df5ccb158d2965374101 Mon Sep 17 00:00:00 2001
From: stayseesong <83784848+stayseesong@users.noreply.github.com>
Date: Thu, 24 Jul 2025 12:37:41 -0700
Subject: [PATCH 137/188] Apply suggestions from code review

---
 src/engage/audiences/linked-audiences-limits.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/engage/audiences/linked-audiences-limits.md b/src/engage/audiences/linked-audiences-limits.md
index e984b60b77..11e4f1987b 100644
--- a/src/engage/audiences/linked-audiences-limits.md
+++ b/src/engage/audiences/linked-audiences-limits.md
@@ -29,7 +29,7 @@ If you have a non-standard or high volume usage plan, you have unique Linked Aud
 
 Name | Limit | Details 
 ---- | ----- | --------
-RETL row limit | 150 million | The audience compute fails if the total output exceeds the limit. This limit is approximately the sum of the total linked audience profile membership count and the total number of entity relationships for the profiles in the audience.
+RETL row limit | 150 million | The audience compute fails if the total output exceeds the limit. This limit is the sum of the total linked audience profile membership count and the total number of entity relationships for the profiles in the audience.
 RETL column limit | 500 columns | The audience compute fails if the number of columns exceeds the limit. 
 Global concurrent audience runs | 5 total within any given space | New audience runs are queued once the limit is reached and will start execution once prior audience runs complete. If you need a higher global concurrent audience runs limit, contact [friends@segment.com](mailto:friends@segment.com){:target="_blank"}.
 Event Size | 32 KB | Segment doesn’t emit messages for profiles whose total related entities and enrichments exceed the limit.
@@ -56,4 +56,4 @@ To improve performance and manage compute costs, follow these best practices:
 - Run on a dedicated warehouse cluster if you're operating at enterprise scale.
 - Stagger audience sync schedules to reduce concurrency and avoid bottlenecks.
 
-Following this guidance will help you keep audience syncs running efficiently even as your scale grows.
+Following these guidances help you keep audience syncs running efficiently even as your scale grows.

From c8ed8fddc087574652086d1fc0c36e86f510b198 Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Fri, 25 Jul 2025 12:10:53 +0100
Subject: [PATCH 138/188] Source Insert Functions faqs updated

---
 src/connections/functions/source-insert-functions.md | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/connections/functions/source-insert-functions.md b/src/connections/functions/source-insert-functions.md
index e95a942626..923daabe7c 100644
--- a/src/connections/functions/source-insert-functions.md
+++ b/src/connections/functions/source-insert-functions.md
@@ -88,12 +88,16 @@ The errors listed are all permanent errors, except `RetryError`. When a `RetryEr
 
 ##### Why does the Delivery Overview tab not display any errors that occur within the source insert function?
 
-Errors in the Delivery Overview tab are not yet visible and is a work in progress. 
+Errors in the Delivery Overview tab are not yet visible and is a work in progress.
 
 ##### Can I test the function with different event types?
 
 You can test the function with different event types from the **Test** tab in the code editor, similar to other functions.
 
+##### Can I replay events that were dropped because of errors?
+
+Segment doesn't allow you to replay events, regardless of the error status. 
+
 ##### Can I use source insert functions for all types of sources?
 
 Source insert functions only work for event sources, not object sources or rETL.
@@ -117,5 +121,6 @@ Segment supports Node.js V18 and installs the dependencies listed [here](https:/
 - `snowflake-sdk` exposed as `snowflakesdk.snowflakesdk`  
 - `@clickhouse/client` exposed as `clickHouseClient.clickHouseClient`  
 - `aws4` exposed as `aws4.aws4`  
-- `@sentry/node` exposed as `sentrylib.sentry` 
+- `@sentry/node` exposed as `sentrylib.sentry`
+
 

From be739562a3061ea97eda5dd02ca765b829d25600 Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Fri, 25 Jul 2025 10:00:42 -0400
Subject: [PATCH 139/188] Fix code snippet

---
 src/protocols/apis-and-extensions/anomaly_detection.md | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/protocols/apis-and-extensions/anomaly_detection.md b/src/protocols/apis-and-extensions/anomaly_detection.md
index 7432e335fc..f7064f1f42 100644
--- a/src/protocols/apis-and-extensions/anomaly_detection.md
+++ b/src/protocols/apis-and-extensions/anomaly_detection.md
@@ -87,9 +87,9 @@ total_violations as (
     group by  event_sent_at::date
 )
 
-      select  v.date,
-              t.total_event_count "Total Violation Count",
-              nvl(v.violation_count, 0) "Total Event Count",
+      select  t.date,
+              t.total_event_count "Total Event Count",
+              nvl(v.violation_count, 0) "Total Violation Count",
               nvl(v.violation_count, 0)::float/t.total_event_count::float as "Violations Per Event"
         from  total_track_event_volume t
    left join  total_violations v

From 61bab2e3c079c6dad2aa0a1e10fabdf1f9b1ea14 Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Fri, 25 Jul 2025 10:30:52 -0400
Subject: [PATCH 140/188] fixed it

---
 src/_sass/components/_back-scrolling.scss | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/_sass/components/_back-scrolling.scss b/src/_sass/components/_back-scrolling.scss
index 9d2ffcbc7c..ec840e4b54 100644
--- a/src/_sass/components/_back-scrolling.scss
+++ b/src/_sass/components/_back-scrolling.scss
@@ -2,7 +2,7 @@
   position: fixed;
   z-index: 1;
   bottom: 20px;
-  right: 20px;
+  left: 20px;
   display: flex;
   justify-content: center;
   align-items: center;

From 7145282e9ab5ec114dbff13c92bd2064635fefcb Mon Sep 17 00:00:00 2001
From: stayseesong <STACY.S.SONG@GMAIL.COM>
Date: Fri, 25 Jul 2025 10:15:57 -0700
Subject: [PATCH 141/188] code format fix

---
 src/connections/destinations/actions.md | 40 +++++++++++++++----------
 1 file changed, 25 insertions(+), 15 deletions(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index f8ef42a32b..207bcc18f7 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -339,14 +339,19 @@ Below are two examples demonstrating how to use Liquid templates in Segment mapp
 ##### Example 1: Standardize email addresses
 This example converts an email address to lowercase and removes extra whitespace, ensuring consistency for a destination.
 
-```json
-{% if event.properties.email %}
-  {{ event.properties.email | downcase | strip }}
-{% else %}
-  {{ event.properties.email | default: "unknown@example.com" }}
-{% endif %}
+
+```
+  {% raw %}
+  {% if event.properties.email %}
+    {{ event.properties.email | downcase | strip }}
+  {% else %}
+    {{ event.properties.email | default: "unknown@example.com" }}
+  {% endif %}
+  {% endraw %}
 ```
+
 Input: `event.properties.email` = "user@example.com"
+
 Output: user@example.com
 
 Explanation:
@@ -358,18 +363,23 @@ Explanation:
 ##### Example 2: Transform phone number with conditional logic
 This example formats a phone number by removing non-digit characters, adding a country code, and prepending a plus sign.
 
-```json
-{% if event.properties.phone %}
-  {% assign phone = event.properties.phone | strip | remove: "-" | remove: "(" | remove: ")" | remove: " " %}
-  {% if phone | slice: 0, 1 != "1" %}
-    {% assign phone = phone | prepend: "1" %}
+
+```
+  {% raw %}
+  {% if event.properties.phone %}
+    {% assign phone = event.properties.phone | strip | remove: "-" | remove: "(" | remove: ")" | remove: " " %}
+    {% if phone | slice: 0, 1 != "1" %}
+      {% assign phone = phone | prepend: "1" %}
+    {% endif %}
+    {{ phone | prepend: "+" }}
+  {% else %}
+    {{ event.properties.phone | default: "" }}
   {% endif %}
-  {{ phone | prepend: "+" }}
-{% else %}
-  {{ event.properties.phone | default: "" }}
-{% endif %}
+  {% endraw %}
 ```
+
 Input: `event.properties.phone` = "(123) 456-7890"
+
 Output: +11234567890
 
 Explanation:

From f3b699eddb42f5c30801e98461abae68336103cc Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Fri, 25 Jul 2025 14:26:31 -0400
Subject: [PATCH 142/188] fix: duplicate partner owned notes

---
 src/_includes/content/cloud-app-note.md       | 21 ++++---------------
 .../content/destination-dossier.html          | 15 ++-----------
 2 files changed, 6 insertions(+), 30 deletions(-)

diff --git a/src/_includes/content/cloud-app-note.md b/src/_includes/content/cloud-app-note.md
index dd7d09faba..8a32a7983f 100644
--- a/src/_includes/content/cloud-app-note.md
+++ b/src/_includes/content/cloud-app-note.md
@@ -9,13 +9,8 @@
     <ul class="qi">
       <li><p markdown=1>The {{ page.title }} is an **Event Cloud** source. This means that it sends data as events, which are behaviors or occurrences tied to a user and a point in time. Data from these sources can be loaded into your Segment warehouses, and **also** sent to  Segment streaming destinations. [Learn more about cloud sources.](/docs/connections/sources/#cloud-apps)</p></li>
       {% if currentIntegration.status == "PUBLIC_BETA" %}<li>This source is in <span class="release-pill">Beta</span></li>{%endif%}
-    </ul>
-    {% if currentIntegration.partnerOwned %}
-    <h6>Partner Owned</h6>
-    <ul class="qi">
-      <li>This integration is partner owned. Please reach out to the partner's support for any issues.</li>
-    </ul>
-    {% endif %}
+      {% if currentIntegration.partnerOwned %}<li>This integration is partner owned. Please reach out to the partner's support for any issues.</li>{% endif %}
+    </ul> 
   </div>
 </div>
 
@@ -26,10 +21,7 @@
     <ul class="qi">
       <li><p markdown=1>The {{ page.title }} is a Segment [Public API](/docs/api/public-api/){:target="_blank"} integration. It facilitates privacy requests using Segment’s API, including erasure and tracking opt-out for Segment users.</p></li>
       {% if currentIntegration.status == "PUBLIC_BETA" %}<li>This source is in <span class="release-pill">Beta</span></li>{% endif %}
-    </ul>
-    <h6>Partner Owned</h6>
-    <ul class="qi">
-      <li>This integration is partner owned. Please reach out to the partner's support for any issues.</li>
+      {% if currentIntegration.partnerOwned %}<li>This integration is partner owned. Please reach out to the partner's support for any issues.</li>{% endif %}
     </ul>
   </div>
 </div>
@@ -41,13 +33,8 @@
     <ul class="qi">
       <li><p markdown=1>The {{ page.title }} is an **Object Cloud** source. This means that it sends information (traits) about a thing that exists and persists over time, such as a person or company, and which can be updated over time. Data from this source can only be exported directly to a warehouse, but it can then be used for further analysis. [Learn more about cloud sources.](/docs/connections/sources/#cloud-apps)</p></li>
       {% if currentIntegration.status == "PUBLIC_BETA" %}<li>This source is in <span class="release-pill">Beta</span></li>{%endif%}
+      {% if currentIntegration.partnerOwned %}<li>This integration is partner owned. Please reach out to the partner's support for any issues.</li>{% endif %}
     </ul>
-    {% if currentIntegration.partnerOwned %}
-    <h6>Partner Owned</h6>
-    <ul class="qi">
-      <li>This integration is partner owned. Please reach out to the partner's support for any issues.</li>
-    </ul>
-    {% endif %}
   </div>
 </div>
 {% endif %}
diff --git a/src/_includes/content/destination-dossier.html b/src/_includes/content/destination-dossier.html
index e312be91fd..165ccb0cd0 100644
--- a/src/_includes/content/destination-dossier.html
+++ b/src/_includes/content/destination-dossier.html
@@ -59,9 +59,9 @@ <h6>Destination Info</h6>
       <li>This destination is not compatible with <a href="/docs/connections/functions/insert-functions/">Destination Insert Functions.</a></li>
       {% endunless %}    
     {% endif %}
-  {% if destinationInfo.partnerOwned == true %}
+  {% unless page.id == '66b1f528d26440823fb27af9' %}{% if destinationInfo.partnerOwned == true %}
     <li>This integration is <strong>partner owned</strong>. Please reach out to the partner's support for any issues.</li>
-    {% endif %}
+    {% endif %}{% endunless %}
   {% if thisDestination == '64c031541451bb784943f809' or thisDestination == '63e42d44b0a59908dc4cacc6' or thisDestination == '642440d46b66b3eeac42b581' %} <li>This destination is <b>not</b> supported in EU workspaces. For more information, see the <a href="/docs/guides/regional-segment/">Regional Segment</a> documentation.</li> {% endif %}
   {% if destinationInfo.status == "PUBLIC_BETA" %}<li>This destination is in <span class="release-pill">Beta</span></li>{% endif %}
   {% if page.engage == true %}<li>This destination is <b>only</b> compatible with <a href="/docs/engage">Twilio Engage</a>.</li>{% endif %}
@@ -108,17 +108,6 @@ <h6>Connection Modes <a href="/docs/connections/destinations/#connection-modes">
 </div>
 {% endunless %}
 {% endif %}
-
-{% unless page.id == '66b1f528d26440823fb27af9' %}
-{% if destinationInfo.partnerOwned == true %}
-<div>
-  <h6>Partner Owned</h6>
-  <ul class="qi">
-    <li>This integration is partner owned. Please reach out to the partner's support for any issues.</li>
-  </ul>
-</div>
-{% endif %}
-{% endunless %}
 </div>
 
 {% endif %}
\ No newline at end of file

From 8e085dd928bb92fc536a82d2e14d422bdab3026e Mon Sep 17 00:00:00 2001
From: Varadarajan V <109586712+varadarajan-tw@users.noreply.github.com>
Date: Mon, 28 Jul 2025 10:59:32 +0530
Subject: [PATCH 143/188] Facebook Custom Audiences update

---
 .../index.md                                  | 40 ++++++++++++++++---
 1 file changed, 34 insertions(+), 6 deletions(-)

diff --git a/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md b/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md
index 5fbf9c529f..0a47ba69e1 100644
--- a/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md
+++ b/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md
@@ -16,22 +16,23 @@ hide_action:
 
 Deliver effective Facebook Ads campaigns by defining and syncing [custom audiences](https://developers.facebook.com/docs/marketing-api/audiences/guides/custom-audiences){:target="_blank”} to power ad suppression, acquisition (using lookalikes), retargeting, and more.
 
-This destination sends audiences, or lists of users, from your data warehouse to Facebook Custom Audiences using Reverse ETL. Syncs can add or remove users from your Facebook Custom Audiences as records are created, updated, or deleted in your warehouse. 
-
-> info "This destination only supports Reverse ETL sources"
-> This destination only supports [Reverse ETL sources](/docs/connections/reverse-etl/#what-warehouse-data-sources-does-segment-support). To connect Facebook Custom Audiences to Twilio Engage, use the [Facebook Custom Audiences](/docs/connections/destinations/catalog/personas-facebook-custom-audiences/) destination. 
+This destination sends audiences, or lists of users, to Facebook Custom Audiences. You can connect this destination to Reverse ETL sources to sync data from your warehouse, or to Engage Audiences to sync computed audiences.
 
 ## Getting started
 
 ### Prerequisites
-- A Reverse ETL source already set up. If you don't yet have a Reverse ETL source, follow the instructions in Segment's [Reverse ETL documentation](/docs/connections/reverse-etl/#getting-started). Segment recommends setting an [External ID](#sync-audience) as the primary key for your Reverse ETL model, as you'll need an External ID to remove users from your custom audiences. 
+
+- A source already set up:
+  - For Reverse ETL: If you don't yet have a Reverse ETL source, follow the instructions in Segment's [Reverse ETL documentation](/docs/connections/reverse-etl/#getting-started). Segment recommends setting an [External ID](#sync-audience) as the primary key for your Reverse ETL model, as you'll need an External ID to remove users from your custom audiences.
+  - For Engage Audiences: An [Engage Audience](/docs/engage/audiences/) configured which you can connect to this destination. 
 - A Facebook account with [ads_management](https://developers.facebook.com/docs/permissions#ads_management){:target="_blank”} permissions for the target Facebook Ad Account(s). The Facebook Ad Account(s) must also be associated with a [Facebook Business Account](https://www.facebook.com/business/help/407323696966570?id=649869995454285){:target="_blank”}.
 - Ensure that the user connecting to the destination using OAuth has at least an *Advertiser* or *Admin* role on the ad account. To manage permissions and roles for an ad account, reference [Facebook's documentation](https://www.facebook.com/business/help/186007118118684?id=829106167281625){:target="_blank"}.
 
 ### Connect to Facebook Custom Audiences
+
 1. From your Segment app, navigate to **Catalog > Destinations** and search for "Facebook Custom Audiences (Actions)". 
 2. Select the Facebook Custom Audiences (Actions) destination and click **Add destination**. 
-3. Select the Reverse ETL source you'd like to connect to your Facebook Custom Audiences (Actions) Destination and click **Next**. 
+3. Select the source you'd like to connect to your Facebook Custom Audiences (Actions) Destination and click **Next**. 
 4. Enter a name for your destination and click **Create destination**. 
 5. Navigate to your destination's settings page and click **Connect to...** to authenticate with Facebook.
 6. Return to the Segment app and enter your Advertiser Account ID. See Facebook's [Find your Facebook ad account ID number](https://www.facebook.com/business/help/1492627900875762){:target="_blank”} documentation for more information.
@@ -123,6 +124,33 @@ Segment automatically hashes any of the following fields that are not already SH
 * Gender
 
 
+## Additional Traits Matching
+
+> info ""
+> This feature is in Public Preview and usage is subject to the terms contained in the [First Access and Beta Preview Terms](https://segment.com/legal/first-access-beta-preview/){:target="_blank"}. For access, contact your CSM or email Segment at [friends@segment.com](mailto:friends@segment.com).
+
+Previously, Segment only sent email and mobile IDs to Facebook. A new beta feature can send an expanded list of identifiers or traits to Facebook, so that Facebook can try to use these additional data points to match to their user profiles. If you have this feature enabled and implemented any of these traits in your Segment tracking, the Facebook Custom Audiences (Actions) can send this data to Facebook. Segment can now also sync multiple emails if the profile contains more than one. Additionally as part of this feature, Segment hashes fields before sending them downstream to Facebook, if required. (See the table below for hashing requirements.) Note that the trait data implemented in your Segment tracking must match the naming convention and format specified in the table below, otherwise Segment can't send it to Facebook.
+
+> success ""
+> Visit Segment's [Trait Enrichment](/docs/engage/trait-activation/trait-enrichment/) to learn more.
+
+
+| **Name**        | **Trait Key formats supported**                             | **Facebook Keys**    | **FB Hashing Required** | **FB Guidelines**                                                                                                                                          |
+| Email           | email                                                        | EMAIL                | Yes (Segment does the hashing for you. In case you are *already* hashing emails, emails will get sent to Facebook double-hashed. Facebook will still match on double-hashed emails, but this is *not* recommended.) | Trim leading, trail whitespace, and convert all characters to lowercase.                                                                                  |
+| Mobile ID       | mobile_id                                                    | MADID                | No                       | Use all lowercase, keep hyphens.                                                                                                                          |
+| First Name      | first_name<br>firstname<br>firstName<br>first               | FN                   | Yes                      | Use `a`-`z` only. Lowercase only, no punctuation. Special characters in UTF8 format.                                                                      |
+| Last Name       | last_name<br>lastname<br>lastName<br>last                   | LN                   | Yes                      | Use `a`-`z` only. Lowercase only, no punctuation. Special characters in UTF8 format.                                                                      |
+| Phone           | phone<br>phone_number<br>phonenumber<br>phoneNumber         | PHONE (+12023095976) | Yes                      | Remove symbols, letters, and any leading zeroes. You should prefix the country code if `COUNTRY` field is not specified.                                  |
+| Gender          | gender<br>gen                                                | GEN                  | Yes                      | Use these values: `m` for male and `f` for female.                                                                                                        |
+| Birth Year      | birth_year                                                   | DOBY                 | Yes                      | Use the YYYY format from 1900 to current year.                                                                                                            |
+| Birth Month     | birth_month                                                  | DOBM                 | Yes                      | Use the MM format: `01` to `12`.                                                                                                                          |
+| Birth Day       | birthday<br>birth_day<br>date_of_birth<br>DOB<br>dateOfBirth | DOBD                 | Yes                      | Use the DD format: `01` to `31`.                                                                                                                          |
+| State           | state<br>address_state                                       | ST                   | Yes                      | Use the 2-character ANSI abbreviation code, lowercase. Normalize states outside U.S. in lowercase, no punctuation, no special characters, no white space. |
+| City            | city<br>address_city                                         | CT                   | Yes                      | Use `a`-`z` only. Lowercase only, no punctuation, no special characters, no white space.                                                                  |
+| Zipcode         | zip<br>zip_code<br>zipCode                                   | ZIP                  | Yes                      | Use lowercase, no white space. Use only the first 5 digits for U.S. Use Area/District/Sector format for the UK.                                           |
+| Country         | country_code<br>countryCode                                  | COUNTRY              | Yes                      | Use 2-letter country codes (lowercase) in ISO 3166-1 alpha-2.                                                                                             |
+
+
 ## FAQs and troubleshooting
 
 ### Audience not creating and/or existing audience list not populating

From 3006aea1631394b563c0a094b8fc0e29bf69494e Mon Sep 17 00:00:00 2001
From: Varadarajan V <109586712+varadarajan-tw@users.noreply.github.com>
Date: Mon, 28 Jul 2025 11:08:06 +0530
Subject: [PATCH 144/188] Trait encrihment updates

---
 .../index.md                                  | 25 +------------------
 .../index.md                                  |  8 +-----
 2 files changed, 2 insertions(+), 31 deletions(-)

diff --git a/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md b/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md
index 0a47ba69e1..d44547c6e5 100644
--- a/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md
+++ b/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md
@@ -126,30 +126,7 @@ Segment automatically hashes any of the following fields that are not already SH
 
 ## Additional Traits Matching
 
-> info ""
-> This feature is in Public Preview and usage is subject to the terms contained in the [First Access and Beta Preview Terms](https://segment.com/legal/first-access-beta-preview/){:target="_blank"}. For access, contact your CSM or email Segment at [friends@segment.com](mailto:friends@segment.com).
-
-Previously, Segment only sent email and mobile IDs to Facebook. A new beta feature can send an expanded list of identifiers or traits to Facebook, so that Facebook can try to use these additional data points to match to their user profiles. If you have this feature enabled and implemented any of these traits in your Segment tracking, the Facebook Custom Audiences (Actions) can send this data to Facebook. Segment can now also sync multiple emails if the profile contains more than one. Additionally as part of this feature, Segment hashes fields before sending them downstream to Facebook, if required. (See the table below for hashing requirements.) Note that the trait data implemented in your Segment tracking must match the naming convention and format specified in the table below, otherwise Segment can't send it to Facebook.
-
-> success ""
-> Visit Segment's [Trait Enrichment](/docs/engage/trait-activation/trait-enrichment/) to learn more.
-
-
-| **Name**        | **Trait Key formats supported**                             | **Facebook Keys**    | **FB Hashing Required** | **FB Guidelines**                                                                                                                                          |
-| Email           | email                                                        | EMAIL                | Yes (Segment does the hashing for you. In case you are *already* hashing emails, emails will get sent to Facebook double-hashed. Facebook will still match on double-hashed emails, but this is *not* recommended.) | Trim leading, trail whitespace, and convert all characters to lowercase.                                                                                  |
-| Mobile ID       | mobile_id                                                    | MADID                | No                       | Use all lowercase, keep hyphens.                                                                                                                          |
-| First Name      | first_name<br>firstname<br>firstName<br>first               | FN                   | Yes                      | Use `a`-`z` only. Lowercase only, no punctuation. Special characters in UTF8 format.                                                                      |
-| Last Name       | last_name<br>lastname<br>lastName<br>last                   | LN                   | Yes                      | Use `a`-`z` only. Lowercase only, no punctuation. Special characters in UTF8 format.                                                                      |
-| Phone           | phone<br>phone_number<br>phonenumber<br>phoneNumber         | PHONE (+12023095976) | Yes                      | Remove symbols, letters, and any leading zeroes. You should prefix the country code if `COUNTRY` field is not specified.                                  |
-| Gender          | gender<br>gen                                                | GEN                  | Yes                      | Use these values: `m` for male and `f` for female.                                                                                                        |
-| Birth Year      | birth_year                                                   | DOBY                 | Yes                      | Use the YYYY format from 1900 to current year.                                                                                                            |
-| Birth Month     | birth_month                                                  | DOBM                 | Yes                      | Use the MM format: `01` to `12`.                                                                                                                          |
-| Birth Day       | birthday<br>birth_day<br>date_of_birth<br>DOB<br>dateOfBirth | DOBD                 | Yes                      | Use the DD format: `01` to `31`.                                                                                                                          |
-| State           | state<br>address_state                                       | ST                   | Yes                      | Use the 2-character ANSI abbreviation code, lowercase. Normalize states outside U.S. in lowercase, no punctuation, no special characters, no white space. |
-| City            | city<br>address_city                                         | CT                   | Yes                      | Use `a`-`z` only. Lowercase only, no punctuation, no special characters, no white space.                                                                  |
-| Zipcode         | zip<br>zip_code<br>zipCode                                   | ZIP                  | Yes                      | Use lowercase, no white space. Use only the first 5 digits for U.S. Use Area/District/Sector format for the UK.                                           |
-| Country         | country_code<br>countryCode                                  | COUNTRY              | Yes                      | Use 2-letter country codes (lowercase) in ISO 3166-1 alpha-2.                                                                                             |
-
+Segment [Trait Enrichment](/docs/engage/trait-activation/trait-enrichment/) allows you to send an expanded list of identifiers or traits to Facebook, so that Facebook can try to use these additional data points to match to their user profiles. If you have this feature enabled and implemented any of these traits in your Segment tracking, the Facebook Custom Audiences (Actions) can send this data to Facebook. Segment can now also sync multiple emails if the profile contains more than one. Additionally as part of this feature, Segment hashes fields before sending them downstream to Facebook, if required as described in [Hashing](#hashing)section.
 
 ## FAQs and troubleshooting
 
diff --git a/src/connections/destinations/catalog/personas-facebook-custom-audiences/index.md b/src/connections/destinations/catalog/personas-facebook-custom-audiences/index.md
index c778b278e7..a795b65e6d 100644
--- a/src/connections/destinations/catalog/personas-facebook-custom-audiences/index.md
+++ b/src/connections/destinations/catalog/personas-facebook-custom-audiences/index.md
@@ -107,13 +107,7 @@ Once created, the audience should be available in Facebook in ten minutes unless
 
 ## Additional Traits Matching
 
-> info ""
-> This feature is in Public Preview and usage is subject to the terms contained in the [First Access and Beta Preview Terms](https://segment.com/legal/first-access-beta-preview/){:target="_blank"}{:target="_blank"}. For access, contact your CSM or email Segment at [friends@segment.com](mailto:friends@segment.com).
-
-Previously, Segment only sent email and mobile IDs to Facebook. A new beta feature can send an expanded list of identifiers or traits to Facebook, so that Facebook can try to use these additional data points to match to their user profiles. If you have this feature enabled and implemented any of these traits in your Segment tracking, Engage can send this data to Facebook. Segment can now also sync multiple emails if the profile contains more than one. Additionally as part of this feature, Segment hashes fields before sending them downstream to Facebook, if required. (See the table below for hashing requirements.) Note that the trait data implemented in your Segment tracking must match the naming convention and format specified in the table below, otherwise Segment can't send it to Facebook.
-
-> success ""
-> Visit Segment's [Trait Enrichment](/docs/engage/trait-activation/trait-enrichment/) to learn more.
+[Trait Enrichment](/docs/engage/trait-activation/trait-enrichment/) allows you to send an expanded list of identifiers or traits to Facebook, so that Facebook can try to use these additional data points to match to their user profiles. If you have this feature enabled and implemented any of these traits in your Segment tracking, Engage can send this data to Facebook. Segment can now also sync multiple emails if the profile contains more than one. Additionally as part of this feature, Segment hashes fields before sending them downstream to Facebook, if required. (See the table below for hashing requirements.) Note that the trait data implemented in your Segment tracking must match the naming convention and format specified in the table below, otherwise Segment can't send it to Facebook.
 
 
 | **Name**        | **Trait Key formats supported**   | **Facebook Keys**  | **FB Hashing Required** | **FB Guidelines**     |

From 4b6134c6e53d38b9b66b873a3515d1682f21f8b3 Mon Sep 17 00:00:00 2001
From: motasem-userpilot <motasem@userpilot.com>
Date: Mon, 28 Jul 2025 15:56:18 +0300
Subject: [PATCH 145/188] Userpilot mobile destination

---
 .../catalog/userpilot-mobile/index.md         | 83 +++++++++++++++++++
 1 file changed, 83 insertions(+)
 create mode 100644 src/connections/destinations/catalog/userpilot-mobile/index.md

diff --git a/src/connections/destinations/catalog/userpilot-mobile/index.md b/src/connections/destinations/catalog/userpilot-mobile/index.md
new file mode 100644
index 0000000000..6f33df12b3
--- /dev/null
+++ b/src/connections/destinations/catalog/userpilot-mobile/index.md
@@ -0,0 +1,83 @@
+---
+title: Userpilot Mobile (Device Mode) Destination
+---
+
+Userpilot helps product teams deliver personalized in-app experiences to increase growth metrics at every stage of the user journey. When you integrate Userpilot with Segment, you can send your Segment events to Userpilot, allowing you to create more personalized experiences for your users across the product lifecycle.
+
+[Userpilot](https://www.userpilot.com/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank"} provides in-app guidance, product tours, and contextual onboarding experiences to help teams activate users and drive feature adoption.
+
+This destination is maintained by Userpilot. For any issues with the destination, [contact the Userpilot Support team](mailto:support@userpilot.com).
+
+## Getting started
+
+1. From your workspace's [Destination catalog page](https://app.segment.com/goto-my-workspace/destinations/catalog){:target="_blank"}, search for "Userpilot Mobile (Device Mode)".
+2. Select **Userpilot Mobile** and click **Add Destination**.
+3. Select an existing Source to connect to Userpilot.
+4. Go to the [Userpilot installation dashboard](https://run.userpilot.io/installation){:target="_blank"}, and copy your **App Token**.
+5. Enter the **App Token** in the Userpilot destination settings in Segment.
+
+## Supported methods
+
+Userpilot supports the following methods, as specified in the [Segment Spec](/docs/connections/spec).
+
+### Identify
+
+Send [Identify](/docs/connections/spec/identify) calls to associate a user with traits. These are used for segmentation, personalization, and lifecycle targeting.
+
+```swift
+analytics.identify(userId: "<USER_ID>", traits: [
+  "email": "john.doe@example.com",
+  "name": "John Doe",
+  "plan": "Pro",
+  "createdAt": "2023-08-01T00:00:00Z"
+])
+```
+
+Calling `identify` from `Segment` will trigger the `userpilot.identify`. Segment recommends passing as much data as possible to get the most out of Userpilot.
+
+Data passed in an Identify call can be organized under different categories.
+* Properties about the user such as `plan` or `userRole` to help targeting a specifc segment
+* Properties to personalize the content of the Userpilot experiences, such as `name` or `company`
+* Properties to target users based on their lifecycle, such as `createdAt`, which allows you to target newly created accounts or accounts that have yet to achieve a certain feature in the user lifecyle
+
+These appear within the Userpilot user dashboard and power audience segmentation and targeting.
+
+
+### Group
+Send [Group](/docs/connections/spec/group) calls to associate users with an account, organization, or project.
+
+```swift
+analytics.group(groupId: "<GROUP_ID>", traits: [
+  "companyName": "Acme Inc.",
+  "subscriptionTier": "Enterprise"
+])
+```
+
+Segment sends Group calls to Userpilot as a `userpilot.identify` update with company-level traits, allowing you to use company metadata in targeting logic.
+
+
+### Screen
+Send [Screen](/docs/connections/spec/screen) calls to track navigation or screen changes in mobile apps.
+
+```swift
+analytics.screen(title: "Home")
+```
+
+Segment sends Screen calls to Userpilot as a `userpilot.screen` event. This allows Userpilot to:
+* Trigger relevant experiences configured for specific pages/screens.
+* Check for ongoing experiences already running.
+
+
+### Track
+
+Send [Track](/docs/connections/spec/track) calls to log user actions or custom events.
+
+```swift
+analytics.track(name: "Button Clicked", properties: [
+  "buttonColor": "green"
+])
+```
+
+Segment sends Track calls to Userpilot as `userpilot.track`. These custom events can be used to:
+* Trigger specific experiences (e.g., a Caroucel or Survey)
+* Monitor user behavior for analytics or lifecycle targeting
\ No newline at end of file

From 87ece9fa6a872b6f09adb5fca62c0759687a79ba Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Tue, 29 Jul 2025 14:42:39 +0100
Subject: [PATCH 146/188] ID type field deprecated and not required for TikTok
 Audiences

---
 .../catalog/actions-tiktok-audiences/index.md | 40 ++++++++++---------
 1 file changed, 22 insertions(+), 18 deletions(-)

diff --git a/src/connections/destinations/catalog/actions-tiktok-audiences/index.md b/src/connections/destinations/catalog/actions-tiktok-audiences/index.md
index c8a092e50a..6298bec735 100644
--- a/src/connections/destinations/catalog/actions-tiktok-audiences/index.md
+++ b/src/connections/destinations/catalog/actions-tiktok-audiences/index.md
@@ -12,14 +12,14 @@ By using Segment's TikTok Audiences destination, you can increase traffic and dr
 
 ## Getting started
 
-### Notes
+### Legacy and native destination instances
+If you created a TikTok Audiences destination instance before September 25th, 2023, your instance(s) and all subsequent instances are considered _legacy_ instances. To create a new legacy instance, see the [Create a TikTok audience (Legacy)](#connect-the-tiktok-audiences-legacy-destination) documentation.
 
-- If you created a TikTok Audiences destination instance before September 25th, 2023, your instance(s) and all subsequent instances are considered _legacy_ instances. To create a new _legacy_ instance, see the [Create a TikTok audience (Legacy)](#connect-the-tiktok-audiences-legacy-destination) documentation. Users who created their first instance after September 25, 2023 are considered to have _native_ instances. To create a new _native_ instance, see [Configure the TikTok Audiences destination](#configure-the-tiktok-audiences-destination) documentation.
-- Both _legacy_ and _native_ instances have the same set of features, but are configured differently. Legacy instances require you to create an audience or action manually, but native instances automatically create audiences and actions.
-- If you update the events names from the default Audience Entered/Audience Exited, please make sure to also update it in the "Add to Audience" and "Remove from Audience" mappings.
-- The Email ID or Advertising ID of the user must be provided.
-- TikTok [requires](https://business-api.tiktok.com/portal/docs?id=1739940585975809){:target="_blank"} `phone` number to be formatted in E.164 form, e.g. `+1231234567`. If your phone number is missing country code, you can prepend `+1` in the Action Mapping.
-- For more information about how to update from _legacy_ to _native_, reach out to [friends@segment.com](mailto:friends@segment.com).
+Users who created their first instance after September 25, 2023 are considered to have _native_ instances. To create a new native instance, see the [Configure the TikTok Audiences destination](#configure-the-tiktok-audiences-destination) documentation.
+
+Both legacy and native instances have the same set of features, but are configured differently. Legacy instances require you to create an audience or action manually, but native instances automatically create audiences and actions.
+
+For more information about how to update from legacy to native instances, reach out to [friends@segment.com](mailto:friends@segment.com).
 
 ### Prerequisites
 
@@ -27,9 +27,14 @@ Before connecting to the TikTok Audiences destination, you must have a [TikTok A
 
 For more details on account and access level permissions, refer to [TikTok's documentation](https://ads.tiktok.com/help/article/how-to-assign-asset-level-permissions?lang=en){:target="_blank"}.
 
+#### Additional requirements
+
+- If you update the events names from the default Audience Entered or Audience Exited, ensure that you also update them in the "Add to Audience" and "Remove from Audience" mappings. - The Email ID or Advertising ID of the user must be provided.
+- TikTok [requires](https://business-api.tiktok.com/portal/docs?id=1739940585975809){:target="_blank"} `phone` number to be formatted in E.164 form, for example `+1231234567`. If your phone number is missing country code, you can prepend `+1` in the Action Mapping.
+
 ### TikTok Audience Segments
 
-Send Engage audiences to an existing TikTok audience segment or create a new audience. Note the `audience_id` as this is required to send Engage audiences to TikTok.
+Send Engage audiences to an existing TikTok audience segment or create a new audience. Make note of the `audience_id` as this is required to send Engage audiences to TikTok.
 
 ### Configure the TikTok Audiences destination
 
@@ -52,9 +57,9 @@ Send Engage audiences to an existing TikTok audience segment or create a new aud
 9. Navigate back to **Engage > Audiences** and click on the audience from step 1.
 
 10. Click **Add Destinations** and select the TikTok Audiences destination you just created. 
-    In the settings that appear in the side panel, toggle the **Send Track** option on and **Send Identify** option off. Provide the [Advertiser ID](https://ads.tiktok.com/help/article/ad-account-information-faq?lang=en){:target="_blank"} linked to the TikTok account that will receive the audience data, as well as the **ID Type** of data you'll be sending. Click **Save Settings**.
+    In the settings that appear in the side panel, toggle the **Send Track** option on and **Send Identify** option off. Provide the [Advertiser ID](https://ads.tiktok.com/help/article/ad-account-information-faq?lang=en){:target="_blank"} linked to the TikTok account that will receive the audience data. Click **Save Settings**.
 
-The setup is complete and the audience will start syncing to TikTok. The audience will appear in your [TikTok Ads Manager](https://www.tiktok.com/business/en-US/solutions/ads-manager){:target="_blank"} account under **Assets > Audiences**. Please note that it can take 24-48 hours for users to appear in TikTok.
+The setup is complete and the audience will start syncing to TikTok. The audience will appear in your [TikTok Ads Manager](https://www.tiktok.com/business/en-US/solutions/ads-manager){:target="_blank"} account under **Assets > Audiences**. It can take 24-48 hours for users to appear in TikTok.
 
 ### Connect the TikTok Audiences (_Legacy_) destination
 
@@ -75,15 +80,14 @@ The setup is complete and the audience will start syncing to TikTok. The audienc
 
 7. Navigate to the **Mappings** tab, click **New Mapping**, and select **Add Users**.
 
-8. Under Select mappings, select the TikTok "Advertiser ID" of the audience segment you want to add users to. Input the `audience_id` of that audience segment under "Audience ID." **Note: A separate mapping must be created for each audience segment you plan to send Engage audiences to.**
-
-    **Note:** Once you've created the audience using the name of Segment's audience key, you can get the Audience ID from TikTok's Assets>Audiences page. You'll also find the Advertised ID, noted by `aadvid`, over the TikTok URL.
+8. Under Select mappings, select the TikTok "Advertiser ID" of the audience segment you want to add users to. Input the `audience_id` of that audience segment under "Audience ID."
+   **A separate mapping must be created for each audience segment you plan to send Engage audiences to.** Once you've created the audience using the name of Segment's audience key, you can get the Audience ID from TikTok's Assets>Audiences page. You'll also find the Advertised ID, noted by `aadvid`, over the TikTok URL.
 
-9. Repeat steps 7 and 8 to also set up a **Remove Users** mapping.
+10. Repeat steps 7 and 8 to also set up a **Remove Users** mapping.
      
-10.  Navigate back to **Engage > Audiences** and click on the audience from Step 1. 
+11.  Navigate back to **Engage > Audiences** and click on the audience from Step 1. 
 
-11.  Click **Add Destinations** and select the TikTok Audiences destination you just created. In the settings that appear in the side panel, toggle the **Send Track** option on and do **not** change the Audience Entered/Audience Exited event names. Click **Save Settings**.
+12.  Click **Add Destinations** and select the TikTok Audiences destination you just created. In the settings that appear in the side panel, toggle the **Send Track** option on and do **not** change the Audience Entered/Audience Exited event names. Click **Save Settings**.
 
 The setup is complete and the audience will start syncing to TikTok. The audience will appear in your [TikTok Ads Manager](https://www.tiktok.com/business/en-US/solutions/ads-manager){:target="_blank"} account under **Assets > Audiences**. Please note that it can take 24-48 hours for users to appear in TikTok.
 
@@ -105,11 +109,11 @@ You can create a duplicate audience since TikTok doesn't restrict users from hav
 
 You do not need to update the status of the mapping to `enabled`.
 
-For instructions on how to create a TikTok audience segment, see TikTok's [Create/Delete an audience segment](https://ads.tiktok.com/marketing_api/docs?id=1739940583739393){:target="_blank"} docs. 
+For instructions on how to create a TikTok audience segment, see TikTok's documentation on how to [Create/Delete an audience segment](https://ads.tiktok.com/marketing_api/docs?id=1739940583739393){:target="_blank"}. 
 
 {% include components/actions-fields.html %}
 
 ## FAQS
 
-### Why is my audience considered too small in TikTok?
+#### Why is my audience considered too small in TikTok?
 [TikTok](https://ads.tiktok.com/help/article/custom-audiences?lang=en) requires a minimum audience size of 1,000 to target Custom Audiences in an ad group.

From 14be37bdee0a19c3f78c580cb4d793a6b069ee0d Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Tue, 29 Jul 2025 14:45:45 +0100
Subject: [PATCH 147/188] fixed numbering [netlify-build]

---
 .../destinations/catalog/actions-tiktok-audiences/index.md  | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/connections/destinations/catalog/actions-tiktok-audiences/index.md b/src/connections/destinations/catalog/actions-tiktok-audiences/index.md
index 6298bec735..b30325058b 100644
--- a/src/connections/destinations/catalog/actions-tiktok-audiences/index.md
+++ b/src/connections/destinations/catalog/actions-tiktok-audiences/index.md
@@ -83,11 +83,11 @@ The setup is complete and the audience will start syncing to TikTok. The audienc
 8. Under Select mappings, select the TikTok "Advertiser ID" of the audience segment you want to add users to. Input the `audience_id` of that audience segment under "Audience ID."
    **A separate mapping must be created for each audience segment you plan to send Engage audiences to.** Once you've created the audience using the name of Segment's audience key, you can get the Audience ID from TikTok's Assets>Audiences page. You'll also find the Advertised ID, noted by `aadvid`, over the TikTok URL.
 
-10. Repeat steps 7 and 8 to also set up a **Remove Users** mapping.
+9. Repeat steps 7 and 8 to also set up a **Remove Users** mapping.
      
-11.  Navigate back to **Engage > Audiences** and click on the audience from Step 1. 
+10.  Navigate back to **Engage > Audiences** and click on the audience from Step 1. 
 
-12.  Click **Add Destinations** and select the TikTok Audiences destination you just created. In the settings that appear in the side panel, toggle the **Send Track** option on and do **not** change the Audience Entered/Audience Exited event names. Click **Save Settings**.
+11.  Click **Add Destinations** and select the TikTok Audiences destination you just created. In the settings that appear in the side panel, toggle the **Send Track** option on and do **not** change the Audience Entered/Audience Exited event names. Click **Save Settings**.
 
 The setup is complete and the audience will start syncing to TikTok. The audience will appear in your [TikTok Ads Manager](https://www.tiktok.com/business/en-US/solutions/ads-manager){:target="_blank"} account under **Assets > Audiences**. Please note that it can take 24-48 hours for users to appear in TikTok.
 

From d382b126bc98a549a6cf3dca91fda942317a0199 Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Tue, 29 Jul 2025 14:49:50 +0100
Subject: [PATCH 148/188] Outdated prereq removed [DOC-1155]

---
 .../catalog/actions-segment-profiles/salesforce-source.md  | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/connections/destinations/catalog/actions-segment-profiles/salesforce-source.md b/src/connections/destinations/catalog/actions-segment-profiles/salesforce-source.md
index c5c76ec0eb..59cc1b8083 100644
--- a/src/connections/destinations/catalog/actions-segment-profiles/salesforce-source.md
+++ b/src/connections/destinations/catalog/actions-segment-profiles/salesforce-source.md
@@ -16,9 +16,8 @@ Once configured, this integration lets you send Salesforce data directly to Segm
 
 Before you begin, make sure that you have the following:
 
-- a Segment workspace with [Unify](/docs/unify/) enabled and [Identity Resolution](/docs/unify/identity-resolution/) set up
-- Administrator access to your Salesforce account
-- Salesforce Unify Direct Integration enabled for your workspace. [Contact Segment](https://segment.com/help/contact/){:target="_blank"} if you don't yet have the integration enabled.
+- a Segment workspace with [Unify](/docs/unify/) enabled and [Identity Resolution](/docs/unify/identity-resolution/) set up.
+- Administrator access to your Salesforce account.
 
 ## Integration steps
 
@@ -89,4 +88,4 @@ Keep the following in mind as you work with the Salesforce Unify Direct Integrat
 - Regularly review your mapping to ensure it reflects any changes in your Salesforce schema or Segment Profile needs.
 - Monitor both your Salesforce source and Segment Profiles destination for errors and data discrepancies.
 
-The Salesforce Unify Direct Integration supports mapping from a single Salesforce collection per data model. For complex use cases requiring data from multiple collections, you may need to create multiple data models and mappings.
\ No newline at end of file
+The Salesforce Unify Direct Integration supports mapping from a single Salesforce collection per data model. For complex use cases requiring data from multiple collections, you may need to create multiple data models and mappings.

From f941b2e3f4bba3fee69ffd9630b2dd7735091ec3 Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Tue, 29 Jul 2025 14:54:51 +0100
Subject: [PATCH 149/188] bullets [netlify-build]

---
 .../destinations/catalog/actions-tiktok-audiences/index.md     | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/connections/destinations/catalog/actions-tiktok-audiences/index.md b/src/connections/destinations/catalog/actions-tiktok-audiences/index.md
index b30325058b..e264a92c4d 100644
--- a/src/connections/destinations/catalog/actions-tiktok-audiences/index.md
+++ b/src/connections/destinations/catalog/actions-tiktok-audiences/index.md
@@ -29,7 +29,8 @@ For more details on account and access level permissions, refer to [TikTok's doc
 
 #### Additional requirements
 
-- If you update the events names from the default Audience Entered or Audience Exited, ensure that you also update them in the "Add to Audience" and "Remove from Audience" mappings. - The Email ID or Advertising ID of the user must be provided.
+- If you update the events names from the default Audience Entered or Audience Exited, ensure that you also update them in the "Add to Audience" and "Remove from Audience" mappings.
+- The Email ID or Advertising ID of the user must be provided.
 - TikTok [requires](https://business-api.tiktok.com/portal/docs?id=1739940585975809){:target="_blank"} `phone` number to be formatted in E.164 form, for example `+1231234567`. If your phone number is missing country code, you can prepend `+1` in the Action Mapping.
 
 ### TikTok Audience Segments

From 91893366efb52b29f09435028424f16899dfea00 Mon Sep 17 00:00:00 2001
From: Alastair Mucklow <al.mucklow@gmail.com>
Date: Tue, 29 Jul 2025 18:25:33 +0100
Subject: [PATCH 150/188] Update
 src/connections/destinations/catalog/dotdigital/index.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 src/connections/destinations/catalog/dotdigital/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/catalog/dotdigital/index.md b/src/connections/destinations/catalog/dotdigital/index.md
index cc4c4d7ba5..2f9fe099f8 100644
--- a/src/connections/destinations/catalog/dotdigital/index.md
+++ b/src/connections/destinations/catalog/dotdigital/index.md
@@ -17,7 +17,7 @@ This destination is maintained by Dotdigital. For any issues with the destinatio
 3. Select an existing Source to connect to Dotdigital (Actions).
 4. Log in to your [Dotdigital account](https://login.dotdigital.com/){:target="_blank"}. Expand the User menu in the bottom left and go to Settings > Access > API users.
 5. Note your API region (r1, r2 or r3) for step 7.
-6. Create a [new API user](https://developer.dotdigital.com/docs/setting-up-an-api-user) {:target="_blank"}. 
+6. Create a [new API user](https://developer.dotdigital.com/docs/setting-up-an-api-user){:target="_blank"}. 
 7. In Segment, select your Dotdigital account region and paste the **API user** and **API password** in the Dotdigital destination settings.
 
 {% include components/actions-fields.html %}

From 0e0936d685dcec3da7692f1f63c1be9290d9dc79 Mon Sep 17 00:00:00 2001
From: Alastair Mucklow <al.mucklow@gmail.com>
Date: Tue, 29 Jul 2025 18:25:46 +0100
Subject: [PATCH 151/188] Update
 src/connections/destinations/catalog/dotdigital/index.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 src/connections/destinations/catalog/dotdigital/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/catalog/dotdigital/index.md b/src/connections/destinations/catalog/dotdigital/index.md
index 2f9fe099f8..c4da750368 100644
--- a/src/connections/destinations/catalog/dotdigital/index.md
+++ b/src/connections/destinations/catalog/dotdigital/index.md
@@ -27,7 +27,7 @@ This destination is maintained by Dotdigital. For any issues with the destinatio
 ### Add Contact to List
 Before using the Add Context to List Action, complete the following prerequisites: 
 
-- **Lists**: [Create a contact list in Dotdigital](https://support.dotdigital.com/en/articles/8198769-create-a-contact-list) {:target="_blank"}. After you've created a list in Dotdigital, return to the Segment app and select your list from the dropdown in the Segment event mapping.
+- **Lists**: [Create a contact list in Dotdigital](https://support.dotdigital.com/en/articles/8198769-create-a-contact-list){:target="_blank"}. After you've created a list in Dotdigital, return to the Segment app and select your list from the dropdown in the Segment event mapping.
 - **Data Fields**: [Create or edit your data fields in Dotdigital](https://support.dotdigital.com/en/articles/8198833-create-delete-and-edit-custom-data-fields){:target="_blank"}, then return to the Segment app, open the event mapping, and map Segment properties to Dotdigital data fields.
 
 ### Enroll Contact to Program

From 9b55c1d3cd7d93661dbbda1210381b9754e45c63 Mon Sep 17 00:00:00 2001
From: pwseg <paul.wooley@segment.com>
Date: Tue, 29 Jul 2025 19:01:07 -0700
Subject: [PATCH 152/188] clarify Segment Spec and schema guidance, remove
 outdated Blocks terminology

---
 src/guides/intro-impl.md | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/guides/intro-impl.md b/src/guides/intro-impl.md
index 19d039f682..044c22a7cc 100644
--- a/src/guides/intro-impl.md
+++ b/src/guides/intro-impl.md
@@ -39,13 +39,16 @@ A Track call is the most basic type of call, and can represent any type of event
 
 {% include content/message-anatomy.md %}
 
-## Message schemas, Blocks, and Specs
+## Segment Spec and event schemas
 
-The Segment "Specs" provide recommended message schemas - the information we recommend that you collect - for each type of call. These are recommendations not requirements, but if you follow these schema guidelines the Segment servers can more easily identify parts of your messages, and translate them to downstream tools.
+The Segment Spec provides recommended message schemas for each type of event call (like Identify, Track, Page, and Scren). These schemas help you structure your events in a consistent, predictable format, making them easier to understand, maintain, and map to downstream tools.
 
-In addition to the recommended message schemas, Segment also provides "blocks": recommendations on what information to collect and how to format it, for different industries and use cases. These are recommendations only, but by collecting all of the information in these blocks, you can ensure that common tools used in that use-case have the information they need to function.
+The Spec contains two kinds of guidance:
 
-A third section of the Spec is the "industry specs" which provide recommendations that include an explicit translation or mapping in the Segment servers, to best power the downstream Destinations commonly used in these industries.
+- Mapped events, like `Order Completed` and `Product Viewed`, are event names and properties that Segment recognizes and transforms automatically for supported destinations. For example, events like `Order Completed` or `Product Viewed` are mapped to standard ecommerce fields.
+- Recommended events, on the other hand, are suggestions for structuring common event types, but Segment doesn't apply automatic transformations. They serve as best practices to help you maintain clean, useful data, especially if you're designing events for custom or internal use cases.
+
+Segment also offers industry-specific recommendations, which are collections of events and traits commonly used in verticals like ecommerce or B2B SaaS. Segment designed these recommendations to help you collect the right data to power tools typically used in your industry.
 
 ## Sources and Destinations
 

From 61f3facc97802824c4f190fd8156f9d2552ee9d0 Mon Sep 17 00:00:00 2001
From: pwseg <paul.wooley@segment.com>
Date: Tue, 29 Jul 2025 19:02:23 -0700
Subject: [PATCH 153/188] minor style stuff

---
 src/guides/intro-impl.md | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/guides/intro-impl.md b/src/guides/intro-impl.md
index 044c22a7cc..4450c811fb 100644
--- a/src/guides/intro-impl.md
+++ b/src/guides/intro-impl.md
@@ -5,7 +5,7 @@ title: Segment for Developers
 This guide explains all you need to know to get started with your Segment implementation, and directs you to more resources depending on your specific needs.
 
 > info ""
-> If you haven't already, you should read the [detailed explanation of Segment](/docs/guides/) on the previous page!
+> If you haven't already, you should read the [detailed explanation of Segment](/docs/guides/) on the previous page.
 
 {% include components/reference-button.html href="https://university.segment.com/introduction-to-segment/324262?reg=1&referrer=docs" icon="media/academy.svg" title="Segment University: Segment in Action" description="See a quick example of Segment working on an ecommerce website. (Must be logged in to access.)" %}
 
@@ -15,7 +15,7 @@ Segment sends messages about activities in your mobile apps, websites or servers
 
 ## Types of Segment messages
 
-Segment's libraries generate and send messages to our tracking API in JSON format, and provide a standard structure for the basic API calls. We also provide recommended JSON structure (also known as a schema, or 'Spec') that helps keep the most important parts of your data consistent, while allowing great flexibility in what other information you collect and where.
+Segment's libraries generate and send messages to our tracking API in JSON format, and provide a standard structure for the basic API calls. Segment also provides recommended JSON structure (also known as a schema, or Spec) that helps keep the most important parts of your data consistent, while allowing great flexibility in what other information you collect and where.
 
 There are six calls in the basic tracking API, which answer specific questions:
 
@@ -33,7 +33,7 @@ The other three, Track, Page, and Screen, can be considered as increasingly spec
 A Track call is the most basic type of call, and can represent any type of event. Page and Screen are similar and are triggered by a user viewing a page or screen, however Page calls can come from both web and mobile-web views, while Screen calls *only* occur on mobile devices. Because of the difference in platform, the context information collected is very different between the two types of calls.
 
 > success ""
-> **Tip**! Segment recommends that you always use the Page and Screen calls when recording a page-view, rather than creating a "Page Viewed" event, because the Page/Screen calls automatically collect much better context information.
+> Segment recommends that you always use the Page and Screen calls when recording a page-view, rather than creating a "Page Viewed" event, because the Page/Screen calls automatically collect much better context information.
 
 ## Anatomy of a Segment message
 

From 8f81a2c5d773cb7351f6eb843720ba23f8e5e6eb Mon Sep 17 00:00:00 2001
From: wilwong-twilio <109997887+wilwong-twilio@users.noreply.github.com>
Date: Wed, 30 Jul 2025 09:18:19 -0700
Subject: [PATCH 154/188] Update index.md

---
 src/engage/audiences/index.md | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/src/engage/audiences/index.md b/src/engage/audiences/index.md
index 8b23b00bdb..3b1300dc35 100644
--- a/src/engage/audiences/index.md
+++ b/src/engage/audiences/index.md
@@ -109,6 +109,18 @@ Dynamic Property references give you more flexibility over funnel audiences. Ins
 
 ![Using dynamic property references with an Audience funnel](/docs/engage/images/dynamic_property_audiences1.png)
 
+### Audience previews
+After configuring your audience definition, use the **Preview** button to review your audience setup. It shows the total number of profiles that match your criteria and a sample list of those profiles, helping you confirm the audience is correct before launching campaigns. Previews are only available if your audience uses historical data, displaying the current size based on past data. To learn more about the Include Historical Data option, see here https://segment.com/docs/engage/audiences/#how-does-the-historical-data-flag-work. The audience will grow as new profiles meet your criteria. Click any profile in the sample list to view a detailed side sheet with their attributes, making it easy to verify membership. This feature simplifies campaign planning and ensures your audience targets the right profiles.
+
+#### Identifier breakdown
+To check how profiles in your audience are identified, first click **Preview** to view your audience configuration. In the Preview results, navigate to the **Insights** tab (next to the **Users** tab) to see a breakdown of the percentage of profiles associated with each external_id in the audience. These are the default IDs that Segment includes in the Identity resolution configuration. Segment displays the percentage of the audience with each identifier, which you can use to verify the audience size and profiles are correct. The update of identifier breakdowns on profiles doesn't occur in real time. 
+
+> info ""
+> The Identifier Breakdown doesn't show custom IDs included in the Identity resolution configuration unless those IDs are explicitly selected through [ID sync](/docs/engage/trait-activation/id-sync/). By default, Segment only displays external IDs in the breakdown.
+
+#### Audience overlap
+To check how your audience intersects with others in your Segment space, first click **Preview** to view your audience configuration. In the Preview results, navigate to the **Insights** tab (next to the **Users** tab). In the Insights tab, select an existing audience from the dropdown menu and click **Compute overlap** to see the number of shared profiles. This feature optimizes campaign targeting by identifying redundant audiences and refining segmentation.
+
 ### Account-level audiences
 
 If you have a B2B business, you might want to build an Audience of accounts. You can use both account-level traits that you've sent through the [Group](/docs/connections/spec/group) call, or user-level traits and events. For example, you might want to re-engage a list of at-risk accounts defined as companies which are on a business tier plan and where none of the users in that account have logged in recently. When incorporating user-level events or traits, you can specify `None of the users`, `Any users`, or `All users`.
@@ -398,13 +410,6 @@ Note the following limits for the CSV downloader:
 > warning ""
 > You can't add account traits and identifiers using the CSV downloader with account level audiences. This is because every row listed in the CSV file is a user, and since account traits and identifiers only exist on accounts, they wouldn't exist as a user's custom trait and appear on the CSV.
 
-## Identifier Breakdown
-
-The audience summary is a breakdown of the percentages of external_ids of users in the audience. These are the default IDs that Segment includes in the Identity resolution configuration. Segment displays the percentage of the audience with each identifier, which you can use to verify the audience size and profiles are correct. The update of identifier breakdowns on profiles doesn't occur in real time.
-
-> info ""
-> The Identifier Breakdown doesn't show custom IDs included in the Identity resolution configuration unless those IDs are explicitly selected through [ID sync](/docs/engage/trait-activation/id-sync/). By default, Segment only displays external IDs in the breakdown.
-
 ## FAQ
 
 ### Why do I get a different user count when I use `$` on a field?**

From 576fc6c4cbffc75e23c67e5ab0441c795d88f72d Mon Sep 17 00:00:00 2001
From: wilwong-twilio <109997887+wilwong-twilio@users.noreply.github.com>
Date: Wed, 30 Jul 2025 09:23:31 -0700
Subject: [PATCH 155/188] Update index.md

---
 src/engage/audiences/index.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/engage/audiences/index.md b/src/engage/audiences/index.md
index 3b1300dc35..410dd88d2a 100644
--- a/src/engage/audiences/index.md
+++ b/src/engage/audiences/index.md
@@ -112,6 +112,9 @@ Dynamic Property references give you more flexibility over funnel audiences. Ins
 ### Audience previews
 After configuring your audience definition, use the **Preview** button to review your audience setup. It shows the total number of profiles that match your criteria and a sample list of those profiles, helping you confirm the audience is correct before launching campaigns. Previews are only available if your audience uses historical data, displaying the current size based on past data. To learn more about the Include Historical Data option, see here https://segment.com/docs/engage/audiences/#how-does-the-historical-data-flag-work. The audience will grow as new profiles meet your criteria. Click any profile in the sample list to view a detailed side sheet with their attributes, making it easy to verify membership. This feature simplifies campaign planning and ensures your audience targets the right profiles.
 
+> info ""
+> Audience preview membership is calculated using data that may be slightly delayed from real-time processing, which can lead to temporary discrepancies between the preview results and the profile information shown in the profile side sheet or via the Profile API.
+
 #### Identifier breakdown
 To check how profiles in your audience are identified, first click **Preview** to view your audience configuration. In the Preview results, navigate to the **Insights** tab (next to the **Users** tab) to see a breakdown of the percentage of profiles associated with each external_id in the audience. These are the default IDs that Segment includes in the Identity resolution configuration. Segment displays the percentage of the audience with each identifier, which you can use to verify the audience size and profiles are correct. The update of identifier breakdowns on profiles doesn't occur in real time. 
 

From a8982bf730d3a530a10b04f9ff3bb7d165f713c2 Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Wed, 30 Jul 2025 15:23:22 -0400
Subject: [PATCH 156/188] Update user-deletion-and-suppression.md

---
 src/privacy/user-deletion-and-suppression.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/privacy/user-deletion-and-suppression.md b/src/privacy/user-deletion-and-suppression.md
index 6f056051c0..40861daf5b 100644
--- a/src/privacy/user-deletion-and-suppression.md
+++ b/src/privacy/user-deletion-and-suppression.md
@@ -59,7 +59,7 @@ Warehouse deletions occur using a DML run against your cluster or instance. Segm
 
 ### Deletion requests tab
 
-The deletion requests tab shows a 30-day overview of your deletions pipeline, including a Regulations usage tracker and a deletion requests status table. 
+The deletion requests tab shows a 30-day overview of your deletions pipeline, including a Regulations usage tracker and a deletion requests status table. The deletion requests summary tab shows the status of all your deletion requests from the last 30-day and might not accurately reflect your current deletion request limits.
 
 To navigate to the deletion requests tab, open the Segment app and navigate to **Privacy > Deletion and Suppression > Deletion**.
 

From db7f537efb65feb6d44c996439f8bcc1cd1ddf91 Mon Sep 17 00:00:00 2001
From: pwseg <86626706+pwseg@users.noreply.github.com>
Date: Wed, 30 Jul 2025 13:19:42 -0700
Subject: [PATCH 157/188] Update src/guides/intro-impl.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 src/guides/intro-impl.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/guides/intro-impl.md b/src/guides/intro-impl.md
index 4450c811fb..4152b16ebf 100644
--- a/src/guides/intro-impl.md
+++ b/src/guides/intro-impl.md
@@ -33,7 +33,7 @@ The other three, Track, Page, and Screen, can be considered as increasingly spec
 A Track call is the most basic type of call, and can represent any type of event. Page and Screen are similar and are triggered by a user viewing a page or screen, however Page calls can come from both web and mobile-web views, while Screen calls *only* occur on mobile devices. Because of the difference in platform, the context information collected is very different between the two types of calls.
 
 > success ""
-> Segment recommends that you always use the Page and Screen calls when recording a page-view, rather than creating a "Page Viewed" event, because the Page/Screen calls automatically collect much better context information.
+> Segment recommends that you always use the Page and Screen calls when recording a page-view, rather than creating a "Page Viewed" event, because the Page/Screen calls automatically collect much better contextual information.
 
 ## Anatomy of a Segment message
 

From f491865042f219b237c1610ce99dc0acf08200e7 Mon Sep 17 00:00:00 2001
From: tbols17 <113375224+tbols17@users.noreply.github.com>
Date: Wed, 30 Jul 2025 13:59:39 -0700
Subject: [PATCH 158/188] Update index.md

---
 src/unify/Traits/predictions/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/unify/Traits/predictions/index.md b/src/unify/Traits/predictions/index.md
index 13b461d764..11cf3df866 100644
--- a/src/unify/Traits/predictions/index.md
+++ b/src/unify/Traits/predictions/index.md
@@ -81,7 +81,7 @@ To access Predictions, you must:
 
 #### Successful trait computation
 
-This table lists the requirements for a trait to compute successfully:
+This table lists the requirements for a trait to compute successfully: Please note that for the events below, there cannot be any days where the event was not seen or performed in the entire workspace
 
 | Requirement                     | Details                                                                                                                                                                                                                               |
 | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

From cd5750e0902068f04dfffe923e7a24b7c17ad5cf Mon Sep 17 00:00:00 2001
From: pwseg <paul.wooley@segment.com>
Date: Wed, 30 Jul 2025 16:26:07 -0700
Subject: [PATCH 159/188] update base model [netlify-build]

---
 .../content/generative-audiences-nutrition-facts.html         | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/_includes/content/generative-audiences-nutrition-facts.html b/src/_includes/content/generative-audiences-nutrition-facts.html
index 8b245b37e1..bbc7cc0d25 100644
--- a/src/_includes/content/generative-audiences-nutrition-facts.html
+++ b/src/_includes/content/generative-audiences-nutrition-facts.html
@@ -85,7 +85,7 @@
                 </tr>
                     <tr class="c4">
                         <td class="c6" colspan="1" rowspan="1"><p class="c10"><span class="c13">Base Model </span>
-                            <span class="c12 c15 nf-right-align">OpenAI - GPT-4 </span></p>
+                            <span class="c12 c15 nf-right-align">AWS Bedrock - Claude Sonnet</span></p>
                         </td>
                     </tr>
                     <tr class="c4">
@@ -126,7 +126,7 @@
                     <tr class="c4">
                         <td class="c6" colspan="1" rowspan="1"><span class="c8">Compliance &nbsp; &nbsp; </span><br />
                             <span class="c13 nf-indent">Logging &amp; Auditing </span>
-                                <span class="c0 nf-right-align">No</span><br />
+                                <span class="c0 nf-right-align">Yes</span><br />
                                 <span class="c13 nf-indent">Guardrails</span>
                                     <span class="c0 nf-right-align">Yes</span>
                         </td>

From 1fcd9539d110c23360e1859ef6cadc9675106b57 Mon Sep 17 00:00:00 2001
From: pwseg <86626706+pwseg@users.noreply.github.com>
Date: Wed, 30 Jul 2025 23:07:01 -0700
Subject: [PATCH 160/188] minor rewording

---
 src/unify/Traits/predictions/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/unify/Traits/predictions/index.md b/src/unify/Traits/predictions/index.md
index 11cf3df866..46f1cc9995 100644
--- a/src/unify/Traits/predictions/index.md
+++ b/src/unify/Traits/predictions/index.md
@@ -81,7 +81,7 @@ To access Predictions, you must:
 
 #### Successful trait computation
 
-This table lists the requirements for a trait to compute successfully: Please note that for the events below, there cannot be any days where the event was not seen or performed in the entire workspace
+To compute a prediction successfully, the model must meet the following requirements. In particular, the target event must occur at least once per day across your workspace during the entire Feature Window. If there are days with no activity, the model may not train successfully.
 
 | Requirement                     | Details                                                                                                                                                                                                                               |
 | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

From 7b659ca14c9137866a8a44ef4ced298fc0ef6c80 Mon Sep 17 00:00:00 2001
From: motasem-userpilot <motasem@userpilot.com>
Date: Thu, 31 Jul 2025 09:37:09 +0300
Subject: [PATCH 161/188] =?UTF-8?q?=F0=9F=93=9D=20Update=20index.md?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../catalog/userpilot-mobile/index.md         | 32 +++++++++----------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/src/connections/destinations/catalog/userpilot-mobile/index.md b/src/connections/destinations/catalog/userpilot-mobile/index.md
index 6f33df12b3..068b5d1b7f 100644
--- a/src/connections/destinations/catalog/userpilot-mobile/index.md
+++ b/src/connections/destinations/catalog/userpilot-mobile/index.md
@@ -2,15 +2,15 @@
 title: Userpilot Mobile (Device Mode) Destination
 ---
 
-Userpilot helps product teams deliver personalized in-app experiences to increase growth metrics at every stage of the user journey. When you integrate Userpilot with Segment, you can send your Segment events to Userpilot, allowing you to create more personalized experiences for your users across the product lifecycle.
+Userpilot helps product teams deliver personalized in-app experiences to increase growth metrics at every stage of the user journey. When you integrate Userpilot with Segment, you can send your Segment events to Userpilot, enabling you to create more personalized experiences for your users across the product lifecycle.
 
 [Userpilot](https://www.userpilot.com/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank"} provides in-app guidance, product tours, and contextual onboarding experiences to help teams activate users and drive feature adoption.
 
-This destination is maintained by Userpilot. For any issues with the destination, [contact the Userpilot Support team](mailto:support@userpilot.com).
+Userpilot maintains this destination. For any issues with the destination, [contact the Userpilot Support team](mailto:support@userpilot.com).
 
 ## Getting started
 
-1. From your workspace's [Destination catalog page](https://app.segment.com/goto-my-workspace/destinations/catalog){:target="_blank"}, search for "Userpilot Mobile (Device Mode)".
+1. From your workspace's [Destination catalog page](https://app.segment.com/goto-my-workspace/destinations/catalog){:target="_blank"}, search for *Userpilot Mobile (Device Mode)*.
 2. Select **Userpilot Mobile** and click **Add Destination**.
 3. Select an existing Source to connect to Userpilot.
 4. Go to the [Userpilot installation dashboard](https://run.userpilot.io/installation){:target="_blank"}, and copy your **App Token**.
@@ -29,19 +29,18 @@ analytics.identify(userId: "<USER_ID>", traits: [
   "email": "john.doe@example.com",
   "name": "John Doe",
   "plan": "Pro",
-  "createdAt": "2023-08-01T00:00:00Z"
+  "createdAt": "2019-10-17"
 ])
 ```
 
-Calling `identify` from `Segment` will trigger the `userpilot.identify`. Segment recommends passing as much data as possible to get the most out of Userpilot.
+Calling Identify from Segment triggers `userpilot.identify`. Segment recommends passing as much data as possible to get the most out of Userpilot.
 
-Data passed in an Identify call can be organized under different categories.
-* Properties about the user such as `plan` or `userRole` to help targeting a specifc segment
+Data passed in an Identify call can be organized under these different categories:
+* Properties about the user such as `plan` or `userRole` help target a specific segment
 * Properties to personalize the content of the Userpilot experiences, such as `name` or `company`
-* Properties to target users based on their lifecycle, such as `createdAt`, which allows you to target newly created accounts or accounts that have yet to achieve a certain feature in the user lifecyle
-
-These appear within the Userpilot user dashboard and power audience segmentation and targeting.
+* Properties to target users based on their lifecycle, such as `createdAt`, which allows you to target newly created accounts or accounts that have yet to achieve a certain feature in the user lifecycle
 
+These appear within Userpilot's user dashboard and power audience segmentation and targeting.
 
 ### Group
 Send [Group](/docs/connections/spec/group) calls to associate users with an account, organization, or project.
@@ -53,7 +52,7 @@ analytics.group(groupId: "<GROUP_ID>", traits: [
 ])
 ```
 
-Segment sends Group calls to Userpilot as a `userpilot.identify` update with company-level traits, allowing you to use company metadata in targeting logic.
+Calling Group from Segment triggers `userpilot.identify` with company-level traits, allowing you to use company metadata in targeting logic.
 
 
 ### Screen
@@ -63,7 +62,7 @@ Send [Screen](/docs/connections/spec/screen) calls to track navigation or screen
 analytics.screen(title: "Home")
 ```
 
-Segment sends Screen calls to Userpilot as a `userpilot.screen` event. This allows Userpilot to:
+Calling Screen from Segment triggers `userpilot.screen` event. This allows Userpilot to:
 * Trigger relevant experiences configured for specific pages/screens.
 * Check for ongoing experiences already running.
 
@@ -73,11 +72,12 @@ Segment sends Screen calls to Userpilot as a `userpilot.screen` event. This allo
 Send [Track](/docs/connections/spec/track) calls to log user actions or custom events.
 
 ```swift
-analytics.track(name: "Button Clicked", properties: [
-  "buttonColor": "green"
+analytics.track(name: "Added to Cart", properties: [
+  "itemId" : "sku_456",
+  "price" : 29.99
 ])
 ```
 
-Segment sends Track calls to Userpilot as `userpilot.track`. These custom events can be used to:
-* Trigger specific experiences (e.g., a Caroucel or Survey)
+Calling Track from Segment triggers `userpilot.track`. These custom events can be used to:
+* Trigger specific experiences (for example, a Carousel or Survey)
 * Monitor user behavior for analytics or lifecycle targeting
\ No newline at end of file

From f0c762bfe2bc06b0fdd1eac63cd991c154cfbfa3 Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Thu, 31 Jul 2025 08:27:04 -0400
Subject: [PATCH 162/188] Update index.md

---
 src/connections/destinations/catalog/firebase/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/catalog/firebase/index.md b/src/connections/destinations/catalog/firebase/index.md
index 3c4d7f201b..002454e569 100644
--- a/src/connections/destinations/catalog/firebase/index.md
+++ b/src/connections/destinations/catalog/firebase/index.md
@@ -120,7 +120,7 @@ Consent mode may involve updates to your sources outside of Segment, such as inc
 
 To set up consent mode for Google Firebase:
 1. Update your app's SDK to a version that supports consent mode v2. 
-  * Android apps must use F[irebase Android Analytics SDK version 21.5.0 or later](https://firebase.google.com/support/release-notes/android#analytics_v21-5-0){:target="_blank"}.
+  * Android apps must use [Firebase Android Analytics SDK version 21.5.0 or later](https://firebase.google.com/support/release-notes/android#analytics_v21-5-0){:target="_blank"}.
   * iOS apps must use [Firebase Apple SDK version 10.17.0 or later](https://firebase.google.com/support/release-notes/ios#analytics){:target="_blank"}.
 
 2. Set up consent mode for your app if you haven't already set it up.

From 05d1f8a4ec1136a0a58e4bea1283b59ae7716f51 Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Thu, 31 Jul 2025 09:37:57 -0400
Subject: [PATCH 163/188] Update index.md

---
 src/connections/destinations/catalog/firebase/index.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/connections/destinations/catalog/firebase/index.md b/src/connections/destinations/catalog/firebase/index.md
index 002454e569..0d0c6f5f73 100644
--- a/src/connections/destinations/catalog/firebase/index.md
+++ b/src/connections/destinations/catalog/firebase/index.md
@@ -19,6 +19,9 @@ Segment's Firebase destination code is open source and available on GitHub. You
 
 ## Getting Started on Android
 
+> warning "Firebase doesn't natively support arrays for Realtime Database implementations"
+> If you are using Google's [Realtime Database](https://firebase.google.com/docs/firestore/rtdb-vs-firestore){:target="_blank"} to store Segment event data, see the [Best Practices: Arrays in Firebase](https://firebase.blog/posts/2014/04/best-practices-arrays-in-firebase/){:target="_blank"} blog post for some array best practices.
+
 To start sending data to Firebase Analytics from your Android project, you'll need to follow a few simple steps:
 
 1. Register your mobile app with Firebase at `https://console.firebase.google.com`

From 729e3aac4d10dad9f795595abe9f3121dbeb6952 Mon Sep 17 00:00:00 2001
From: Arnav Dev <ardev@twilio.com>
Date: Thu, 31 Jul 2025 20:36:19 +0530
Subject: [PATCH 164/188] fix: add empty array check to defaultValue

---
 src/_includes/content/destination-footer.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/_includes/content/destination-footer.md b/src/_includes/content/destination-footer.md
index 8c5e0c3864..13fd3de1fe 100644
--- a/src/_includes/content/destination-footer.md
+++ b/src/_includes/content/destination-footer.md
@@ -36,7 +36,7 @@ Segment lets you change these destination settings from the Segment app without
   {% unless item.deprecated == true %}
 <tr>
 <td class="def" id="{{item.label | slugify}}">{{item.label}}{% if item.required == true %}<br /><i>(required)</i>{%endif%}</td>
-<td markdown="span"><code>{{item.type}}</code>{% if item.defaultValue != null and item.defaultValue != "" and item.defaultValue != '{}'%}, defaults to {%if item.type == "array" %}{{item.defaultValue | join: ", " }}{%elsif item.type == "string"%}<code>{{item.defaultValue}}</code> {%elsif item.type == "boolean" %} <code>{{item.defaultValue | upcase }}</code> {%else%} {{item.defaultValue}}{%endif%}. <br /> <br /> {%else%}. {% endif %}{{item.description}}</td>
+<td markdown="span"><code>{{item.type}}</code>{% if item.defaultValue != null and item.defaultValue != "" and item.defaultValue != '{}' and item.defaultValue != '[]'%}, defaults to {%if item.type == "array" %}{{item.defaultValue | join: ", " }}{%elsif item.type == "string"%}<code>{{item.defaultValue}}</code> {%elsif item.type == "boolean" %} <code>{{item.defaultValue | upcase }}</code> {%else%} {{item.defaultValue}}{%endif%}. <br /> <br /> {%else%}. {% endif %}{{item.description}}</td>
 </tr>
 
 

From 5838381cf46679087a6ae199c096d797b526c427 Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Thu, 31 Jul 2025 16:15:26 +0100
Subject: [PATCH 165/188] no more pleases

---
 .../destinations/catalog/actions-tiktok-audiences/index.md    | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/connections/destinations/catalog/actions-tiktok-audiences/index.md b/src/connections/destinations/catalog/actions-tiktok-audiences/index.md
index e264a92c4d..b5c184c6df 100644
--- a/src/connections/destinations/catalog/actions-tiktok-audiences/index.md
+++ b/src/connections/destinations/catalog/actions-tiktok-audiences/index.md
@@ -69,7 +69,7 @@ The setup is complete and the audience will start syncing to TikTok. The audienc
 
 1. From the Segment web app, navigate to **Engage > Audiences**. Ensure you are in the Engage space you plan to use with the TikTok Audiences destination. Either choose an existing Engage audience or create a new one. This is the audience you plan to send to TikTok.
 
-2. Navigate to **Engage > Engage Settings** and click **Destinations**. Please ensure you are still in the correct Engage space.
+2. Navigate to **Engage > Engage Settings** and click **Destinations**. Ensure you are still in the correct Engage space.
 
 3. Search for “TikTok Audiences” and select the destination. Click **Configure TikTok Audiences**.
 
@@ -90,7 +90,7 @@ The setup is complete and the audience will start syncing to TikTok. The audienc
 
 11.  Click **Add Destinations** and select the TikTok Audiences destination you just created. In the settings that appear in the side panel, toggle the **Send Track** option on and do **not** change the Audience Entered/Audience Exited event names. Click **Save Settings**.
 
-The setup is complete and the audience will start syncing to TikTok. The audience will appear in your [TikTok Ads Manager](https://www.tiktok.com/business/en-US/solutions/ads-manager){:target="_blank"} account under **Assets > Audiences**. Please note that it can take 24-48 hours for users to appear in TikTok.
+The setup is complete and the audience will start syncing to TikTok. The audience will appear in your [TikTok Ads Manager](https://www.tiktok.com/business/en-US/solutions/ads-manager){:target="_blank"} account under **Assets > Audiences**. It can take 24-48 hours for users to appear in TikTok.
 
 To sync additional audiences from your Engage space, create a separate mapping in the TikTok Audiences destination. Navigate to **Connections > Destinations**, search and select the TikTok Audiences destination, and follow steps 7-11 above.
 

From d7b78400d68fb2bf9b01affc1352f1a13c5b0d1d Mon Sep 17 00:00:00 2001
From: pwseg <paul.wooley@segment.com>
Date: Thu, 31 Jul 2025 11:41:40 -0700
Subject: [PATCH 166/188] catalog update

---
 src/_data/catalog/destination_categories.yml |    2 +-
 src/_data/catalog/destinations.yml           | 3086 ++++++++++++++++--
 src/_data/catalog/destinations_private.yml   |    2 +-
 src/_data/catalog/source_categories.yml      |    2 +-
 src/_data/catalog/sources.yml                |    2 +-
 5 files changed, 2751 insertions(+), 343 deletions(-)

diff --git a/src/_data/catalog/destination_categories.yml b/src/_data/catalog/destination_categories.yml
index 3aeb133de6..22e3877200 100644
--- a/src/_data/catalog/destination_categories.yml
+++ b/src/_data/catalog/destination_categories.yml
@@ -1,5 +1,5 @@
 # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
-# destination categories last updated 2025-07-24 
+# destination categories last updated 2025-07-31 
 items:
 - display_name: A/B Testing
   slug: a-b-testing
diff --git a/src/_data/catalog/destinations.yml b/src/_data/catalog/destinations.yml
index 6212e6c22a..9b363008b5 100644
--- a/src/_data/catalog/destinations.yml
+++ b/src/_data/catalog/destinations.yml
@@ -1,5 +1,5 @@
 # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
-# destination data last updated 2025-07-24 
+# destination data last updated 2025-07-31 
 items:
 - id: 637e8d185e2dec264895ea89
   display_name: 1Flow
@@ -7408,6 +7408,2302 @@ items:
       allowNull: false
   presets: []
   partnerOwned: false
+- id: 683ef14a3f9aac157e3a3446
+  display_name: Amazon Conversions Api
+  name: Amazon Conversions Api
+  slug: amazon-conversions-api
+  hidden: false
+  endpoints:
+  - US
+  regions:
+  - us-west-2
+  - eu-west-1
+  url: connections/destinations/catalog/amazon-conversions-api
+  previous_names:
+  - Amazon Conversions Api
+  website: https://advertising.amazon.com/help/GEDE65PCE2CL5P63
+  status: PUBLIC_BETA
+  categories:
+  - Advertising
+  - Attribution
+  logo:
+    url: https://cdn-devcenter.segment.com/a4e77672-0b0c-4c68-b522-bbd6f83d33b5.svg
+  mark:
+    url: https://cdn-devcenter.segment.com/51ad439c-55ca-4bc7-97f4-3cd896f24766.svg
+  methods:
+    track: true
+    identify: true
+    group: true
+    alias: true
+    screen: false
+    page: true
+  platforms:
+    browser: true
+    mobile: false
+    server: true
+    warehouse: true
+    cloudAppObject: false
+    linkedAudiences: true
+  components: []
+  browserUnbundlingSupported: false
+  browserUnbundlingPublic: false
+  replay: false
+  connection_modes:
+    device:
+      web: false
+      mobile: false
+      server: false
+    cloud:
+      web: true
+      mobile: false
+      server: true
+  settings:
+  - name: advertiserId
+    type: string
+    defaultValue: ''
+    description: Your Amazon Advertiser Account ID.
+    required: true
+    label: Amazon Advertiser ID
+  - name: region
+    type: select
+    defaultValue: https://advertising-api.amazon.com
+    description: Region for API Endpoint, either NA, EU, FE.
+    required: true
+    label: Region
+  actions:
+  - id: 3PXoEXmHMzVcnY5RaMTcQp
+    name: Track Conversion
+    slug: trackConversion
+    description: Send conversion event data to Amazon Events API
+    platform: CLOUD
+    hidden: false
+    defaultTrigger: type = "track"
+    fields:
+    - id: qgPBt4VU1i9xAd7B9VeAtF
+      sortOrder: 0
+      fieldKey: name
+      label: Event Name
+      type: STRING
+      description: The name of the imported event.
+      placeholder: ''
+      defaultValue:
+        '@path': $.event
+      required: true
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: hqKYNYP77wh4xNjxN2VzJa
+      sortOrder: 1
+      fieldKey: eventType
+      label: Event Type
+      type: STRING
+      description: The standard Amazon event type.
+      placeholder: ''
+      required: true
+      multiple: false
+      choices:
+      - label: Add to Shopping Cart
+        value: ADD_TO_SHOPPING_CART
+      - label: Application
+        value: APPLICATION
+      - label: Checkout
+        value: CHECKOUT
+      - label: Contact
+        value: CONTACT
+      - label: Lead
+        value: LEAD
+      - label: Off Amazon Purchases
+        value: OFF_AMAZON_PURCHASES
+      - label: Mobile App First Start
+        value: MOBILE_APP_FIRST_START
+      - label: Page View
+        value: PAGE_VIEW
+      - label: Search
+        value: SEARCH
+      - label: Sign Up
+        value: SIGN_UP
+      - label: Subscribe
+        value: SUBSCRIBE
+      - label: Other
+        value: OTHER
+      dynamic: false
+      allowNull: false
+    - id: kWXzbjoTkpx4aWmfePffqR
+      sortOrder: 2
+      fieldKey: eventActionSource
+      label: Event Action Source
+      type: STRING
+      description: >-
+        The platform from which the event was sourced. If no value is provided,
+        then website is used as default.
+      placeholder: ''
+      defaultValue:
+        '@if':
+          exists:
+            '@path': $.context.device.type
+          then:
+            '@path': $.context.device.type
+          else: website
+      required: true
+      multiple: false
+      choices:
+      - label: Android
+        value: android
+      - label: Fire TV
+        value: fire_tv
+      - label: iOS
+        value: ios
+      - label: Offline
+        value: offline
+      - label: Website
+        value: website
+      dynamic: false
+      allowNull: false
+    - id: 6ZXd93NwZbHq1HWx8Dy4R9
+      sortOrder: 3
+      fieldKey: countryCode
+      label: Country Code
+      type: STRING
+      description: >-
+        ISO 3166-1 alpha-2 country code. e.g., US, GB. Also accepts locale
+        codes. e.g en-US, en-GB.
+      placeholder: ''
+      defaultValue:
+        '@path': $.context.locale
+      required: true
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: qEbRQtxiwE6UXgVqgew7gu
+      sortOrder: 4
+      fieldKey: timestamp
+      label: Event Timestamp
+      type: STRING
+      description: >-
+        The reported timestamp of when the event occurred in ISO format
+        (YYYY-MM-DDThh:mm:ssTZD).
+      placeholder: ''
+      defaultValue:
+        '@path': $.timestamp
+      required: true
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: rMe47AeWoAE33izcVbNMGX
+      sortOrder: 5
+      fieldKey: value
+      label: Value
+      type: NUMBER
+      description: The value of the event.
+      placeholder: ''
+      defaultValue:
+        '@path': $.properties.value
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: pFA5UVqRSZ8MF6WTEcYsH2
+      sortOrder: 6
+      fieldKey: currencyCode
+      label: Currency Code
+      type: STRING
+      description: >-
+        The currencyCode associated with the 'value' of the event in ISO-4217
+        format. Only applicable for OFF_AMAZON_PURCHASES event type.
+      placeholder: ''
+      defaultValue:
+        '@path': $.properties.currency
+      required: false
+      multiple: false
+      choices:
+      - label: AED - UAE Dirham
+        value: AED
+      - label: AUD - Australian Dollar
+        value: AUD
+      - label: BRL - Brazilian Real
+        value: BRL
+      - label: CAD - Canadian Dollar
+        value: CAD
+      - label: CNY - Chinese Yuan
+        value: CNY
+      - label: EUR - Euro
+        value: EUR
+      - label: GBP - British Pound
+        value: GBP
+      - label: INR - Indian Rupee
+        value: INR
+      - label: JPY - Japanese Yen
+        value: JPY
+      - label: MXN - Mexican Peso
+        value: MXN
+      - label: SAR - Saudi Riyal
+        value: SAR
+      - label: SEK - Swedish Krona
+        value: SEK
+      - label: SGD - Singapore Dollar
+        value: SGD
+      - label: TRY - Turkish Lira
+        value: TRY
+      - label: USD - US Dollar
+        value: USD
+      - label: DKK - Danish Krone
+        value: DKK
+      - label: NOK - Norwegian Krone
+        value: NOK
+      - label: NZD - New Zealand Dollar
+        value: NZD
+      dynamic: false
+      allowNull: false
+    - id: gPjsuc6hZv3Ao8BPPVF1HT
+      sortOrder: 7
+      fieldKey: unitsSold
+      label: Units Sold
+      type: INTEGER
+      description: >-
+        The number of items purchased. Only applicable for OFF_AMAZON_PURCHASES
+        event type. If not provided on the event, a default of 1 will be
+        applied.
+      placeholder: ''
+      defaultValue:
+        '@path': $.properties.quantity
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: pKg4gSsqnBn9GX8PsEk5qv
+      sortOrder: 8
+      fieldKey: clientDedupeId
+      label: Client Dedupe ID
+      type: STRING
+      description: >-
+        Amazon Conversions API uses the `clientDedupeId` field to prevent
+        duplicate events. By default, Segment maps the messageId to this field.
+        For events with the same clientDedupeId, only the latest event will be
+        processed. Please be advised that deduplication occurs across all event
+        types, rather than being limited to individual event types.
+      placeholder: ''
+      defaultValue:
+        '@path': $.messageId
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: rGnUAdVa6EL8GcZSw4T7Re
+      sortOrder: 9
+      fieldKey: matchKeys
+      label: Match Keys
+      type: OBJECT
+      description: >-
+        Match keys are used to identify the customer associated with the event
+        for attribution. At least one match key must be provided.
+      placeholder: ''
+      defaultValue:
+        email:
+          '@if':
+            exists:
+              '@path': $.context.traits.email
+            then:
+              '@path': $.context.traits.email
+            else:
+              '@path': $.properties.email
+        phone:
+          '@if':
+            exists:
+              '@path': $.context.traits.phone
+            then:
+              '@path': $.context.traits.phone
+            else:
+              '@path': $.properties.phone
+        firstName:
+          '@if':
+            exists:
+              '@path': $.context.traits.firstName
+            then:
+              '@path': $.context.traits.firstName
+            else:
+              '@path': $.properties.firstName
+        lastName:
+          '@if':
+            exists:
+              '@path': $.context.traits.lastName
+            then:
+              '@path': $.context.traits.lastName
+            else:
+              '@path': $.properties.lastName
+        address:
+          '@if':
+            exists:
+              '@path': $.context.traits.street
+            then:
+              '@path': $.context.traits.street
+            else:
+              '@path': $.properties.street
+        city:
+          '@if':
+            exists:
+              '@path': $.context.traits.city
+            then:
+              '@path': $.context.traits.city
+            else:
+              '@path': $.properties.city
+        state:
+          '@if':
+            exists:
+              '@path': $.context.traits.state
+            then:
+              '@path': $.context.traits.state
+            else:
+              '@path': $.properties.state
+        postalCode:
+          '@if':
+            exists:
+              '@path': $.context.traits.postalCode
+            then:
+              '@path': $.context.traits.postalCode
+            else:
+              '@path': $.properties.postalCode
+        maid:
+          '@path': context.device.advertisingId
+        rampId:
+          '@if':
+            exists:
+              '@path': $.context.traits.rampId
+            then:
+              '@path': $.context.traits.rampId
+            else:
+              '@path': $.properties.rampId
+        matchId:
+          '@if':
+            exists:
+              '@path': $.context.traits.matchId
+            then:
+              '@path': $.context.traits.matchId
+            else:
+              '@path': $.properties.matchId
+      required: true
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: csMgVG3qpFU5cS3c4Gzf1k
+      sortOrder: 10
+      fieldKey: dataProcessingOptions
+      label: Data Processing Options
+      type: STRING
+      description: >-
+        A list of flags for signaling how an event shall be processed. Events
+        marked for limited data use will not be processed.
+      placeholder: ''
+      defaultValue:
+        '@path': $.properties.dataProcessingOptions
+      required: false
+      multiple: true
+      choices:
+      - label: Limited Data Use
+        value: LIMITED_DATA_USE
+      dynamic: false
+      allowNull: false
+    - id: 7RekLhoew8JipZEbxxMJgb
+      sortOrder: 11
+      fieldKey: consent
+      label: Consent
+      type: OBJECT
+      description: >-
+        Describes consent given by the user for advertising purposes. For EU
+        advertisers, it is required to provide one of Geo ipAddress,
+        amazonConsent, tcf, or gpp.
+      placeholder: ''
+      defaultValue:
+        ipAddress:
+          '@path': $.context.ip
+        amznAdStorage:
+          '@path': $.properties.amznAdStorage
+        amznUserData:
+          '@path': $.properties.amznUserData
+        tcf:
+          '@path': $.properties.tcf
+        gpp:
+          '@path': $.properties.gpp
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: 2xTkY2f7p33a19dTA8Ly8i
+      sortOrder: 12
+      fieldKey: customAttributes
+      label: Custom Attributes
+      type: OBJECT
+      description: >-
+        Custom attributes associated with the event to provide additional
+        context. Note that only brand, category, productId and attr1 - attr10
+        custom attributes are used for reporting.
+      placeholder: ''
+      defaultValue:
+        brand:
+          '@path': $.properties.brand
+        category:
+          '@path': $.properties.category
+        productId:
+          '@path': $.properties.productId
+        attr1:
+          '@path': $.properties.attr1
+        attr2:
+          '@path': $.properties.attr2
+        attr3:
+          '@path': $.properties.attr3
+        attr4:
+          '@path': $.properties.attr4
+        attr5:
+          '@path': $.properties.attr5
+        attr6:
+          '@path': $.properties.attr6
+        attr7:
+          '@path': $.properties.attr7
+        attr8:
+          '@path': $.properties.attr8
+        attr9:
+          '@path': $.properties.attr9
+        attr10:
+          '@path': $.properties.attr10
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: 29gVGBzJAjVHfNx6XYWAVY
+      sortOrder: 13
+      fieldKey: enable_batching
+      label: Enable Batching
+      type: BOOLEAN
+      description: When enabled, Segment will send data in batching.
+      placeholder: ''
+      defaultValue: true
+      required: true
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+  presets:
+  - actionId: 3PXoEXmHMzVcnY5RaMTcQp
+    name: Sign Up
+    fields:
+      name:
+        '@path': $.event
+      eventActionSource:
+        '@if':
+          exists:
+            '@path': $.context.device.type
+          then:
+            '@path': $.context.device.type
+          else: website
+      countryCode:
+        '@path': $.context.locale
+      timestamp:
+        '@path': $.timestamp
+      value:
+        '@path': $.properties.value
+      currencyCode:
+        '@path': $.properties.currency
+      unitsSold:
+        '@path': $.properties.quantity
+      clientDedupeId:
+        '@path': $.messageId
+      matchKeys:
+        email:
+          '@if':
+            exists:
+              '@path': $.context.traits.email
+            then:
+              '@path': $.context.traits.email
+            else:
+              '@path': $.properties.email
+        phone:
+          '@if':
+            exists:
+              '@path': $.context.traits.phone
+            then:
+              '@path': $.context.traits.phone
+            else:
+              '@path': $.properties.phone
+        firstName:
+          '@if':
+            exists:
+              '@path': $.context.traits.firstName
+            then:
+              '@path': $.context.traits.firstName
+            else:
+              '@path': $.properties.firstName
+        lastName:
+          '@if':
+            exists:
+              '@path': $.context.traits.lastName
+            then:
+              '@path': $.context.traits.lastName
+            else:
+              '@path': $.properties.lastName
+        address:
+          '@if':
+            exists:
+              '@path': $.context.traits.street
+            then:
+              '@path': $.context.traits.street
+            else:
+              '@path': $.properties.street
+        city:
+          '@if':
+            exists:
+              '@path': $.context.traits.city
+            then:
+              '@path': $.context.traits.city
+            else:
+              '@path': $.properties.city
+        state:
+          '@if':
+            exists:
+              '@path': $.context.traits.state
+            then:
+              '@path': $.context.traits.state
+            else:
+              '@path': $.properties.state
+        postalCode:
+          '@if':
+            exists:
+              '@path': $.context.traits.postalCode
+            then:
+              '@path': $.context.traits.postalCode
+            else:
+              '@path': $.properties.postalCode
+        maid:
+          '@path': context.device.advertisingId
+        rampId:
+          '@if':
+            exists:
+              '@path': $.context.traits.rampId
+            then:
+              '@path': $.context.traits.rampId
+            else:
+              '@path': $.properties.rampId
+        matchId:
+          '@if':
+            exists:
+              '@path': $.context.traits.matchId
+            then:
+              '@path': $.context.traits.matchId
+            else:
+              '@path': $.properties.matchId
+      dataProcessingOptions:
+        '@path': $.properties.dataProcessingOptions
+      consent:
+        ipAddress:
+          '@path': $.context.ip
+        amznAdStorage:
+          '@path': $.properties.amznAdStorage
+        amznUserData:
+          '@path': $.properties.amznUserData
+        tcf:
+          '@path': $.properties.tcf
+        gpp:
+          '@path': $.properties.gpp
+      customAttributes:
+        brand:
+          '@path': $.properties.brand
+        category:
+          '@path': $.properties.category
+        productId:
+          '@path': $.properties.productId
+        attr1:
+          '@path': $.properties.attr1
+        attr2:
+          '@path': $.properties.attr2
+        attr3:
+          '@path': $.properties.attr3
+        attr4:
+          '@path': $.properties.attr4
+        attr5:
+          '@path': $.properties.attr5
+        attr6:
+          '@path': $.properties.attr6
+        attr7:
+          '@path': $.properties.attr7
+        attr8:
+          '@path': $.properties.attr8
+        attr9:
+          '@path': $.properties.attr9
+        attr10:
+          '@path': $.properties.attr10
+      enable_batching: true
+      batch_size: 500
+      eventType: SIGN_UP
+    trigger: type = "track" AND event = "Signed Up"
+  - actionId: 3PXoEXmHMzVcnY5RaMTcQp
+    name: Subscribe
+    fields:
+      name:
+        '@path': $.event
+      eventActionSource:
+        '@if':
+          exists:
+            '@path': $.context.device.type
+          then:
+            '@path': $.context.device.type
+          else: website
+      countryCode:
+        '@path': $.context.locale
+      timestamp:
+        '@path': $.timestamp
+      value:
+        '@path': $.properties.value
+      currencyCode:
+        '@path': $.properties.currency
+      unitsSold:
+        '@path': $.properties.quantity
+      clientDedupeId:
+        '@path': $.messageId
+      matchKeys:
+        email:
+          '@if':
+            exists:
+              '@path': $.context.traits.email
+            then:
+              '@path': $.context.traits.email
+            else:
+              '@path': $.properties.email
+        phone:
+          '@if':
+            exists:
+              '@path': $.context.traits.phone
+            then:
+              '@path': $.context.traits.phone
+            else:
+              '@path': $.properties.phone
+        firstName:
+          '@if':
+            exists:
+              '@path': $.context.traits.firstName
+            then:
+              '@path': $.context.traits.firstName
+            else:
+              '@path': $.properties.firstName
+        lastName:
+          '@if':
+            exists:
+              '@path': $.context.traits.lastName
+            then:
+              '@path': $.context.traits.lastName
+            else:
+              '@path': $.properties.lastName
+        address:
+          '@if':
+            exists:
+              '@path': $.context.traits.street
+            then:
+              '@path': $.context.traits.street
+            else:
+              '@path': $.properties.street
+        city:
+          '@if':
+            exists:
+              '@path': $.context.traits.city
+            then:
+              '@path': $.context.traits.city
+            else:
+              '@path': $.properties.city
+        state:
+          '@if':
+            exists:
+              '@path': $.context.traits.state
+            then:
+              '@path': $.context.traits.state
+            else:
+              '@path': $.properties.state
+        postalCode:
+          '@if':
+            exists:
+              '@path': $.context.traits.postalCode
+            then:
+              '@path': $.context.traits.postalCode
+            else:
+              '@path': $.properties.postalCode
+        maid:
+          '@path': context.device.advertisingId
+        rampId:
+          '@if':
+            exists:
+              '@path': $.context.traits.rampId
+            then:
+              '@path': $.context.traits.rampId
+            else:
+              '@path': $.properties.rampId
+        matchId:
+          '@if':
+            exists:
+              '@path': $.context.traits.matchId
+            then:
+              '@path': $.context.traits.matchId
+            else:
+              '@path': $.properties.matchId
+      dataProcessingOptions:
+        '@path': $.properties.dataProcessingOptions
+      consent:
+        ipAddress:
+          '@path': $.context.ip
+        amznAdStorage:
+          '@path': $.properties.amznAdStorage
+        amznUserData:
+          '@path': $.properties.amznUserData
+        tcf:
+          '@path': $.properties.tcf
+        gpp:
+          '@path': $.properties.gpp
+      customAttributes:
+        brand:
+          '@path': $.properties.brand
+        category:
+          '@path': $.properties.category
+        productId:
+          '@path': $.properties.productId
+        attr1:
+          '@path': $.properties.attr1
+        attr2:
+          '@path': $.properties.attr2
+        attr3:
+          '@path': $.properties.attr3
+        attr4:
+          '@path': $.properties.attr4
+        attr5:
+          '@path': $.properties.attr5
+        attr6:
+          '@path': $.properties.attr6
+        attr7:
+          '@path': $.properties.attr7
+        attr8:
+          '@path': $.properties.attr8
+        attr9:
+          '@path': $.properties.attr9
+        attr10:
+          '@path': $.properties.attr10
+      enable_batching: true
+      batch_size: 500
+      eventType: SUBSCRIBE
+    trigger: type = "track" AND event = "Subscription Created"
+  - actionId: 3PXoEXmHMzVcnY5RaMTcQp
+    name: Off Amazon Purchases
+    fields:
+      name:
+        '@path': $.event
+      eventActionSource:
+        '@if':
+          exists:
+            '@path': $.context.device.type
+          then:
+            '@path': $.context.device.type
+          else: website
+      countryCode:
+        '@path': $.context.locale
+      timestamp:
+        '@path': $.timestamp
+      value:
+        '@path': $.properties.value
+      currencyCode:
+        '@path': $.properties.currency
+      unitsSold:
+        '@path': $.properties.quantity
+      clientDedupeId:
+        '@path': $.messageId
+      matchKeys:
+        email:
+          '@if':
+            exists:
+              '@path': $.context.traits.email
+            then:
+              '@path': $.context.traits.email
+            else:
+              '@path': $.properties.email
+        phone:
+          '@if':
+            exists:
+              '@path': $.context.traits.phone
+            then:
+              '@path': $.context.traits.phone
+            else:
+              '@path': $.properties.phone
+        firstName:
+          '@if':
+            exists:
+              '@path': $.context.traits.firstName
+            then:
+              '@path': $.context.traits.firstName
+            else:
+              '@path': $.properties.firstName
+        lastName:
+          '@if':
+            exists:
+              '@path': $.context.traits.lastName
+            then:
+              '@path': $.context.traits.lastName
+            else:
+              '@path': $.properties.lastName
+        address:
+          '@if':
+            exists:
+              '@path': $.context.traits.street
+            then:
+              '@path': $.context.traits.street
+            else:
+              '@path': $.properties.street
+        city:
+          '@if':
+            exists:
+              '@path': $.context.traits.city
+            then:
+              '@path': $.context.traits.city
+            else:
+              '@path': $.properties.city
+        state:
+          '@if':
+            exists:
+              '@path': $.context.traits.state
+            then:
+              '@path': $.context.traits.state
+            else:
+              '@path': $.properties.state
+        postalCode:
+          '@if':
+            exists:
+              '@path': $.context.traits.postalCode
+            then:
+              '@path': $.context.traits.postalCode
+            else:
+              '@path': $.properties.postalCode
+        maid:
+          '@path': context.device.advertisingId
+        rampId:
+          '@if':
+            exists:
+              '@path': $.context.traits.rampId
+            then:
+              '@path': $.context.traits.rampId
+            else:
+              '@path': $.properties.rampId
+        matchId:
+          '@if':
+            exists:
+              '@path': $.context.traits.matchId
+            then:
+              '@path': $.context.traits.matchId
+            else:
+              '@path': $.properties.matchId
+      dataProcessingOptions:
+        '@path': $.properties.dataProcessingOptions
+      consent:
+        ipAddress:
+          '@path': $.context.ip
+        amznAdStorage:
+          '@path': $.properties.amznAdStorage
+        amznUserData:
+          '@path': $.properties.amznUserData
+        tcf:
+          '@path': $.properties.tcf
+        gpp:
+          '@path': $.properties.gpp
+      customAttributes:
+        brand:
+          '@path': $.properties.brand
+        category:
+          '@path': $.properties.category
+        productId:
+          '@path': $.properties.productId
+        attr1:
+          '@path': $.properties.attr1
+        attr2:
+          '@path': $.properties.attr2
+        attr3:
+          '@path': $.properties.attr3
+        attr4:
+          '@path': $.properties.attr4
+        attr5:
+          '@path': $.properties.attr5
+        attr6:
+          '@path': $.properties.attr6
+        attr7:
+          '@path': $.properties.attr7
+        attr8:
+          '@path': $.properties.attr8
+        attr9:
+          '@path': $.properties.attr9
+        attr10:
+          '@path': $.properties.attr10
+      enable_batching: true
+      batch_size: 500
+      eventType: OFF_AMAZON_PURCHASES
+    trigger: type = "track" AND event = "Order Completed"
+  - actionId: 3PXoEXmHMzVcnY5RaMTcQp
+    name: Page View
+    fields:
+      name:
+        '@path': $.event
+      eventActionSource:
+        '@if':
+          exists:
+            '@path': $.context.device.type
+          then:
+            '@path': $.context.device.type
+          else: website
+      countryCode:
+        '@path': $.context.locale
+      timestamp:
+        '@path': $.timestamp
+      value:
+        '@path': $.properties.value
+      currencyCode:
+        '@path': $.properties.currency
+      unitsSold:
+        '@path': $.properties.quantity
+      clientDedupeId:
+        '@path': $.messageId
+      matchKeys:
+        email:
+          '@if':
+            exists:
+              '@path': $.context.traits.email
+            then:
+              '@path': $.context.traits.email
+            else:
+              '@path': $.properties.email
+        phone:
+          '@if':
+            exists:
+              '@path': $.context.traits.phone
+            then:
+              '@path': $.context.traits.phone
+            else:
+              '@path': $.properties.phone
+        firstName:
+          '@if':
+            exists:
+              '@path': $.context.traits.firstName
+            then:
+              '@path': $.context.traits.firstName
+            else:
+              '@path': $.properties.firstName
+        lastName:
+          '@if':
+            exists:
+              '@path': $.context.traits.lastName
+            then:
+              '@path': $.context.traits.lastName
+            else:
+              '@path': $.properties.lastName
+        address:
+          '@if':
+            exists:
+              '@path': $.context.traits.street
+            then:
+              '@path': $.context.traits.street
+            else:
+              '@path': $.properties.street
+        city:
+          '@if':
+            exists:
+              '@path': $.context.traits.city
+            then:
+              '@path': $.context.traits.city
+            else:
+              '@path': $.properties.city
+        state:
+          '@if':
+            exists:
+              '@path': $.context.traits.state
+            then:
+              '@path': $.context.traits.state
+            else:
+              '@path': $.properties.state
+        postalCode:
+          '@if':
+            exists:
+              '@path': $.context.traits.postalCode
+            then:
+              '@path': $.context.traits.postalCode
+            else:
+              '@path': $.properties.postalCode
+        maid:
+          '@path': context.device.advertisingId
+        rampId:
+          '@if':
+            exists:
+              '@path': $.context.traits.rampId
+            then:
+              '@path': $.context.traits.rampId
+            else:
+              '@path': $.properties.rampId
+        matchId:
+          '@if':
+            exists:
+              '@path': $.context.traits.matchId
+            then:
+              '@path': $.context.traits.matchId
+            else:
+              '@path': $.properties.matchId
+      dataProcessingOptions:
+        '@path': $.properties.dataProcessingOptions
+      consent:
+        ipAddress:
+          '@path': $.context.ip
+        amznAdStorage:
+          '@path': $.properties.amznAdStorage
+        amznUserData:
+          '@path': $.properties.amznUserData
+        tcf:
+          '@path': $.properties.tcf
+        gpp:
+          '@path': $.properties.gpp
+      customAttributes:
+        brand:
+          '@path': $.properties.brand
+        category:
+          '@path': $.properties.category
+        productId:
+          '@path': $.properties.productId
+        attr1:
+          '@path': $.properties.attr1
+        attr2:
+          '@path': $.properties.attr2
+        attr3:
+          '@path': $.properties.attr3
+        attr4:
+          '@path': $.properties.attr4
+        attr5:
+          '@path': $.properties.attr5
+        attr6:
+          '@path': $.properties.attr6
+        attr7:
+          '@path': $.properties.attr7
+        attr8:
+          '@path': $.properties.attr8
+        attr9:
+          '@path': $.properties.attr9
+        attr10:
+          '@path': $.properties.attr10
+      enable_batching: true
+      batch_size: 500
+      eventType: PAGE_VIEW
+    trigger: type = "page"
+  - actionId: 3PXoEXmHMzVcnY5RaMTcQp
+    name: Other
+    fields:
+      name:
+        '@path': $.event
+      eventActionSource:
+        '@if':
+          exists:
+            '@path': $.context.device.type
+          then:
+            '@path': $.context.device.type
+          else: website
+      countryCode:
+        '@path': $.context.locale
+      timestamp:
+        '@path': $.timestamp
+      value:
+        '@path': $.properties.value
+      currencyCode:
+        '@path': $.properties.currency
+      unitsSold:
+        '@path': $.properties.quantity
+      clientDedupeId:
+        '@path': $.messageId
+      matchKeys:
+        email:
+          '@if':
+            exists:
+              '@path': $.context.traits.email
+            then:
+              '@path': $.context.traits.email
+            else:
+              '@path': $.properties.email
+        phone:
+          '@if':
+            exists:
+              '@path': $.context.traits.phone
+            then:
+              '@path': $.context.traits.phone
+            else:
+              '@path': $.properties.phone
+        firstName:
+          '@if':
+            exists:
+              '@path': $.context.traits.firstName
+            then:
+              '@path': $.context.traits.firstName
+            else:
+              '@path': $.properties.firstName
+        lastName:
+          '@if':
+            exists:
+              '@path': $.context.traits.lastName
+            then:
+              '@path': $.context.traits.lastName
+            else:
+              '@path': $.properties.lastName
+        address:
+          '@if':
+            exists:
+              '@path': $.context.traits.street
+            then:
+              '@path': $.context.traits.street
+            else:
+              '@path': $.properties.street
+        city:
+          '@if':
+            exists:
+              '@path': $.context.traits.city
+            then:
+              '@path': $.context.traits.city
+            else:
+              '@path': $.properties.city
+        state:
+          '@if':
+            exists:
+              '@path': $.context.traits.state
+            then:
+              '@path': $.context.traits.state
+            else:
+              '@path': $.properties.state
+        postalCode:
+          '@if':
+            exists:
+              '@path': $.context.traits.postalCode
+            then:
+              '@path': $.context.traits.postalCode
+            else:
+              '@path': $.properties.postalCode
+        maid:
+          '@path': context.device.advertisingId
+        rampId:
+          '@if':
+            exists:
+              '@path': $.context.traits.rampId
+            then:
+              '@path': $.context.traits.rampId
+            else:
+              '@path': $.properties.rampId
+        matchId:
+          '@if':
+            exists:
+              '@path': $.context.traits.matchId
+            then:
+              '@path': $.context.traits.matchId
+            else:
+              '@path': $.properties.matchId
+      dataProcessingOptions:
+        '@path': $.properties.dataProcessingOptions
+      consent:
+        ipAddress:
+          '@path': $.context.ip
+        amznAdStorage:
+          '@path': $.properties.amznAdStorage
+        amznUserData:
+          '@path': $.properties.amznUserData
+        tcf:
+          '@path': $.properties.tcf
+        gpp:
+          '@path': $.properties.gpp
+      customAttributes:
+        brand:
+          '@path': $.properties.brand
+        category:
+          '@path': $.properties.category
+        productId:
+          '@path': $.properties.productId
+        attr1:
+          '@path': $.properties.attr1
+        attr2:
+          '@path': $.properties.attr2
+        attr3:
+          '@path': $.properties.attr3
+        attr4:
+          '@path': $.properties.attr4
+        attr5:
+          '@path': $.properties.attr5
+        attr6:
+          '@path': $.properties.attr6
+        attr7:
+          '@path': $.properties.attr7
+        attr8:
+          '@path': $.properties.attr8
+        attr9:
+          '@path': $.properties.attr9
+        attr10:
+          '@path': $.properties.attr10
+      enable_batching: true
+      batch_size: 500
+      eventType: OTHER
+    trigger: type = "track" AND event = "Other"
+  - actionId: 3PXoEXmHMzVcnY5RaMTcQp
+    name: Checkout
+    fields:
+      name:
+        '@path': $.event
+      eventActionSource:
+        '@if':
+          exists:
+            '@path': $.context.device.type
+          then:
+            '@path': $.context.device.type
+          else: website
+      countryCode:
+        '@path': $.context.locale
+      timestamp:
+        '@path': $.timestamp
+      value:
+        '@path': $.properties.value
+      currencyCode:
+        '@path': $.properties.currency
+      unitsSold:
+        '@path': $.properties.quantity
+      clientDedupeId:
+        '@path': $.messageId
+      matchKeys:
+        email:
+          '@if':
+            exists:
+              '@path': $.context.traits.email
+            then:
+              '@path': $.context.traits.email
+            else:
+              '@path': $.properties.email
+        phone:
+          '@if':
+            exists:
+              '@path': $.context.traits.phone
+            then:
+              '@path': $.context.traits.phone
+            else:
+              '@path': $.properties.phone
+        firstName:
+          '@if':
+            exists:
+              '@path': $.context.traits.firstName
+            then:
+              '@path': $.context.traits.firstName
+            else:
+              '@path': $.properties.firstName
+        lastName:
+          '@if':
+            exists:
+              '@path': $.context.traits.lastName
+            then:
+              '@path': $.context.traits.lastName
+            else:
+              '@path': $.properties.lastName
+        address:
+          '@if':
+            exists:
+              '@path': $.context.traits.street
+            then:
+              '@path': $.context.traits.street
+            else:
+              '@path': $.properties.street
+        city:
+          '@if':
+            exists:
+              '@path': $.context.traits.city
+            then:
+              '@path': $.context.traits.city
+            else:
+              '@path': $.properties.city
+        state:
+          '@if':
+            exists:
+              '@path': $.context.traits.state
+            then:
+              '@path': $.context.traits.state
+            else:
+              '@path': $.properties.state
+        postalCode:
+          '@if':
+            exists:
+              '@path': $.context.traits.postalCode
+            then:
+              '@path': $.context.traits.postalCode
+            else:
+              '@path': $.properties.postalCode
+        maid:
+          '@path': context.device.advertisingId
+        rampId:
+          '@if':
+            exists:
+              '@path': $.context.traits.rampId
+            then:
+              '@path': $.context.traits.rampId
+            else:
+              '@path': $.properties.rampId
+        matchId:
+          '@if':
+            exists:
+              '@path': $.context.traits.matchId
+            then:
+              '@path': $.context.traits.matchId
+            else:
+              '@path': $.properties.matchId
+      dataProcessingOptions:
+        '@path': $.properties.dataProcessingOptions
+      consent:
+        ipAddress:
+          '@path': $.context.ip
+        amznAdStorage:
+          '@path': $.properties.amznAdStorage
+        amznUserData:
+          '@path': $.properties.amznUserData
+        tcf:
+          '@path': $.properties.tcf
+        gpp:
+          '@path': $.properties.gpp
+      customAttributes:
+        brand:
+          '@path': $.properties.brand
+        category:
+          '@path': $.properties.category
+        productId:
+          '@path': $.properties.productId
+        attr1:
+          '@path': $.properties.attr1
+        attr2:
+          '@path': $.properties.attr2
+        attr3:
+          '@path': $.properties.attr3
+        attr4:
+          '@path': $.properties.attr4
+        attr5:
+          '@path': $.properties.attr5
+        attr6:
+          '@path': $.properties.attr6
+        attr7:
+          '@path': $.properties.attr7
+        attr8:
+          '@path': $.properties.attr8
+        attr9:
+          '@path': $.properties.attr9
+        attr10:
+          '@path': $.properties.attr10
+      enable_batching: true
+      batch_size: 500
+      eventType: CHECKOUT
+    trigger: type = "track" AND event = "Checkout Started"
+  - actionId: 3PXoEXmHMzVcnY5RaMTcQp
+    name: Add to Shopping Cart
+    fields:
+      name:
+        '@path': $.event
+      eventActionSource:
+        '@if':
+          exists:
+            '@path': $.context.device.type
+          then:
+            '@path': $.context.device.type
+          else: website
+      countryCode:
+        '@path': $.context.locale
+      timestamp:
+        '@path': $.timestamp
+      value:
+        '@path': $.properties.value
+      currencyCode:
+        '@path': $.properties.currency
+      unitsSold:
+        '@path': $.properties.quantity
+      clientDedupeId:
+        '@path': $.messageId
+      matchKeys:
+        email:
+          '@if':
+            exists:
+              '@path': $.context.traits.email
+            then:
+              '@path': $.context.traits.email
+            else:
+              '@path': $.properties.email
+        phone:
+          '@if':
+            exists:
+              '@path': $.context.traits.phone
+            then:
+              '@path': $.context.traits.phone
+            else:
+              '@path': $.properties.phone
+        firstName:
+          '@if':
+            exists:
+              '@path': $.context.traits.firstName
+            then:
+              '@path': $.context.traits.firstName
+            else:
+              '@path': $.properties.firstName
+        lastName:
+          '@if':
+            exists:
+              '@path': $.context.traits.lastName
+            then:
+              '@path': $.context.traits.lastName
+            else:
+              '@path': $.properties.lastName
+        address:
+          '@if':
+            exists:
+              '@path': $.context.traits.street
+            then:
+              '@path': $.context.traits.street
+            else:
+              '@path': $.properties.street
+        city:
+          '@if':
+            exists:
+              '@path': $.context.traits.city
+            then:
+              '@path': $.context.traits.city
+            else:
+              '@path': $.properties.city
+        state:
+          '@if':
+            exists:
+              '@path': $.context.traits.state
+            then:
+              '@path': $.context.traits.state
+            else:
+              '@path': $.properties.state
+        postalCode:
+          '@if':
+            exists:
+              '@path': $.context.traits.postalCode
+            then:
+              '@path': $.context.traits.postalCode
+            else:
+              '@path': $.properties.postalCode
+        maid:
+          '@path': context.device.advertisingId
+        rampId:
+          '@if':
+            exists:
+              '@path': $.context.traits.rampId
+            then:
+              '@path': $.context.traits.rampId
+            else:
+              '@path': $.properties.rampId
+        matchId:
+          '@if':
+            exists:
+              '@path': $.context.traits.matchId
+            then:
+              '@path': $.context.traits.matchId
+            else:
+              '@path': $.properties.matchId
+      dataProcessingOptions:
+        '@path': $.properties.dataProcessingOptions
+      consent:
+        ipAddress:
+          '@path': $.context.ip
+        amznAdStorage:
+          '@path': $.properties.amznAdStorage
+        amznUserData:
+          '@path': $.properties.amznUserData
+        tcf:
+          '@path': $.properties.tcf
+        gpp:
+          '@path': $.properties.gpp
+      customAttributes:
+        brand:
+          '@path': $.properties.brand
+        category:
+          '@path': $.properties.category
+        productId:
+          '@path': $.properties.productId
+        attr1:
+          '@path': $.properties.attr1
+        attr2:
+          '@path': $.properties.attr2
+        attr3:
+          '@path': $.properties.attr3
+        attr4:
+          '@path': $.properties.attr4
+        attr5:
+          '@path': $.properties.attr5
+        attr6:
+          '@path': $.properties.attr6
+        attr7:
+          '@path': $.properties.attr7
+        attr8:
+          '@path': $.properties.attr8
+        attr9:
+          '@path': $.properties.attr9
+        attr10:
+          '@path': $.properties.attr10
+      enable_batching: true
+      batch_size: 500
+      eventType: ADD_TO_SHOPPING_CART
+    trigger: type = "track" AND event = "Product Added"
+  - actionId: 3PXoEXmHMzVcnY5RaMTcQp
+    name: Mobile App First Start
+    fields:
+      name:
+        '@path': $.event
+      eventActionSource:
+        '@if':
+          exists:
+            '@path': $.context.device.type
+          then:
+            '@path': $.context.device.type
+          else: website
+      countryCode:
+        '@path': $.context.locale
+      timestamp:
+        '@path': $.timestamp
+      value:
+        '@path': $.properties.value
+      currencyCode:
+        '@path': $.properties.currency
+      unitsSold:
+        '@path': $.properties.quantity
+      clientDedupeId:
+        '@path': $.messageId
+      matchKeys:
+        email:
+          '@if':
+            exists:
+              '@path': $.context.traits.email
+            then:
+              '@path': $.context.traits.email
+            else:
+              '@path': $.properties.email
+        phone:
+          '@if':
+            exists:
+              '@path': $.context.traits.phone
+            then:
+              '@path': $.context.traits.phone
+            else:
+              '@path': $.properties.phone
+        firstName:
+          '@if':
+            exists:
+              '@path': $.context.traits.firstName
+            then:
+              '@path': $.context.traits.firstName
+            else:
+              '@path': $.properties.firstName
+        lastName:
+          '@if':
+            exists:
+              '@path': $.context.traits.lastName
+            then:
+              '@path': $.context.traits.lastName
+            else:
+              '@path': $.properties.lastName
+        address:
+          '@if':
+            exists:
+              '@path': $.context.traits.street
+            then:
+              '@path': $.context.traits.street
+            else:
+              '@path': $.properties.street
+        city:
+          '@if':
+            exists:
+              '@path': $.context.traits.city
+            then:
+              '@path': $.context.traits.city
+            else:
+              '@path': $.properties.city
+        state:
+          '@if':
+            exists:
+              '@path': $.context.traits.state
+            then:
+              '@path': $.context.traits.state
+            else:
+              '@path': $.properties.state
+        postalCode:
+          '@if':
+            exists:
+              '@path': $.context.traits.postalCode
+            then:
+              '@path': $.context.traits.postalCode
+            else:
+              '@path': $.properties.postalCode
+        maid:
+          '@path': context.device.advertisingId
+        rampId:
+          '@if':
+            exists:
+              '@path': $.context.traits.rampId
+            then:
+              '@path': $.context.traits.rampId
+            else:
+              '@path': $.properties.rampId
+        matchId:
+          '@if':
+            exists:
+              '@path': $.context.traits.matchId
+            then:
+              '@path': $.context.traits.matchId
+            else:
+              '@path': $.properties.matchId
+      dataProcessingOptions:
+        '@path': $.properties.dataProcessingOptions
+      consent:
+        ipAddress:
+          '@path': $.context.ip
+        amznAdStorage:
+          '@path': $.properties.amznAdStorage
+        amznUserData:
+          '@path': $.properties.amznUserData
+        tcf:
+          '@path': $.properties.tcf
+        gpp:
+          '@path': $.properties.gpp
+      customAttributes:
+        brand:
+          '@path': $.properties.brand
+        category:
+          '@path': $.properties.category
+        productId:
+          '@path': $.properties.productId
+        attr1:
+          '@path': $.properties.attr1
+        attr2:
+          '@path': $.properties.attr2
+        attr3:
+          '@path': $.properties.attr3
+        attr4:
+          '@path': $.properties.attr4
+        attr5:
+          '@path': $.properties.attr5
+        attr6:
+          '@path': $.properties.attr6
+        attr7:
+          '@path': $.properties.attr7
+        attr8:
+          '@path': $.properties.attr8
+        attr9:
+          '@path': $.properties.attr9
+        attr10:
+          '@path': $.properties.attr10
+      enable_batching: true
+      batch_size: 500
+      eventType: MOBILE_APP_FIRST_START
+    trigger: type = "track" AND event = "Application Opened"
+  - actionId: 3PXoEXmHMzVcnY5RaMTcQp
+    name: Contact
+    fields:
+      name:
+        '@path': $.event
+      eventActionSource:
+        '@if':
+          exists:
+            '@path': $.context.device.type
+          then:
+            '@path': $.context.device.type
+          else: website
+      countryCode:
+        '@path': $.context.locale
+      timestamp:
+        '@path': $.timestamp
+      value:
+        '@path': $.properties.value
+      currencyCode:
+        '@path': $.properties.currency
+      unitsSold:
+        '@path': $.properties.quantity
+      clientDedupeId:
+        '@path': $.messageId
+      matchKeys:
+        email:
+          '@if':
+            exists:
+              '@path': $.context.traits.email
+            then:
+              '@path': $.context.traits.email
+            else:
+              '@path': $.properties.email
+        phone:
+          '@if':
+            exists:
+              '@path': $.context.traits.phone
+            then:
+              '@path': $.context.traits.phone
+            else:
+              '@path': $.properties.phone
+        firstName:
+          '@if':
+            exists:
+              '@path': $.context.traits.firstName
+            then:
+              '@path': $.context.traits.firstName
+            else:
+              '@path': $.properties.firstName
+        lastName:
+          '@if':
+            exists:
+              '@path': $.context.traits.lastName
+            then:
+              '@path': $.context.traits.lastName
+            else:
+              '@path': $.properties.lastName
+        address:
+          '@if':
+            exists:
+              '@path': $.context.traits.street
+            then:
+              '@path': $.context.traits.street
+            else:
+              '@path': $.properties.street
+        city:
+          '@if':
+            exists:
+              '@path': $.context.traits.city
+            then:
+              '@path': $.context.traits.city
+            else:
+              '@path': $.properties.city
+        state:
+          '@if':
+            exists:
+              '@path': $.context.traits.state
+            then:
+              '@path': $.context.traits.state
+            else:
+              '@path': $.properties.state
+        postalCode:
+          '@if':
+            exists:
+              '@path': $.context.traits.postalCode
+            then:
+              '@path': $.context.traits.postalCode
+            else:
+              '@path': $.properties.postalCode
+        maid:
+          '@path': context.device.advertisingId
+        rampId:
+          '@if':
+            exists:
+              '@path': $.context.traits.rampId
+            then:
+              '@path': $.context.traits.rampId
+            else:
+              '@path': $.properties.rampId
+        matchId:
+          '@if':
+            exists:
+              '@path': $.context.traits.matchId
+            then:
+              '@path': $.context.traits.matchId
+            else:
+              '@path': $.properties.matchId
+      dataProcessingOptions:
+        '@path': $.properties.dataProcessingOptions
+      consent:
+        ipAddress:
+          '@path': $.context.ip
+        amznAdStorage:
+          '@path': $.properties.amznAdStorage
+        amznUserData:
+          '@path': $.properties.amznUserData
+        tcf:
+          '@path': $.properties.tcf
+        gpp:
+          '@path': $.properties.gpp
+      customAttributes:
+        brand:
+          '@path': $.properties.brand
+        category:
+          '@path': $.properties.category
+        productId:
+          '@path': $.properties.productId
+        attr1:
+          '@path': $.properties.attr1
+        attr2:
+          '@path': $.properties.attr2
+        attr3:
+          '@path': $.properties.attr3
+        attr4:
+          '@path': $.properties.attr4
+        attr5:
+          '@path': $.properties.attr5
+        attr6:
+          '@path': $.properties.attr6
+        attr7:
+          '@path': $.properties.attr7
+        attr8:
+          '@path': $.properties.attr8
+        attr9:
+          '@path': $.properties.attr9
+        attr10:
+          '@path': $.properties.attr10
+      enable_batching: true
+      batch_size: 500
+      eventType: CONTACT
+    trigger: type = "track" AND event = "Callback Started"
+  - actionId: 3PXoEXmHMzVcnY5RaMTcQp
+    name: Lead
+    fields:
+      name:
+        '@path': $.event
+      eventActionSource:
+        '@if':
+          exists:
+            '@path': $.context.device.type
+          then:
+            '@path': $.context.device.type
+          else: website
+      countryCode:
+        '@path': $.context.locale
+      timestamp:
+        '@path': $.timestamp
+      value:
+        '@path': $.properties.value
+      currencyCode:
+        '@path': $.properties.currency
+      unitsSold:
+        '@path': $.properties.quantity
+      clientDedupeId:
+        '@path': $.messageId
+      matchKeys:
+        email:
+          '@if':
+            exists:
+              '@path': $.context.traits.email
+            then:
+              '@path': $.context.traits.email
+            else:
+              '@path': $.properties.email
+        phone:
+          '@if':
+            exists:
+              '@path': $.context.traits.phone
+            then:
+              '@path': $.context.traits.phone
+            else:
+              '@path': $.properties.phone
+        firstName:
+          '@if':
+            exists:
+              '@path': $.context.traits.firstName
+            then:
+              '@path': $.context.traits.firstName
+            else:
+              '@path': $.properties.firstName
+        lastName:
+          '@if':
+            exists:
+              '@path': $.context.traits.lastName
+            then:
+              '@path': $.context.traits.lastName
+            else:
+              '@path': $.properties.lastName
+        address:
+          '@if':
+            exists:
+              '@path': $.context.traits.street
+            then:
+              '@path': $.context.traits.street
+            else:
+              '@path': $.properties.street
+        city:
+          '@if':
+            exists:
+              '@path': $.context.traits.city
+            then:
+              '@path': $.context.traits.city
+            else:
+              '@path': $.properties.city
+        state:
+          '@if':
+            exists:
+              '@path': $.context.traits.state
+            then:
+              '@path': $.context.traits.state
+            else:
+              '@path': $.properties.state
+        postalCode:
+          '@if':
+            exists:
+              '@path': $.context.traits.postalCode
+            then:
+              '@path': $.context.traits.postalCode
+            else:
+              '@path': $.properties.postalCode
+        maid:
+          '@path': context.device.advertisingId
+        rampId:
+          '@if':
+            exists:
+              '@path': $.context.traits.rampId
+            then:
+              '@path': $.context.traits.rampId
+            else:
+              '@path': $.properties.rampId
+        matchId:
+          '@if':
+            exists:
+              '@path': $.context.traits.matchId
+            then:
+              '@path': $.context.traits.matchId
+            else:
+              '@path': $.properties.matchId
+      dataProcessingOptions:
+        '@path': $.properties.dataProcessingOptions
+      consent:
+        ipAddress:
+          '@path': $.context.ip
+        amznAdStorage:
+          '@path': $.properties.amznAdStorage
+        amznUserData:
+          '@path': $.properties.amznUserData
+        tcf:
+          '@path': $.properties.tcf
+        gpp:
+          '@path': $.properties.gpp
+      customAttributes:
+        brand:
+          '@path': $.properties.brand
+        category:
+          '@path': $.properties.category
+        productId:
+          '@path': $.properties.productId
+        attr1:
+          '@path': $.properties.attr1
+        attr2:
+          '@path': $.properties.attr2
+        attr3:
+          '@path': $.properties.attr3
+        attr4:
+          '@path': $.properties.attr4
+        attr5:
+          '@path': $.properties.attr5
+        attr6:
+          '@path': $.properties.attr6
+        attr7:
+          '@path': $.properties.attr7
+        attr8:
+          '@path': $.properties.attr8
+        attr9:
+          '@path': $.properties.attr9
+        attr10:
+          '@path': $.properties.attr10
+      enable_batching: true
+      batch_size: 500
+      eventType: LEAD
+    trigger: type = "track" AND event = "Lead Generated"
+  - actionId: 3PXoEXmHMzVcnY5RaMTcQp
+    name: Application
+    fields:
+      name:
+        '@path': $.event
+      eventActionSource:
+        '@if':
+          exists:
+            '@path': $.context.device.type
+          then:
+            '@path': $.context.device.type
+          else: website
+      countryCode:
+        '@path': $.context.locale
+      timestamp:
+        '@path': $.timestamp
+      value:
+        '@path': $.properties.value
+      currencyCode:
+        '@path': $.properties.currency
+      unitsSold:
+        '@path': $.properties.quantity
+      clientDedupeId:
+        '@path': $.messageId
+      matchKeys:
+        email:
+          '@if':
+            exists:
+              '@path': $.context.traits.email
+            then:
+              '@path': $.context.traits.email
+            else:
+              '@path': $.properties.email
+        phone:
+          '@if':
+            exists:
+              '@path': $.context.traits.phone
+            then:
+              '@path': $.context.traits.phone
+            else:
+              '@path': $.properties.phone
+        firstName:
+          '@if':
+            exists:
+              '@path': $.context.traits.firstName
+            then:
+              '@path': $.context.traits.firstName
+            else:
+              '@path': $.properties.firstName
+        lastName:
+          '@if':
+            exists:
+              '@path': $.context.traits.lastName
+            then:
+              '@path': $.context.traits.lastName
+            else:
+              '@path': $.properties.lastName
+        address:
+          '@if':
+            exists:
+              '@path': $.context.traits.street
+            then:
+              '@path': $.context.traits.street
+            else:
+              '@path': $.properties.street
+        city:
+          '@if':
+            exists:
+              '@path': $.context.traits.city
+            then:
+              '@path': $.context.traits.city
+            else:
+              '@path': $.properties.city
+        state:
+          '@if':
+            exists:
+              '@path': $.context.traits.state
+            then:
+              '@path': $.context.traits.state
+            else:
+              '@path': $.properties.state
+        postalCode:
+          '@if':
+            exists:
+              '@path': $.context.traits.postalCode
+            then:
+              '@path': $.context.traits.postalCode
+            else:
+              '@path': $.properties.postalCode
+        maid:
+          '@path': context.device.advertisingId
+        rampId:
+          '@if':
+            exists:
+              '@path': $.context.traits.rampId
+            then:
+              '@path': $.context.traits.rampId
+            else:
+              '@path': $.properties.rampId
+        matchId:
+          '@if':
+            exists:
+              '@path': $.context.traits.matchId
+            then:
+              '@path': $.context.traits.matchId
+            else:
+              '@path': $.properties.matchId
+      dataProcessingOptions:
+        '@path': $.properties.dataProcessingOptions
+      consent:
+        ipAddress:
+          '@path': $.context.ip
+        amznAdStorage:
+          '@path': $.properties.amznAdStorage
+        amznUserData:
+          '@path': $.properties.amznUserData
+        tcf:
+          '@path': $.properties.tcf
+        gpp:
+          '@path': $.properties.gpp
+      customAttributes:
+        brand:
+          '@path': $.properties.brand
+        category:
+          '@path': $.properties.category
+        productId:
+          '@path': $.properties.productId
+        attr1:
+          '@path': $.properties.attr1
+        attr2:
+          '@path': $.properties.attr2
+        attr3:
+          '@path': $.properties.attr3
+        attr4:
+          '@path': $.properties.attr4
+        attr5:
+          '@path': $.properties.attr5
+        attr6:
+          '@path': $.properties.attr6
+        attr7:
+          '@path': $.properties.attr7
+        attr8:
+          '@path': $.properties.attr8
+        attr9:
+          '@path': $.properties.attr9
+        attr10:
+          '@path': $.properties.attr10
+      enable_batching: true
+      batch_size: 500
+      eventType: APPLICATION
+    trigger: type = "track" AND event = "Application Submitted"
+  - actionId: 3PXoEXmHMzVcnY5RaMTcQp
+    name: Search
+    fields:
+      name:
+        '@path': $.event
+      eventActionSource:
+        '@if':
+          exists:
+            '@path': $.context.device.type
+          then:
+            '@path': $.context.device.type
+          else: website
+      countryCode:
+        '@path': $.context.locale
+      timestamp:
+        '@path': $.timestamp
+      value:
+        '@path': $.properties.value
+      currencyCode:
+        '@path': $.properties.currency
+      unitsSold:
+        '@path': $.properties.quantity
+      clientDedupeId:
+        '@path': $.messageId
+      matchKeys:
+        email:
+          '@if':
+            exists:
+              '@path': $.context.traits.email
+            then:
+              '@path': $.context.traits.email
+            else:
+              '@path': $.properties.email
+        phone:
+          '@if':
+            exists:
+              '@path': $.context.traits.phone
+            then:
+              '@path': $.context.traits.phone
+            else:
+              '@path': $.properties.phone
+        firstName:
+          '@if':
+            exists:
+              '@path': $.context.traits.firstName
+            then:
+              '@path': $.context.traits.firstName
+            else:
+              '@path': $.properties.firstName
+        lastName:
+          '@if':
+            exists:
+              '@path': $.context.traits.lastName
+            then:
+              '@path': $.context.traits.lastName
+            else:
+              '@path': $.properties.lastName
+        address:
+          '@if':
+            exists:
+              '@path': $.context.traits.street
+            then:
+              '@path': $.context.traits.street
+            else:
+              '@path': $.properties.street
+        city:
+          '@if':
+            exists:
+              '@path': $.context.traits.city
+            then:
+              '@path': $.context.traits.city
+            else:
+              '@path': $.properties.city
+        state:
+          '@if':
+            exists:
+              '@path': $.context.traits.state
+            then:
+              '@path': $.context.traits.state
+            else:
+              '@path': $.properties.state
+        postalCode:
+          '@if':
+            exists:
+              '@path': $.context.traits.postalCode
+            then:
+              '@path': $.context.traits.postalCode
+            else:
+              '@path': $.properties.postalCode
+        maid:
+          '@path': context.device.advertisingId
+        rampId:
+          '@if':
+            exists:
+              '@path': $.context.traits.rampId
+            then:
+              '@path': $.context.traits.rampId
+            else:
+              '@path': $.properties.rampId
+        matchId:
+          '@if':
+            exists:
+              '@path': $.context.traits.matchId
+            then:
+              '@path': $.context.traits.matchId
+            else:
+              '@path': $.properties.matchId
+      dataProcessingOptions:
+        '@path': $.properties.dataProcessingOptions
+      consent:
+        ipAddress:
+          '@path': $.context.ip
+        amznAdStorage:
+          '@path': $.properties.amznAdStorage
+        amznUserData:
+          '@path': $.properties.amznUserData
+        tcf:
+          '@path': $.properties.tcf
+        gpp:
+          '@path': $.properties.gpp
+      customAttributes:
+        brand:
+          '@path': $.properties.brand
+        category:
+          '@path': $.properties.category
+        productId:
+          '@path': $.properties.productId
+        attr1:
+          '@path': $.properties.attr1
+        attr2:
+          '@path': $.properties.attr2
+        attr3:
+          '@path': $.properties.attr3
+        attr4:
+          '@path': $.properties.attr4
+        attr5:
+          '@path': $.properties.attr5
+        attr6:
+          '@path': $.properties.attr6
+        attr7:
+          '@path': $.properties.attr7
+        attr8:
+          '@path': $.properties.attr8
+        attr9:
+          '@path': $.properties.attr9
+        attr10:
+          '@path': $.properties.attr10
+      enable_batching: true
+      batch_size: 500
+      eventType: SEARCH
+    trigger: type = "track" AND event = "Products Searched"
+  partnerOwned: true
 - id: 5d1994fb320116000112aa12
   display_name: Amazon EventBridge
   name: Amazon EventBridge
@@ -7632,7 +9928,7 @@ items:
     description: >-
       Please input the Segment **event names** or **event types**  on the left
       and the desired Firehose delivery stream destinations on the right. This
-      mapping is required for all events you would like in Firehose
+      mapping is **required** for all events you would like in Firehose
     required: false
     label: Map Segment Events to Firehose Delivery Streams
   - name: region
@@ -23330,7 +25626,7 @@ items:
     hidden: false
     defaultTrigger: type = "identify"
     fields:
-    - id: frz11tFBzfan6WbDamxaVV
+    - id: fDR8sk8ZPuCEHpjDyFgozW
       sortOrder: 0
       fieldKey: external_id
       label: External User ID
@@ -23344,7 +25640,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: fZNmCULU5zqyCsXBKsBueY
+    - id: 5RJmpB58hzw4um4jgjHR1B
       sortOrder: 1
       fieldKey: user_alias
       label: User Alias Object
@@ -23358,7 +25654,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: nWcbDpUAifPFihnYj4keqq
+    - id: cu5jYWXnPpw6FiZ9wX1cFP
       sortOrder: 2
       fieldKey: braze_id
       label: Braze User Identifier
@@ -23372,7 +25668,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 8SZmzgmJ8LrdcfBtpuRHrT
+    - id: jwzZpd94LxxvwoYokBJ5x
       sortOrder: 3
       fieldKey: country
       label: Country
@@ -23386,7 +25682,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: m1xvh1MTCS2UwVfHxaDD75
+    - id: kpYhLzP5v48mSmtJ8YJZcb
       sortOrder: 4
       fieldKey: current_location
       label: Current Location
@@ -23403,7 +25699,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 9pUSXbWPjCwyNHDxka5JxQ
+    - id: p8XB3sFptXjrWBJ3QQJ44m
       sortOrder: 5
       fieldKey: date_of_first_session
       label: Date of First Session
@@ -23415,7 +25711,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: nZNERLLfzCQk8LUGxwoV7d
+    - id: tfTrTjru2F4uY8XdjzMwiW
       sortOrder: 6
       fieldKey: date_of_last_session
       label: Date of Last Session
@@ -23427,7 +25723,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: qU6PF14uYCiAvDDxPk1Ayc
+    - id: ga1WyMfE8dhXFBZGD4wJ8q
       sortOrder: 7
       fieldKey: dob
       label: Date of Birth
@@ -23439,7 +25735,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 4Fy1EYYDPuMjn3vpHuRGSN
+    - id: 9vFRhBFwWjtTe686tvTTye
       sortOrder: 8
       fieldKey: email
       label: Email
@@ -23453,7 +25749,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: p8cpbr44nnQ2mjLRPntVwp
+    - id: uwHYEgL4SZvo2bh4pUv5N
       sortOrder: 9
       fieldKey: email_subscribe
       label: Email Subscribe
@@ -23468,7 +25764,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 69zQTCZVr6GZCJwdSXfs1r
+    - id: 5KRPPZ1zFq7TWQvW22PDNX
       sortOrder: 10
       fieldKey: email_open_tracking_disabled
       label: Email Open Tracking Disabled
@@ -23482,7 +25778,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: xpWqRpHcjJf7vThkxd4cAe
+    - id: gqeqcDr1ZMLFbKo6PvsdTD
       sortOrder: 11
       fieldKey: email_click_tracking_disabled
       label: Email Click Tracking Disabled
@@ -23496,7 +25792,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: k4cPf5X5B4mVqfqJCE4G5N
+    - id: dWbRdjBmHuQahVfpp2kbU1
       sortOrder: 12
       fieldKey: facebook
       label: Facebook Attribution Data
@@ -23510,7 +25806,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 7Da5ukyyK5GqnZEk6f7Ygy
+    - id: djKX1f82FMmWQmVP6QmXeg
       sortOrder: 13
       fieldKey: first_name
       label: First Name
@@ -23524,7 +25820,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: kFbDdcP45ZzZZ9eV93iEdW
+    - id: 4eGUV9jTtwD6BjU4qGytBu
       sortOrder: 14
       fieldKey: gender
       label: Gender
@@ -23540,7 +25836,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: mMPocCA5usL9n7twW1SEje
+    - id: 57daPPzryAhNN7cB1u5SAY
       sortOrder: 15
       fieldKey: home_city
       label: Home City
@@ -23554,7 +25850,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: pVX5hWg3qAi48kv8QJFL8a
+    - id: rAQMHaiMEZwqML5uLic2hY
       sortOrder: 16
       fieldKey: image_url
       label: Image URL
@@ -23568,7 +25864,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: f5gSYnr1y3U583SQm6NNpc
+    - id: cnPSX6jz1RWzazXFcwEufd
       sortOrder: 17
       fieldKey: language
       label: Language
@@ -23580,7 +25876,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: odUBYhFPcmaVaYLyczAWXg
+    - id: gE2RcHsq5GBtDzAobjWzic
       sortOrder: 18
       fieldKey: last_name
       label: Last Name
@@ -23594,7 +25890,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 4Ud9hghUJwojjb34DjkKjN
+    - id: 4SjCpfFqvTcPcgP1ADvB4L
       sortOrder: 19
       fieldKey: marked_email_as_spam_at
       label: Marked Email as Spam At
@@ -23606,7 +25902,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 66uByU9E4zxTYaCERzSpH2
+    - id: mKzJu2395MQjio8deZxU2W
       sortOrder: 20
       fieldKey: phone
       label: Phone Number
@@ -23620,7 +25916,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: pQfqMK5Vh7jeUsxwyyF8hh
+    - id: hHdCpmvY8TpYt2Tr61yd2q
       sortOrder: 21
       fieldKey: push_subscribe
       label: Push Subscribe
@@ -23635,7 +25931,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: r8KSTT5rDmNJ6fmUKaR7Ya
+    - id: xiDqAeeRr1LqYabp17WciD
       sortOrder: 22
       fieldKey: push_tokens
       label: Push Tokens
@@ -23652,7 +25948,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: qx27sVuw2zir7E2P9nN6UD
+    - id: 939rX9rNsPzToLou8v32Fi
       sortOrder: 23
       fieldKey: time_zone
       label: Time zone
@@ -23667,7 +25963,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 4ZAtgZZUm7bJXZDteEkcKS
+    - id: d63HrHJUBm5ANC1W8x7qPD
       sortOrder: 24
       fieldKey: twitter
       label: Twitter Attribution Data
@@ -23682,7 +25978,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 894h5kEbTx9EcKxn9ATY2V
+    - id: aW3XkeWTRZx5VippFvdnRk
       sortOrder: 25
       fieldKey: custom_attributes
       label: Custom Attributes
@@ -23696,7 +25992,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: remoauHf6xfL5SBSc6qnwo
+    - id: pEtpN2Hb2vkA8Q8xRZ1BEP
       sortOrder: 26
       fieldKey: _update_existing_only
       label: Update Existing Only
@@ -23711,7 +26007,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: wJaikKFKSUaimBeC2nxP3e
+    - id: deNbLhqaVWQ3a5ekv2Dgjr
       sortOrder: 27
       fieldKey: enable_batching
       label: Batch Data to Braze
@@ -23734,7 +26030,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event != "Order Completed"
     fields:
-    - id: 5sq3xZZYZCJmmxZdAJacaM
+    - id: hrPz9vH7A3YkY4MRK8BZVJ
       sortOrder: 0
       fieldKey: external_id
       label: External User ID
@@ -23748,7 +26044,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: s2zkyqErbM5rnfukkNabwC
+    - id: pkkSSueQLUhwMNeKHJyqWm
       sortOrder: 1
       fieldKey: user_alias
       label: User Alias Object
@@ -23762,7 +26058,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: kAvSZ6B6tQF5mmQUqsFdG7
+    - id: vBJnn5mz3hNu55TfrA5FVw
       sortOrder: 2
       fieldKey: email
       label: Email
@@ -23782,7 +26078,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: svUQfhxt5UAokobfxLjyUE
+    - id: fh8McJPhdVkZ7M1GjPQnjq
       sortOrder: 3
       fieldKey: braze_id
       label: Braze User Identifier
@@ -23796,7 +26092,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 9vdt5y2HA6aQRaUzUAhqQH
+    - id: mvefY6PdaWM3CrxHwZkuR6
       sortOrder: 4
       fieldKey: name
       label: Event Name
@@ -23810,7 +26106,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: hvdTckdbhyWk7ub8ehQmy3
+    - id: jFGB75TdxH1midEQnvCNtB
       sortOrder: 5
       fieldKey: time
       label: Time
@@ -23824,7 +26120,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 3sT13YAAj7B8v81HFYqsJ6
+    - id: qy1WJxzc3uSCPUiDrMMwZS
       sortOrder: 6
       fieldKey: properties
       label: Event Properties
@@ -23838,7 +26134,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: uoinvpfJPPouV2YsvsfjkW
+    - id: 2kskmcKBRxNct89Nr21iZA
       sortOrder: 7
       fieldKey: _update_existing_only
       label: Update Existing Only
@@ -23853,7 +26149,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 63vGmbb81vQnYW5and1Q4N
+    - id: r1qeUDq9S5yQv8Bq3raCyt
       sortOrder: 8
       fieldKey: enable_batching
       label: Batch Data to Braze
@@ -23876,7 +26172,7 @@ items:
     hidden: false
     defaultTrigger: event = "Order Completed"
     fields:
-    - id: fg36FexE4qyP7XsMzpT5Xr
+    - id: 6dz2NH94u6YHzeqgdnYfKf
       sortOrder: 0
       fieldKey: external_id
       label: External User ID
@@ -23890,7 +26186,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 9obkVhVo4Qx4xPF891UphR
+    - id: ogekSoMUqWKsis21mVdSwG
       sortOrder: 1
       fieldKey: user_alias
       label: User Alias Object
@@ -23904,7 +26200,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 22gDq94jeVHJGoNPEkjarw
+    - id: cZn4F9NYmrHKW8dezN41Rd
       sortOrder: 2
       fieldKey: email
       label: Email
@@ -23918,7 +26214,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 2tRy54hoSLvavYenQz1skf
+    - id: oSYr6JRDq8Lzbh8cbezbso
       sortOrder: 3
       fieldKey: braze_id
       label: Braze User Identifier
@@ -23932,7 +26228,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: w4mZFShTi45oTErsRyY6sv
+    - id: tzcURC4EbRDPsK2V6U8s5R
       sortOrder: 4
       fieldKey: time
       label: Time
@@ -23946,7 +26242,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: hpWv5G8vm94mxArndAg3UA
+    - id: 8G7P2UkSm2HNmyMyeGWV4k
       sortOrder: 5
       fieldKey: products
       label: Products
@@ -23960,7 +26256,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 2GWU2no3WGNC7B8SuS9UfX
+    - id: 9i4fK4YwETdw9pd9nGRw36
       sortOrder: 6
       fieldKey: properties
       label: Event Properties
@@ -23974,7 +26270,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: stG51w28ChLT3brTDNgusj
+    - id: 6ETQi1B982NFyz9T3D58Bd
       sortOrder: 7
       fieldKey: _update_existing_only
       label: Update Existing Only
@@ -23989,7 +26285,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5NPVqFjrESQCbdqzkGErtD
+    - id: gtNdLnuNQVuqRfeeuvwb83
       sortOrder: 8
       fieldKey: enable_batching
       label: Batch Data to Braze
@@ -24026,7 +26322,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: pMwsciTRRwm6BD7o6eY8fx
+    - id: 4yze3B4RebQRNy5t249sdN
       sortOrder: 0
       fieldKey: external_id
       label: External ID
@@ -24038,7 +26334,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: vkybr1e1L3d7YrdBWpkXYH
+    - id: khtVtUBsXZ3dXD7uNAdyT9
       sortOrder: 1
       fieldKey: user_alias
       label: User Alias Object
@@ -24052,7 +26348,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: gdeASUanupEBDqQ1MDtn34
+    - id: vzWebkoqo9wNospgS2ft3v
       sortOrder: 2
       fieldKey: merge_behavior
       label: Merge Behavior
@@ -24081,7 +26377,7 @@ items:
     hidden: false
     defaultTrigger: event = "Create Alias"
     fields:
-    - id: n4u7Qc5RqbRV4piQtNromi
+    - id: iKDENKBGFN17vQk527V39
       sortOrder: 0
       fieldKey: external_id
       label: External ID
@@ -24093,7 +26389,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: kKEB7i291m8YemagXD5ebn
+    - id: 8oXLyuZuAvbhFWC4FkQvT
       sortOrder: 1
       fieldKey: alias_name
       label: Alias Name
@@ -24105,7 +26401,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: owFCCbZwFjeeJXVoxxCTcG
+    - id: s1DvRj3mZTRTG9nnYbeCxk
       sortOrder: 2
       fieldKey: alias_label
       label: Alias Label
@@ -24125,7 +26421,7 @@ items:
     hidden: false
     defaultTrigger: type = "identify"
     fields:
-    - id: gwqZ4ycUKnkCZBxveCnjo2
+    - id: oe3hf8kRGhTDXC51z8yFgG
       sortOrder: 0
       fieldKey: external_id
       label: External User ID
@@ -24139,7 +26435,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: oCZ7RpFgTsdWDAVXCcWSDr
+    - id: 51NMeWJpAvs7eLZDk3vhLQ
       sortOrder: 1
       fieldKey: user_alias
       label: User Alias Object
@@ -24153,7 +26449,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: jzmPYZM1Rk48hYLEYpdYoq
+    - id: wJXPFHyq84k21N1SwV533x
       sortOrder: 2
       fieldKey: braze_id
       label: Braze User Identifier
@@ -24167,7 +26463,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: gYVKFtjwAaQidhQ94hELrY
+    - id: hbgP26NkcwSYuR92ubBnnY
       sortOrder: 3
       fieldKey: country
       label: Country
@@ -24181,7 +26477,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 8N44uGnJ2bTFCisTh9X9xT
+    - id: uwhpBXucF3BZNN7UBu5o43
       sortOrder: 4
       fieldKey: current_location
       label: Current Location
@@ -24198,7 +26494,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: q3QoZjmtJvnqjiiVQdX9Z9
+    - id: oJ3EoesYT598C1ou5ndKpg
       sortOrder: 5
       fieldKey: date_of_first_session
       label: Date of First Session
@@ -24210,7 +26506,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: whdNHh25Wso67bW6uy1T8C
+    - id: v8pMqaaDuCwHyn94fvGK12
       sortOrder: 6
       fieldKey: date_of_last_session
       label: Date of Last Session
@@ -24222,7 +26518,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: ktfG8fY7MgLkNtQe6jPuSt
+    - id: rXMEVupni5zC1VNz7JWwBf
       sortOrder: 7
       fieldKey: dob
       label: Date of Birth
@@ -24234,7 +26530,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: pWeJXhDmg7BZH9YHbJjEJB
+    - id: kCpEhQzeXn4cDbdF9qZpML
       sortOrder: 8
       fieldKey: email
       label: Email
@@ -24248,7 +26544,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 331FuRNhXV9eQgumoSjc5B
+    - id: 8dbLLfLef3eJTjWF129SpW
       sortOrder: 9
       fieldKey: email_subscribe
       label: Email Subscribe
@@ -24263,7 +26559,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 6gXWFLSGTjouJp2WHrvGHE
+    - id: 4iZ2iHgrchb8SEAin3ye2u
       sortOrder: 10
       fieldKey: email_open_tracking_disabled
       label: Email Open Tracking Disabled
@@ -24277,7 +26573,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: kMWdeN3peJtKrVwKVXXKkC
+    - id: btZsBGvZbSBXicy8iay7zs
       sortOrder: 11
       fieldKey: email_click_tracking_disabled
       label: Email Click Tracking Disabled
@@ -24291,7 +26587,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: cMgwvehK2W9mbSspBAPi74
+    - id: wakkz6XuvZXPipP81QvPx4
       sortOrder: 12
       fieldKey: facebook
       label: Facebook Attribution Data
@@ -24305,7 +26601,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 4yvo3qjnceKJGbYTx9vrXe
+    - id: vTTP7xpe4T7rGhvCrXkTE7
       sortOrder: 13
       fieldKey: first_name
       label: First Name
@@ -24319,7 +26615,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: cNsqEmuXDikmuSgeCSF8c5
+    - id: ssSsnHKuPSFuQFc1MV17ZD
       sortOrder: 14
       fieldKey: gender
       label: Gender
@@ -24335,7 +26631,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 9e6Ns4qvCin4ibB2uZ87zJ
+    - id: 8L9aku58jMfmPMGfHhbsFw
       sortOrder: 15
       fieldKey: home_city
       label: Home City
@@ -24349,7 +26645,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 2r4fDWjg3uHQyA6YLXbwD7
+    - id: xiBU6eUE6uzLDrBZv2jhVB
       sortOrder: 16
       fieldKey: image_url
       label: Image URL
@@ -24363,7 +26659,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 8yKCLQ4YvcUhcpbdxY4wid
+    - id: 3rP2hq85GNyU8U9XgoSZCY
       sortOrder: 17
       fieldKey: language
       label: Language
@@ -24375,7 +26671,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: rVizXpARf3duTGxik6qZyX
+    - id: iQcmVPWnTKVzvsxAKYj9mj
       sortOrder: 18
       fieldKey: last_name
       label: Last Name
@@ -24389,7 +26685,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: qeedvdRAqYXHbAe32kRU7w
+    - id: t3g6HprsnqCh2M3fo9BXRM
       sortOrder: 19
       fieldKey: marked_email_as_spam_at
       label: Marked Email as Spam At
@@ -24401,7 +26697,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: oGdPKPYxudEvqPcA2JTXsS
+    - id: xmeuVQp8uMCXZXZm9UXMxH
       sortOrder: 20
       fieldKey: phone
       label: Phone Number
@@ -24415,7 +26711,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: wmKgx4r2PAMGTSTiroDrwd
+    - id: rroMN2p5FLuExhzZWuHqtc
       sortOrder: 21
       fieldKey: push_subscribe
       label: Push Subscribe
@@ -24430,7 +26726,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: d7FCXVA7f3RppMEZqczuLw
+    - id: kEvbfkKEX1uqhzMWuNwmp2
       sortOrder: 22
       fieldKey: push_tokens
       label: Push Tokens
@@ -24447,7 +26743,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: cVoANWsB8ytjevRfqF31SK
+    - id: rjGXsxbfqWbr3ZeFHwz27z
       sortOrder: 23
       fieldKey: time_zone
       label: Time zone
@@ -24462,7 +26758,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: f9MvcdY6EEBQqbDdZfZcky
+    - id: u45mgdB6SJ8dqFavPgnbRT
       sortOrder: 24
       fieldKey: twitter
       label: Twitter Attribution Data
@@ -24477,7 +26773,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: sr3KDeAmubMwH5huLNEP8G
+    - id: w5XpKj2h7c8cseVPiE2Kfr
       sortOrder: 25
       fieldKey: custom_attributes
       label: Custom Attributes
@@ -24491,7 +26787,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: cdENeQDWi4frnTkLkNEeU4
+    - id: u5Xa38kWR8zMCfDEYn4inB
       sortOrder: 26
       fieldKey: enable_batching
       label: Batch Data to Braze
@@ -24514,7 +26810,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event != "Order Completed"
     fields:
-    - id: 6HP8cFtZUmj422SCVRFH8C
+    - id: c5QwcdEX6QoGvfR68ZvJAK
       sortOrder: 0
       fieldKey: external_id
       label: External User ID
@@ -24528,7 +26824,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 55mu6trKz3nHcpWyzgfQfM
+    - id: aV15trPsL3nD8meUQrZYcn
       sortOrder: 1
       fieldKey: user_alias
       label: User Alias Object
@@ -24542,7 +26838,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: wUvReNFdTX6oBB9DA8gP7
+    - id: yxSQtvpEpaBSuCNVCyaLx
       sortOrder: 2
       fieldKey: email
       label: Email
@@ -24562,7 +26858,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: egbTMCodi5BAXAzJrHdEQc
+    - id: w3rt9rnM9RQLGbxwddWfpq
       sortOrder: 3
       fieldKey: braze_id
       label: Braze User Identifier
@@ -24576,7 +26872,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 6v8RRJg2fGx5pu7snzanbr
+    - id: 5dnLJugnsTMbysGFrvabaE
       sortOrder: 4
       fieldKey: name
       label: Event Name
@@ -24590,7 +26886,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: j2xw9f1aZyU6c9tofbhWoF
+    - id: 9ZM31KcgrubTvn73paBiEn
       sortOrder: 5
       fieldKey: time
       label: Time
@@ -24604,7 +26900,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: cRnMjpPxBUByv2sF6fBHVy
+    - id: 9BZDbkF514gUW1rFFpgwW7
       sortOrder: 6
       fieldKey: properties
       label: Event Properties
@@ -24618,7 +26914,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: rypZ9WGeY5ZecDeusDNN4C
+    - id: r1YAg5cWiqtA5uEKuv9QFN
       sortOrder: 7
       fieldKey: enable_batching
       label: Batch Data to Braze
@@ -24643,7 +26939,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: vdC7t5iSzmAL18cZxY7ZQK
+    - id: pA9P84W33KWLVMeBaMrGvc
       sortOrder: 0
       fieldKey: external_id
       label: External ID
@@ -24655,7 +26951,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: tWoJS7Bxh126VhyrbGnoqN
+    - id: q2RV1ddCen5DeQrq2zM9CJ
       sortOrder: 1
       fieldKey: user_alias
       label: User Alias Object
@@ -24669,7 +26965,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ajA656rF84imeMoGefhNrH
+    - id: uSSwiZtKntADfysMTHzLwT
       sortOrder: 2
       fieldKey: email_to_identify
       label: Email to Identify
@@ -24681,7 +26977,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: e7bxortit7qUL6ZW8qxUL5
+    - id: w5gtkhWKoCxSfqngqoiNeG
       sortOrder: 3
       fieldKey: prioritization
       label: Prioritization
@@ -24695,7 +26991,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: tz83vDWLBLJxJgev7kikjA
+    - id: 36vfotFjwJdrgsFqigq3s9
       sortOrder: 4
       fieldKey: merge_behavior
       label: Merge Behavior
@@ -24724,7 +27020,7 @@ items:
     hidden: false
     defaultTrigger: event = "Create Alias"
     fields:
-    - id: suRsQh4ZMUo9mJ1L5A6MXU
+    - id: hn9sGteqXqBRngR2DLmBf6
       sortOrder: 0
       fieldKey: external_id
       label: External ID
@@ -24736,7 +27032,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: pPTpuGdJD5fbFa67QBGEgT
+    - id: nJsA2ACXiwnMj2EeV5yjG6
       sortOrder: 1
       fieldKey: alias_name
       label: Alias Name
@@ -24748,7 +27044,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 7PJvRn7FZyrUTZEpiByxDq
+    - id: f1GfS5BFT1scHVFbxhcjZL
       sortOrder: 2
       fieldKey: alias_label
       label: Alias Label
@@ -24768,7 +27064,7 @@ items:
     hidden: false
     defaultTrigger: event = "Order Completed"
     fields:
-    - id: 4BEobjyZiqb7324bvAQpJH
+    - id: ixMtCebbqNKfv1aGCtME4K
       sortOrder: 0
       fieldKey: external_id
       label: External User ID
@@ -24782,7 +27078,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: h2k24P8KdrkEA5eL7acqUa
+    - id: ruCU35Wqs8T4PevS4ZmU5V
       sortOrder: 1
       fieldKey: user_alias
       label: User Alias Object
@@ -24796,7 +27092,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 55eGJ542ZMW9uU7G73m2BV
+    - id: uzZDPa7uFWQpH1pLh3XsMz
       sortOrder: 2
       fieldKey: email
       label: Email
@@ -24810,7 +27106,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: bdgLiyNtFG2sxS1wZsfRoq
+    - id: iEEVn7biQdecud9SGoYvhp
       sortOrder: 3
       fieldKey: braze_id
       label: Braze User Identifier
@@ -24824,7 +27120,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: oK46PrHANHzVEhtxubD82x
+    - id: cKNB3NGqDqEjnbSb8pP3Qy
       sortOrder: 4
       fieldKey: time
       label: Time
@@ -24838,7 +27134,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 9SCQGFpgDVLDnmUaZBWva3
+    - id: mGzGN6fp6K2d46va9kBL
       sortOrder: 5
       fieldKey: products
       label: Products
@@ -24852,7 +27148,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 6D3qjSYWEG5Csr92LGTiN9
+    - id: WPEzRmRkZCNpmp6TdP8rf
       sortOrder: 6
       fieldKey: properties
       label: Event Properties
@@ -24866,7 +27162,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: nAk6yZaqkdCWsurq2okNN1
+    - id: 4ah6KWaND1oo82BTLggE6z
       sortOrder: 7
       fieldKey: enable_batching
       label: Batch Data to Braze
@@ -24889,7 +27185,7 @@ items:
     hidden: false
     defaultTrigger: type = "track"
     fields:
-    - id: ttvAPQeMyzL8qnGNPt7joY
+    - id: sPTCuHRcJCeAnecUuVqf2r
       sortOrder: 0
       fieldKey: campaign_id
       label: Campaign ID
@@ -24903,7 +27199,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: kfS94uFHQJ761q4rTgcuc9
+    - id: dEHae358DEQhGmePgivDR3
       sortOrder: 1
       fieldKey: send_id
       label: Send ID
@@ -24917,7 +27213,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: usvmKxE8M6rAak4TxRW1rb
+    - id: 5NhPCujCPP7txQ5WpPCFGS
       sortOrder: 2
       fieldKey: trigger_properties
       label: Trigger Properties
@@ -24934,7 +27230,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 4ciJRAnqDZzVaqcuJcmSsW
+    - id: 2oemWzNaa6oZaqVhxbPwPN
       sortOrder: 3
       fieldKey: broadcast
       label: Broadcast
@@ -24949,7 +27245,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: gtmVpCDAQVsJV6DxUQNYmX
+    - id: 84pncUPkpAegESBR3Em9nE
       sortOrder: 4
       fieldKey: attachments
       label: Attachments
@@ -24961,7 +27257,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: kR7ubc31pdAWbRtQnenkzP
+    - id: bddJKZzjdJz4tmW3bzVN3N
       sortOrder: 5
       fieldKey: recipients
       label: Recipients
@@ -24975,7 +27271,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: drVhjQzfXGXtn4iyWAQBWt
+    - id: ew1gYTSzqreFsASGNodNpo
       sortOrder: 6
       fieldKey: prioritization
       label: Prioritization
@@ -24989,7 +27285,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: gxyhAziD3HT68uyexoGZpv
+    - id: 9ULKQQi91KHGaDwAUjrcZn
       sortOrder: 7
       fieldKey: audience
       label: Audience
@@ -25011,7 +27307,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: g2gSCrVLVLm5j8GUpbjfUA
+    - id: bPkKYCKGeSfiFSqPANm25m
       sortOrder: 0
       fieldKey: item
       label: Catalog item to upsert
@@ -25026,7 +27322,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: 5SXHSbR8SdDyDJ96QmmzyC
+    - id: wD8HrbEBhG1oYSnAK17wpx
       sortOrder: 1
       fieldKey: item_id
       label: Item ID
@@ -25040,7 +27336,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: v3u4199oSX5Z322yyGhtd7
+    - id: cSe2bHd9wSLF41wLBEWvAo
       sortOrder: 2
       fieldKey: enable_batching
       label: Batch Data to Braze?
@@ -25053,7 +27349,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: dxCVKwHFmf9fbCYRQgpzsS
+    - id: uKkyRXx83KMULmRcUA2JBU
       sortOrder: 4
       fieldKey: operation
       label: Operation
@@ -25069,7 +27365,7 @@ items:
         value: select
       dynamic: false
       allowNull: false
-    - id: 2nbDJ7xGv2ZD91FyqbN73h
+    - id: whMhv8Xne4y4MwRdzFs87E
       sortOrder: 5
       fieldKey: selected_catalog_name
       label: Catalog Name
@@ -25081,7 +27377,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: ammQY5R2csXdQSoyr7VW8s
+    - id: oopajGWsU8s53yYzVZ6ACF
       sortOrder: 6
       fieldKey: created_catalog_name
       label: Catalog Name
@@ -25095,7 +27391,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 2GwQd2JD85vD7CPJsvDCYN
+    - id: hnB1vZZKnwRmmkuy5RSkEC
       sortOrder: 7
       fieldKey: description
       label: Catalog Description
@@ -25107,7 +27403,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: hE5Q8Hq97fUwB4Pm5ZuE7U
+    - id: jUZc1QZuEQXLG5xWjkDFGP
       sortOrder: 8
       fieldKey: columns
       label: Catalog Fields
@@ -25121,7 +27417,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: fE3vYwcP4qxmXhVixpmJL3
+    - id: cGqJWefruj1dQHLfZDjJpn
       sortOrder: 9
       fieldKey: onMappingSave
       label: Select or Create a Catalog
@@ -25144,7 +27440,7 @@ items:
     hidden: false
     defaultTrigger: type = "track"
     fields:
-    - id: 6AqjskUjsng6Rk3eg1yatq
+    - id: oiGEFgrdhJA3v32F4zTkeK
       sortOrder: 0
       fieldKey: canvas_id
       label: Canvas ID
@@ -25158,7 +27454,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: qxsm9pbYcTM47HvGL7NCqX
+    - id: wxRm1RbcZysJpqUBF3C9zA
       sortOrder: 1
       fieldKey: canvas_entry_properties
       label: Canvas Entry Properties
@@ -25175,7 +27471,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: hjci7Y7pY96gFWgyATVhgf
+    - id: bEuxY3oC6xbNHVeCdNXeYv
       sortOrder: 2
       fieldKey: broadcast
       label: Broadcast
@@ -25189,7 +27485,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: oX4QsEV4CdaPSo3Td83aXD
+    - id: cn4tUKL6RL5DVizmrEL6Zy
       sortOrder: 3
       fieldKey: recipients
       label: Recipients
@@ -25203,7 +27499,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 647vdrzKXnGZVYZNG2zL9A
+    - id: q6ZN3k9SeiLdRncgf15KCC
       sortOrder: 4
       fieldKey: prioritization
       label: Prioritization
@@ -25217,7 +27513,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 7oHphGH4yV5C2e3G88kRoh
+    - id: oEKGVECL2P4CyyxwQiXAfb
       sortOrder: 5
       fieldKey: audience
       label: Audience
@@ -25232,25 +27528,40 @@ items:
       dynamic: false
       allowNull: false
   presets:
-  - actionId: vE7Gf9yobj2gTuMBhwmg7g
-    name: Order Completed Calls
+  - actionId: 2P24zUSAL8BUpyGYNGmD7M
+    name: Identify Calls
     fields:
       external_id:
         '@path': $.userId
-      email:
-        '@path': $.traits.email
       braze_id:
         '@path': $.properties.braze_id
-      time:
-        '@path': $.receivedAt
-      products:
-        '@path': $.properties.products
-      properties:
-        '@path': $.properties
+      country:
+        '@path': $.context.location.country
+      current_location:
+        latitude:
+          '@path': $.context.location.latitude
+        longitude:
+          '@path': $.context.location.longitude
+      email:
+        '@path': $.traits.email
+      first_name:
+        '@path': $.traits.firstName
+      gender:
+        '@path': $.traits.gender
+      home_city:
+        '@path': $.traits.address.city
+      image_url:
+        '@path': $.traits.avatar
+      last_name:
+        '@path': $.traits.lastName
+      phone:
+        '@path': $.traits.phone
+      custom_attributes:
+        '@path': $.traits
       _update_existing_only: false
       enable_batching: true
       batch_size: 75
-    trigger: event = "Order Completed"
+    trigger: type = "identify"
   - actionId: 3pnc4QJvUjWGi2bp6EnDt
     name: Track Calls
     fields:
@@ -25276,46 +27587,25 @@ items:
       enable_batching: true
       batch_size: 75
     trigger: type = "track" and event != "Order Completed"
-  - actionId: 2P24zUSAL8BUpyGYNGmD7M
-    name: Identify Calls
+  - actionId: vE7Gf9yobj2gTuMBhwmg7g
+    name: Order Completed Calls
     fields:
       external_id:
         '@path': $.userId
-      braze_id:
-        '@path': $.properties.braze_id
-      country:
-        '@path': $.context.location.country
-      current_location:
-        latitude:
-          '@path': $.context.location.latitude
-        longitude:
-          '@path': $.context.location.longitude
       email:
         '@path': $.traits.email
-      first_name:
-        '@path': $.traits.firstName
-      gender:
-        '@path': $.traits.gender
-      home_city:
-        '@path': $.traits.address.city
-      image_url:
-        '@path': $.traits.avatar
-      last_name:
-        '@path': $.traits.lastName
-      phone:
-        '@path': $.traits.phone
-      custom_attributes:
-        '@path': $.traits
+      braze_id:
+        '@path': $.properties.braze_id
+      time:
+        '@path': $.receivedAt
+      products:
+        '@path': $.properties.products
+      properties:
+        '@path': $.properties
       _update_existing_only: false
       enable_batching: true
       batch_size: 75
-    trigger: type = "identify"
-  - actionId: 9DUBR4qVXRxPXa39oiz2Tc
-    name: Trigger Canvas
-    fields:
-      canvas_entry_properties:
-        '@path': $.properties
-    trigger: type = "track" and event = "Trigger Canvas"
+    trigger: event = "Order Completed"
   partnerOwned: false
 - id: 63872c01c0c112b9b4d75412
   display_name: Braze Cohorts
@@ -51518,7 +53808,7 @@ items:
     hidden: true
     defaultTrigger: null
     fields:
-    - id: iBdGLN4daYdMLtTU6rSv1C
+    - id: uWha72GX25vPRfwS2oBdMu
       sortOrder: 0
       fieldKey: conversion_label
       label: Conversion Label
@@ -51535,7 +53825,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: pgwLcfsZH6s4HqS5sdCo1f
+    - id: nqYxqC3UvSFpzX5JYGpYSG
       sortOrder: 1
       fieldKey: email
       label: Email
@@ -51556,7 +53846,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 3KzeZyZbaT96776LXMgX2D
+    - id: vDm94ayk9M7uGiD1C1UULd
       sortOrder: 2
       fieldKey: transaction_id
       label: Order ID
@@ -51575,7 +53865,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: dtZQFHLnt11KQctu8K3prK
+    - id: o3GVPNN5j3sxvMapS2x893
       sortOrder: 3
       fieldKey: user_agent
       label: User Agent
@@ -51595,7 +53885,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: juj9hxpkAaHcMW8yunR6ga
+    - id: cG2xRCv3wgXbVHwQkLFrJW
       sortOrder: 4
       fieldKey: conversion_time
       label: Conversion Time
@@ -51610,7 +53900,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: z8t2PJC9eMsECfY8iU2Jo
+    - id: 6cymPUj7eTgTf8LH1LojWN
       sortOrder: 5
       fieldKey: value
       label: Value
@@ -51625,7 +53915,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: tdPLT1QjTixCDdh2ARSdY4
+    - id: eBic8Z7rk8EUTNx1PWj1ph
       sortOrder: 6
       fieldKey: currency_code
       label: Currency Code
@@ -51642,7 +53932,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 8BMHKJ7CtsGkMJ4DZSYUsS
+    - id: 2wvNLpdBjK5qJoYzqb7RSn
       sortOrder: 7
       fieldKey: is_app_incrementality
       label: App Conversion for Incrementality Study
@@ -51656,7 +53946,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 37deXUoDfznDQhPawWk2aU
+    - id: cHHA1hA8bMUQ3stn2KZj1C
       sortOrder: 8
       fieldKey: pcc_game
       label: PCC Game Flag
@@ -51672,7 +53962,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: jKmf9j3YR74YyKwo6Qq7tJ
+    - id: 4M3opu9vUaW9NmmLk2phi9
       sortOrder: 9
       fieldKey: phone_number
       label: Phone Number
@@ -51695,7 +53985,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: hQxynkT7BwwZV5VGcmG8Hp
+    - id: 3795pqaQ8YcSW61WMfDeAm
       sortOrder: 10
       fieldKey: first_name
       label: First Name
@@ -51716,7 +54006,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 4YyDPV9ZGa6NJ7mmm6sJn
+    - id: emMif2fkzP6onGVxTKu2m6
       sortOrder: 11
       fieldKey: last_name
       label: Last Name
@@ -51737,7 +54027,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: aGkZeveVk9nChZcmHj5CJ6
+    - id: fA6XiPUFktDo8zESsuasC1
       sortOrder: 12
       fieldKey: street_address
       label: Street Address
@@ -51760,7 +54050,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: dBjSWaW5g7jdRmtvyM65j5
+    - id: 4ajoxYfPqM7YwTd6GXthBq
       sortOrder: 13
       fieldKey: city
       label: City
@@ -51781,7 +54071,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: eGXf8FjKrgewuomyFK2mqS
+    - id: aPCKAtxzCNZWtDYE1DyfKD
       sortOrder: 14
       fieldKey: region
       label: Region
@@ -51802,7 +54092,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: gDRAbqyy5ieH8CNdXbAYsC
+    - id: jxSRRZbXvpCnFuE9dP4V5q
       sortOrder: 15
       fieldKey: post_code
       label: Postal Code
@@ -51823,7 +54113,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 7iMKodntUfnTRKmV22Y6aT
+    - id: 5skcRYpfcyprMkUfDCXeUy
       sortOrder: 16
       fieldKey: country
       label: Country
@@ -51852,7 +54142,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: eCXMxWKtKFMs4PTGbYQvDS
+    - id: omAgmRFFNfRXAdG8qr5PC2
       sortOrder: 0
       fieldKey: conversion_action
       label: Conversion Action ID
@@ -51865,7 +54155,7 @@ items:
       dynamic: true
       allowNull: false
       hidden: false
-    - id: ehqSgvGkno7vNTPFYvU4DZ
+    - id: fLQsHXoaizEdcz7yBKx6h2
       sortOrder: 1
       fieldKey: adjustment_type
       label: Adjustment Type
@@ -51891,7 +54181,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: oxNxgxppLBhE8GEkeZTWBN
+    - id: YjbsszTfHkcZPe7jZCNkK
       sortOrder: 2
       fieldKey: adjustment_timestamp
       label: Adjustment Timestamp
@@ -51910,7 +54200,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: qM3QjfyqXzRacjeR6wpvKj
+    - id: eyHychXsKvGHvqbcLgkFMs
       sortOrder: 3
       fieldKey: order_id
       label: Order ID
@@ -51934,7 +54224,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 7kLBDW24wEVMutcbj4TRq1
+    - id: eG1VTciMMGGQqwaSpYciYB
       sortOrder: 4
       fieldKey: gclid
       label: GCLID
@@ -51949,7 +54239,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: s7JrGufTXe66hHnzjdxEgS
+    - id: mRP2EZ2fK2zQoqn1NQavWr
       sortOrder: 5
       fieldKey: conversion_timestamp
       label: Conversion Timestamp
@@ -51966,7 +54256,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: sMRHr3PQKaa8oFycVLWruv
+    - id: mu1VziJCgRGYksruacFzX1
       sortOrder: 6
       fieldKey: restatement_value
       label: Restatement Value
@@ -51983,7 +54273,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: bPg5SSZKKqAgwhUuriL2MT
+    - id: hNNorN3TagJfdSdzLJ4AeE
       sortOrder: 7
       fieldKey: restatement_currency_code
       label: Restatement Currency Code
@@ -52000,7 +54290,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 2VjP3Sipy7ESijt9y99Fpm
+    - id: cZ6z9BRcxohbgyMqMFSXQT
       sortOrder: 8
       fieldKey: email_address
       label: Email Address
@@ -52023,7 +54313,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: ffybsX66UudshPyYF9Urju
+    - id: 3EnTrjDja1eXh2vXsAVZ8P
       sortOrder: 9
       fieldKey: phone_country_code
       label: Phone Number Country Code
@@ -52038,7 +54328,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: go86Vo1ABjgCiamXkzvczf
+    - id: 3oHYVDBdCNy6CFSQzwLG4W
       sortOrder: 10
       fieldKey: phone_number
       label: Phone Number
@@ -52062,7 +54352,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: hvuJmoqWAJxwVCkzg4TwUd
+    - id: P6k1koEpQt8ZtFeavRbMP
       sortOrder: 11
       fieldKey: first_name
       label: First Name
@@ -52083,7 +54373,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: ipaMSu2iJaHaYe32XafDQM
+    - id: tifAw4k5oBmovrHA5mCN9m
       sortOrder: 12
       fieldKey: last_name
       label: Last Name
@@ -52106,7 +54396,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 6kWQJhP6Yh74VwT9TztrmJ
+    - id: 2sa5Q9grqBUaWHQsb6ENGS
       sortOrder: 13
       fieldKey: city
       label: City
@@ -52127,7 +54417,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: aLEFjgF5MbPdcmU8fm5phK
+    - id: wcLty1SR2haj4FAn52gi3o
       sortOrder: 14
       fieldKey: state
       label: State
@@ -52148,7 +54438,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: pKrq3Ka5UBs2a4qK2X2186
+    - id: ckqcjRtGnZcPuBaJU4N2wA
       sortOrder: 15
       fieldKey: country
       label: Country
@@ -52171,7 +54461,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: fXHZgfHLyxGJakZv8GvkxL
+    - id: rjm2T3658dmempxaEFoupZ
       sortOrder: 16
       fieldKey: postal_code
       label: Postal Code
@@ -52192,7 +54482,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 9uiZQermcwddadvZoSc13j
+    - id: 77nneQeqaY1bqCQAH3cNFE
       sortOrder: 17
       fieldKey: street_address
       label: Street Address
@@ -52213,7 +54503,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: wtmPb9uqyMZagw7bb6zrFg
+    - id: af1SWEBhs68rWnGqbzQ23P
       sortOrder: 18
       fieldKey: user_agent
       label: User Agent
@@ -52241,7 +54531,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: 3dp4dwWydhb6JJwiTktoWh
+    - id: utY2sb8LJT9ADHyuYjjS12
       sortOrder: 0
       fieldKey: conversion_action
       label: Conversion Action ID
@@ -52254,14 +54544,12 @@ items:
       dynamic: true
       allowNull: false
       hidden: false
-    - id: dCGUr8btApEvMDW9fDGy8A
+    - id: tj9vVGsUiTyX7owrw3mizK
       sortOrder: 1
       fieldKey: gclid
       label: GCLID
       type: STRING
-      description: >-
-        The Google click ID (gclid) associated with this conversion. One of
-        GCLID, GBRAID or WBRAID must be provided.
+      description: The Google click ID (gclid) associated with this conversion.
       placeholder: ''
       required: false
       multiple: false
@@ -52269,15 +54557,14 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: jMacDSkKLczWkwDt7UNMNS
+    - id: sKeHtLQUrqpbwXWduXVKf2
       sortOrder: 2
       fieldKey: gbraid
       label: GBRAID
       type: STRING
       description: >-
         The click identifier for clicks associated with app conversions and
-        originating from iOS devices starting with iOS14. One of GCLID, GBRAID
-        or WBRAID must be provided.
+        originating from iOS devices starting with iOS14.
       placeholder: ''
       required: false
       multiple: false
@@ -52285,15 +54572,14 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: nFgG5F7jmXuebojxar4wNi
+    - id: uqsSkCzwJuytniECH8tmkU
       sortOrder: 3
       fieldKey: wbraid
       label: WBRAID
       type: STRING
       description: >-
         The click identifier for clicks associated with web conversions and
-        originating from iOS devices starting with iOS14. One of GCLID, GBRAID
-        or WBRAID must be provided.
+        originating from iOS devices starting with iOS14.
       placeholder: ''
       required: false
       multiple: false
@@ -52301,7 +54587,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: qtgVPXNp1vprTQgFzTN4tH
+    - id: vHEeru15MW6RLQ8p3H5mTT
       sortOrder: 4
       fieldKey: conversion_timestamp
       label: Conversion Timestamp
@@ -52319,7 +54605,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 5RzDQzqZ62dfJVFF6vHKkR
+    - id: tv5ZPVcvDwYAC5Ku27ZAup
       sortOrder: 5
       fieldKey: email_address
       label: Email Address
@@ -52342,7 +54628,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: v9Y2rkt21JeceeNEvQUc1t
+    - id: 3YQ4QmgHmBJUERDrxMPt2N
       sortOrder: 6
       fieldKey: phone_country_code
       label: Phone Number Country Code
@@ -52357,7 +54643,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 39TB6eA4nCmwszMd1AZUqX
+    - id: dzbLeXVJ8pgWWDoPrcV5ZQ
       sortOrder: 7
       fieldKey: phone_number
       label: Phone Number
@@ -52381,7 +54667,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: dEmis2fWEoL9T11DM8iGjV
+    - id: 9kFez51zJhGGuxzV49Prgw
       sortOrder: 8
       fieldKey: order_id
       label: Order ID
@@ -52404,7 +54690,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 2WQrHtJXSKGiQpaeHHYxDT
+    - id: 4UgV2XrmqNowXqjv2AEZPV
       sortOrder: 9
       fieldKey: value
       label: Value
@@ -52419,7 +54705,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: k9U2C6dcV8nBExekv49yWv
+    - id: dUxuXfrsjwExTb92n44BUp
       sortOrder: 10
       fieldKey: currency
       label: Currency
@@ -52436,7 +54722,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: dKbTuMgpUcpdRBYuxuHEe4
+    - id: e1iuQhPPdoYfppCs2ptu5m
       sortOrder: 11
       fieldKey: conversion_environment
       label: Conversion Environment
@@ -52459,7 +54745,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 9rC3aqb2U2WUwuqZAK6wTy
+    - id: dojz5Puob4x5dzruztLwx6
       sortOrder: 12
       fieldKey: merchant_id
       label: Merchant Center ID
@@ -52472,7 +54758,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 6kEqFf6NgmjdaLFpGqdje2
+    - id: 4fBEAM2cx3WEzu5uKt3F7g
       sortOrder: 13
       fieldKey: merchant_country_code
       label: Merchant Center Feed Country Code
@@ -52487,7 +54773,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 6PESYnLbYwDnqw232hiE9p
+    - id: m6SKLqLSQCPhs6GcedMSAM
       sortOrder: 14
       fieldKey: merchant_language_code
       label: Merchant Center Feed Language Code
@@ -52502,7 +54788,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 23f1pjvMKSs4U22Dad2hyU
+    - id: fXk3Kd7rsEPNoiTuWs3D2q
       sortOrder: 15
       fieldKey: local_cost
       label: Local Transaction Cost
@@ -52517,7 +54803,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: uB63H9dAhdty6tFXaoQwxY
+    - id: vVtKHGQBAVkwg3a1dgCcFN
       sortOrder: 16
       fieldKey: items
       label: Items
@@ -52539,7 +54825,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: hf2sPQWjRt4XVmGbCjm5gw
+    - id: 9bDGpB3DuW5QVgC6EUGT8z
       sortOrder: 17
       fieldKey: custom_variables
       label: Custom Variables
@@ -52548,9 +54834,8 @@ items:
         The custom variables associated with this conversion. On the left-hand
         side, input the name of the custom variable as it appears in your Google
         Ads account. On the right-hand side, map the Segment field that contains
-        the corresponding value. Will not be sent if GBRAID or WBRAID fields
-        populated. See [Google’s documentation on how to create custom
-        conversion
+        the corresponding value See [Google’s documentation on how to create
+        custom conversion
         variables.](https://developers.google.com/google-ads/api/docs/conversions/conversion-custom-variables) 
       placeholder: ''
       required: false
@@ -52559,7 +54844,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: bET6XccxFUz7Dvx2ZZF5fu
+    - id: d3E6JXeWs2Z7JDYFrGNMvj
       sortOrder: 18
       fieldKey: ad_user_data_consent_state
       label: Ad User Data Consent State
@@ -52580,7 +54865,7 @@ items:
         value: UNSPECIFIED
       dynamic: false
       allowNull: false
-    - id: rRWEPvmQtEhSG3fqjQkQAo
+    - id: rqWz2tdqWy44q3re2qPcan
       sortOrder: 19
       fieldKey: ad_personalization_consent_state
       label: Ad Personalization Consent State
@@ -52610,7 +54895,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: sSxraar6CY9nZVP9Cfk5zG
+    - id: 4f8DkasEy7gfgiDGoKYLwW
       sortOrder: 0
       fieldKey: conversion_action
       label: Conversion Action ID
@@ -52623,7 +54908,7 @@ items:
       dynamic: true
       allowNull: false
       hidden: false
-    - id: bVnSzaJak8Y95HU3GSgrxk
+    - id: bvyoBYtRUjfNiMWUuswzy7
       sortOrder: 1
       fieldKey: caller_id
       label: Caller ID
@@ -52638,7 +54923,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 387fuHreLjLMZ5bf5UcGQZ
+    - id: bWqYFPJVEAEKC9steowERU
       sortOrder: 2
       fieldKey: call_timestamp
       label: Call Timestamp
@@ -52654,7 +54939,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 7WZgadQnr1VJQ12X9Bcitb
+    - id: rvVsxF5358hvqsfBMzhFWw
       sortOrder: 3
       fieldKey: conversion_timestamp
       label: Conversion Timestamp
@@ -52672,7 +54957,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: p3KVFFHKpyjvZeAtSc8udc
+    - id: acryZDEJ2QWzS1yxEkjVQJ
       sortOrder: 4
       fieldKey: value
       label: Value
@@ -52687,7 +54972,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 4mjiRpUv8J3A4QED6V2Rwh
+    - id: tY7j77TwuB8sCKG8jZ9ojM
       sortOrder: 5
       fieldKey: currency
       label: Currency
@@ -52704,7 +54989,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: bBZ2ekiDooc7kUex7iUm7k
+    - id: euiUmiVGEDNyjXPnzjRBWP
       sortOrder: 6
       fieldKey: custom_variables
       label: Custom Variables
@@ -52723,7 +55008,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 7San8airb269Dqs1JQiXqX
+    - id: gFYUVWNwr3X3nMUyFnFCQ2
       sortOrder: 7
       fieldKey: ad_user_data_consent_state
       label: Ad User Data Consent State
@@ -52744,7 +55029,7 @@ items:
         value: UNSPECIFIED
       dynamic: false
       allowNull: false
-    - id: bdZnknNZgpLgeyHPbjr4w6
+    - id: hmsZr7YmBzE5nVzeGZxRWS
       sortOrder: 8
       fieldKey: ad_personalization_consent_state
       label: Ad Personalization Consent State
@@ -52774,7 +55059,7 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Entered" or event = "Audience Exited"
     fields:
-    - id: sDTvnmVA6y3y61Ar1mEahD
+    - id: cqgHCGxFhFynHcpvCAinf9
       sortOrder: 0
       fieldKey: first_name
       label: First Name
@@ -52794,7 +55079,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: bDAFX5rVNxPaGyMjccKw4c
+    - id: 3anbKJFHuFB7VVz2XEvfRz
       sortOrder: 1
       fieldKey: last_name
       label: Last Name
@@ -52814,7 +55099,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: if1mquacvZLy4tvRLjAc8U
+    - id: wHnpK7yAaVjxXTu1AMMx8
       sortOrder: 2
       fieldKey: email
       label: Email
@@ -52834,7 +55119,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ad7zLQ8tdoGB2swybneXZC
+    - id: 9wgSGJqKpBZLUHrHdUrXBx
       sortOrder: 3
       fieldKey: phone
       label: Phone
@@ -52854,7 +55139,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: qMBtLxK9PkrbZMbyMkdbs7
+    - id: 7rPpLTruSeHmnqTGjDogkQ
       sortOrder: 4
       fieldKey: phone_country_code
       label: Phone Number Country Code
@@ -52869,7 +55154,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: x3DikK4gj23dN1Zx6c7bqc
+    - id: 2vAZpKhruZ3sKDZNsRmZvf
       sortOrder: 5
       fieldKey: country_code
       label: Address Country Code
@@ -52881,7 +55166,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: uH1qipG1JvfGXmDNGqb94E
+    - id: aG5zwwx7yy42DJbL76zNNW
       sortOrder: 6
       fieldKey: postal_code
       label: Postal Code
@@ -52893,7 +55178,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: nv1cUH4WkCQydf7HVRYNyv
+    - id: 5zBABfn9QKKVt67JoLPZAo
       sortOrder: 7
       fieldKey: crm_id
       label: CRM ID
@@ -52907,7 +55192,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: qKSukeqfTLZqgQjTkWNkSq
+    - id: pFKVAjgoXpUoa2Vbb8XFT7
       sortOrder: 8
       fieldKey: mobile_advertising_id
       label: Mobile Advertising ID
@@ -52923,7 +55208,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5DW9e4sZkipuVKp3EnWmh8
+    - id: 88sX6YKP5mv7Nt2mnx1sZU
       sortOrder: 9
       fieldKey: ad_user_data_consent_state
       label: Ad User Data Consent State
@@ -52944,7 +55229,7 @@ items:
         value: UNSPECIFIED
       dynamic: false
       allowNull: false
-    - id: 5WvmCQLEqaXGUkdRNmVoFs
+    - id: 3FFkdHp9kNiMpyiv8susSF
       sortOrder: 10
       fieldKey: ad_personalization_consent_state
       label: Ad Personalization Consent State
@@ -52966,7 +55251,7 @@ items:
         value: UNSPECIFIED
       dynamic: false
       allowNull: false
-    - id: 4x2tk47nBqJo1UWQcNtxwd
+    - id: 4o5yQvZcXaih4UfkLg3qxe
       sortOrder: 15
       fieldKey: list_id
       label: Existing List ID
@@ -52980,7 +55265,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: 3AcgJUcXWGM4HpBQaW2uiE
+    - id: dH4J3TKA61RNod7wgFMqro
       sortOrder: 16
       fieldKey: list_name
       label: List Name
@@ -52992,7 +55277,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: it3pxyzAfMQsx1Lqf8K4tk
+    - id: hgSR6UEShMHzyVZPizPieU
       sortOrder: 17
       fieldKey: external_id_type
       label: External ID Type
@@ -53011,7 +55296,7 @@ items:
         value: MOBILE_ADVERTISING_ID
       dynamic: false
       allowNull: false
-    - id: xmkFnQFNeWcKjGiqtka42V
+    - id: hu9WBML44VyhHaamrsuPgo
       sortOrder: 18
       fieldKey: app_id
       label: App ID
@@ -53026,7 +55311,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 3xKnrU87x5Y482UKy57kfr
+    - id: m7JeAmkXZTsHrKpLx4o6u9
       sortOrder: 19
       fieldKey: retlOnMappingSave
       label: Connect to a Google Customer Match User List
@@ -53049,7 +55334,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: gMby4TNBBsuSZwMc2Upz3r
+    - id: uAf37jkKyodreoNnhh7A76
       sortOrder: 0
       fieldKey: conversion_action
       label: Conversion Action ID
@@ -53061,7 +55346,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: 7cyupTfqX3BSqTtRpk94WD
+    - id: 74nya66shfGVbGZHVFDghm
       sortOrder: 1
       fieldKey: caller_id
       label: Caller ID
@@ -53075,7 +55360,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: w6Fn4rdTCrjEYpaW8HX3Cw
+    - id: imFcuLiJvXpXgveKMzUqNN
       sortOrder: 2
       fieldKey: call_timestamp
       label: Call Timestamp
@@ -53090,7 +55375,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: uhtv8hYZsAXqN8YxU5PMzV
+    - id: foMqCVRjR1xyAZHikbN14o
       sortOrder: 3
       fieldKey: conversion_timestamp
       label: Conversion Timestamp
@@ -53107,7 +55392,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: k5LN9Tpzq79BKFC42QLzwF
+    - id: rRX4cn9PzKioY4Euc4Vjvc
       sortOrder: 4
       fieldKey: value
       label: Value
@@ -53121,7 +55406,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: m63pKHus64ieUiyEFMv35X
+    - id: o6NSyFFV9hP7s2JDP4eZSd
       sortOrder: 5
       fieldKey: currency
       label: Currency
@@ -53137,7 +55422,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 69Fy3KJzGG1mqMM2uADmGq
+    - id: utLakv71FgC5qe9GDMYerC
       sortOrder: 6
       fieldKey: custom_variables
       label: Custom Variables
@@ -53155,7 +55440,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: dRTWDPgLWJ18aXKwzHBbdn
+    - id: 6tinsFCw84ZjhxBcmz35Xo
       sortOrder: 7
       fieldKey: ad_user_data_consent_state
       label: Ad User Data Consent State
@@ -53176,7 +55461,7 @@ items:
         value: UNSPECIFIED
       dynamic: false
       allowNull: false
-    - id: usEArmwJHcJ573JPYcnj3
+    - id: dYP484NWtQS97KQLwBfAx6
       sortOrder: 8
       fieldKey: ad_personalization_consent_state
       label: Ad Personalization Consent State
@@ -53206,7 +55491,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: xgrFy7Kc1e6Lys3i8th5h8
+    - id: b3rMFQQMqvHSKHxxnygxdf
       sortOrder: 0
       fieldKey: conversion_action
       label: Conversion Action ID
@@ -53218,7 +55503,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: cmP9LEN7bYP7B22Bb2BQsZ
+    - id: 3nBUnvLoZHPvogC96VnEZe
       sortOrder: 1
       fieldKey: adjustment_type
       label: Adjustment Type
@@ -53243,7 +55528,7 @@ items:
         value: ENHANCEMENT
       dynamic: false
       allowNull: false
-    - id: gZUXXQDQf583MnXs8pedj2
+    - id: YQAPDsJzVVViLTD6JS5r5
       sortOrder: 2
       fieldKey: adjustment_timestamp
       label: Adjustment Timestamp
@@ -53261,7 +55546,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: tQZfHzjhFtx2efo6m96v84
+    - id: 9oR8yB31h8mWDAszBxWQvU
       sortOrder: 3
       fieldKey: order_id
       label: Order ID
@@ -53284,7 +55569,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: oFww5R9FiGSyqbUwTNYWFE
+    - id: auFdQjYFV4GKJ9fap23nT2
       sortOrder: 4
       fieldKey: gclid
       label: GCLID
@@ -53298,7 +55583,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: uZtDpU4UMh1WL5R6Nj4hnQ
+    - id: DEJzZuWinQNduc4TVBpUY
       sortOrder: 5
       fieldKey: conversion_timestamp
       label: Conversion Timestamp
@@ -53314,7 +55599,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: cvJwWUy7u19g4xKxUMopEN
+    - id: rrQZJWaZpowfC25sYDAQet
       sortOrder: 6
       fieldKey: restatement_value
       label: Restatement Value
@@ -53330,7 +55615,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 9wTsSdbMFwiPpd5VyDGV9L
+    - id: 5v9Siudh9PZc8i4i1FFrFJ
       sortOrder: 7
       fieldKey: restatement_currency_code
       label: Restatement Currency Code
@@ -53346,7 +55631,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: cWjY4RNUR1uqQFPfsZVvFi
+    - id: tXxefoZhS5xjwdVyBRYYvz
       sortOrder: 8
       fieldKey: phone_country_code
       label: Phone Number Country Code
@@ -53361,7 +55646,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: iwUubYi4C9o8nv5DjT4Pdf
+    - id: poFPAgMJ8Er3LNiAVezZ49
       sortOrder: 9
       fieldKey: email_address
       label: Email Address
@@ -53383,7 +55668,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: vr62XkSTrTEisvbvgq7SCx
+    - id: wQxcuDSrm8TzRyZLUPhi94
       sortOrder: 10
       fieldKey: phone_number
       label: Phone Number
@@ -53406,7 +55691,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: wJXWeutSazM2iwQn44pAZX
+    - id: qg9fSUT8WMsDNKaAuGGvhT
       sortOrder: 11
       fieldKey: first_name
       label: First Name
@@ -53426,7 +55711,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: dMJNoRRKRfP1qij8FeSdcm
+    - id: wGKYaTi7vQHxekqQvUWfbp
       sortOrder: 12
       fieldKey: last_name
       label: Last Name
@@ -53448,7 +55733,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 56KDmkVZk3FoW7oNxq8Lwx
+    - id: hoXuP7SZKFQM2DQYCQhHEF
       sortOrder: 13
       fieldKey: city
       label: City
@@ -53468,7 +55753,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: mSv4MdQ9oPQ5kSAAv4LJWB
+    - id: vTg9cqmwUN4ZfjY9yR7NL1
       sortOrder: 14
       fieldKey: state
       label: State
@@ -53488,7 +55773,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: kL6fcrFCKwb52zR2u4G2hE
+    - id: hBgt8cceFPUTsUK5synUnj
       sortOrder: 15
       fieldKey: country
       label: Country
@@ -53510,7 +55795,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 6BwigpKhU8Z4MQE2Cc8Cdm
+    - id: oJmjV5rsmkJqSd9d393fnr
       sortOrder: 16
       fieldKey: postal_code
       label: Postal Code
@@ -53530,7 +55815,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: uA2s9w8B7g6sw5aDkeHJbs
+    - id: w3W8nYGji2b54noDiWNYJB
       sortOrder: 17
       fieldKey: street_address
       label: Street Address
@@ -53552,7 +55837,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 7uXnBfpKanK8ysTX8Dk5oN
+    - id: 8S38afzUEaARBu8XwNojPi
       sortOrder: 18
       fieldKey: user_agent
       label: User Agent
@@ -53579,7 +55864,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: vPV8GDsNZ8idSqekuhrn2a
+    - id: 7ABZGortsUcvwLZvqQM2As
       sortOrder: 0
       fieldKey: conversion_action
       label: Conversion Action ID
@@ -53591,51 +55876,47 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: dEhg2mGi8Bk5HGx7XP1mhC
+    - id: ctaGgQGVTWiLX2GhiJjnQM
       sortOrder: 1
       fieldKey: gclid
       label: GCLID
       type: STRING
-      description: >-
-        The Google click ID (gclid) associated with this conversion. One of
-        GCLID, GBRAID or WBRAID must be provided.
+      description: The Google click ID (gclid) associated with this conversion.
       placeholder: ''
       required: false
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
-    - id: ji75441EHVQodrc7Vsrr1t
+    - id: 67vCA5yPvgu2FyGM3orNvY
       sortOrder: 2
       fieldKey: gbraid
       label: GBRAID
       type: STRING
       description: >-
         The click identifier for clicks associated with app conversions and
-        originating from iOS devices starting with iOS14. One of GCLID, GBRAID
-        or WBRAID must be provided.
+        originating from iOS devices starting with iOS14.
       placeholder: ''
       required: false
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
-    - id: bd89GYci3MfCPPPK9eFvxd
+    - id: 2RsMyoVRGWdxhd6qcykCQx
       sortOrder: 3
       fieldKey: wbraid
       label: WBRAID
       type: STRING
       description: >-
         The click identifier for clicks associated with web conversions and
-        originating from iOS devices starting with iOS14. One of GCLID, GBRAID
-        or WBRAID must be provided.
+        originating from iOS devices starting with iOS14.
       placeholder: ''
       required: false
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
-    - id: acmRbLVULtQANRdNnQY9g7
+    - id: cfumqtkwbDJfyZMT71s4Wr
       sortOrder: 4
       fieldKey: conversion_timestamp
       label: Conversion Timestamp
@@ -53652,7 +55933,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: xBaE17VfftUXpwRU1sK42J
+    - id: 9f2dVz4zgHCHsaiiW7NiED
       sortOrder: 5
       fieldKey: email_address
       label: Email Address
@@ -53674,7 +55955,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: sG6PBo9y61ZTiNRmcHW4qM
+    - id: cREGbk5YX4wyWzmope9rMm
       sortOrder: 6
       fieldKey: phone_country_code
       label: Phone Number Country Code
@@ -53689,7 +55970,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: fDNY5boZaWXkqWma6QAYvU
+    - id: 4jYayQRzhmJ6pD5sG5oEuH
       sortOrder: 7
       fieldKey: phone_number
       label: Phone Number
@@ -53712,7 +55993,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 49hdCo5bmNtW5yVcLQSgvY
+    - id: 4hWmJCeKaCdsouF6JJ52dH
       sortOrder: 8
       fieldKey: order_id
       label: Order ID
@@ -53734,7 +56015,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: qkh9N77mW6c8P7gcvFqGz5
+    - id: vEq3e2RLGKMVszaQPSEff2
       sortOrder: 9
       fieldKey: value
       label: Value
@@ -53748,7 +56029,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: bttFjeS2DKZHEqEBFSSnth
+    - id: 5EoY6GCfsfR8estmYYA9f7
       sortOrder: 10
       fieldKey: currency
       label: Currency
@@ -53764,7 +56045,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 7Qm3ngduoEGxnPAaav6oUc
+    - id: sNp38MdzVKx95jQZUTmn7s
       sortOrder: 11
       fieldKey: conversion_environment
       label: Conversion Environment
@@ -53786,7 +56067,7 @@ items:
         value: UNSPECIFIED
       dynamic: false
       allowNull: false
-    - id: 9z1Dw9xX5nrnbhdhwjsgR1
+    - id: rqXZwyZVefjUToq4eaWPAS
       sortOrder: 12
       fieldKey: merchant_id
       label: Merchant Center ID
@@ -53798,7 +56079,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 4WU7iwyTw6H1HcK2N9S3pn
+    - id: 5fVHWgqDq29dGoG7L349ub
       sortOrder: 13
       fieldKey: merchant_country_code
       label: Merchant Center Feed Country Code
@@ -53812,7 +56093,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: uJurc1BvcStz5yL85YjAW4
+    - id: 5Nx1N3VvkykR7EyBVtfo8
       sortOrder: 14
       fieldKey: merchant_language_code
       label: Merchant Center Feed Language Code
@@ -53826,7 +56107,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: dgNyiZrXrHXpdSkWEjVvHH
+    - id: 5fqhNPgWg66GWzihfoDa3o
       sortOrder: 15
       fieldKey: local_cost
       label: Local Transaction Cost
@@ -53840,7 +56121,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: f3mKMj3g1xXYKMBhXQESzQ
+    - id: mcKcE4iKz4kVSLtXFVaXEY
       sortOrder: 16
       fieldKey: items
       label: Items
@@ -53861,7 +56142,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ftdi5KQbp1Tr3akeZQpktp
+    - id: n5u5EL7kXGk6NTJrVYRheZ
       sortOrder: 17
       fieldKey: custom_variables
       label: Custom Variables
@@ -53870,9 +56151,8 @@ items:
         The custom variables associated with this conversion. On the left-hand
         side, input the name of the custom variable as it appears in your Google
         Ads account. On the right-hand side, map the Segment field that contains
-        the corresponding value. Will not be sent if GBRAID or WBRAID fields
-        populated. See [Google’s documentation on how to create custom
-        conversion
+        the corresponding value See [Google’s documentation on how to create
+        custom conversion
         variables.](https://developers.google.com/google-ads/api/docs/conversions/conversion-custom-variables) 
       placeholder: ''
       required: false
@@ -53880,7 +56160,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 34HKCS1dj1btdtw1boYxQe
+    - id: 7sKm97uefWyBEdS3JVcMkp
       sortOrder: 18
       fieldKey: ad_user_data_consent_state
       label: Ad User Data Consent State
@@ -53901,7 +56181,7 @@ items:
         value: UNSPECIFIED
       dynamic: false
       allowNull: false
-    - id: wjNeujiw5b1YZ5tYdaz5qv
+    - id: aNuZsRK3V3QmGKrkkJPfBR
       sortOrder: 19
       fieldKey: ad_personalization_consent_state
       label: Ad Personalization Consent State
@@ -67437,7 +69717,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" or type = "identify"
     fields:
-    - id: 5cY2gmAjT7DcH7jJYeC6A4
+    - id: 775trsAhAPYd17NqGP3VTV
       sortOrder: 0
       fieldKey: custom_audience_name
       label: Custom Audience Name
@@ -67452,7 +69732,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: pM4dn6ACmip7fEtv7fRPyd
+    - id: hY8h2gV8u2b2gDFjWxyQpK
       sortOrder: 1
       fieldKey: segment_computation_action
       label: Segment Computation Action
@@ -67469,7 +69749,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 6nmVCm14f4RwY2dKpPigo2
+    - id: nkV3MrsnGL4kTaSGnyr962
       sortOrder: 2
       fieldKey: append_arrays
       label: Append Array Fields
@@ -67484,7 +69764,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: rm6VSenWZ5VGUgmoggq6e6
+    - id: iTUL5rDVguVC1brzCLKEzA
       sortOrder: 3
       fieldKey: email
       label: Email
@@ -67499,13 +69779,13 @@ items:
             '@path': $.context.traits.email
           else:
             '@path': $.traits.email
-      required: true
+      required: false
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
       hidden: false
-    - id: bf1yxxMjviJbjSCDUWJfRC
+    - id: uwsRqaXZZzNTDyL8khFhTZ
       sortOrder: 4
       fieldKey: phone
       label: Phone
@@ -67526,7 +69806,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: iXQp8DQwvXnqdikYSHVxr4
+    - id: sxEkWkgFTfMC2Csjh4DTU9
       sortOrder: 5
       fieldKey: traits_or_props
       label: traits or properties object
@@ -67547,7 +69827,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: twctYXqLpW612tYSdgZdnf
+    - id: 3NUgLyanMaBff3BLy23WRW
       sortOrder: 6
       fieldKey: user_id
       label: User ID
@@ -67562,7 +69842,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: czuyBxpCF4n4QbnzPM8MLT
+    - id: aKFmYu3u3e88L8rZoVAfZT
       sortOrder: 7
       fieldKey: anonymous_id
       label: Anonymous ID
@@ -67577,7 +69857,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: dcw7S2ANngS6ssCyq9iw1w
+    - id: k6yzvnHbKoM9ZVj3RqiTuu
       sortOrder: 8
       fieldKey: event_type
       label: Event Type
@@ -67592,7 +69872,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: jQbdxQvzn1tKTejfyUZyfX
+    - id: goufJ3ucmppMy3u2WAYm3D
       sortOrder: 9
       fieldKey: event_name
       label: Event Name
@@ -67613,7 +69893,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: j1oLfmENnEeVXR2pspqrJS
+    - id: qETT7qHwKgdFdP4xXNDbAE
       sortOrder: 10
       fieldKey: timestamp
       label: Timestamp
@@ -82353,7 +84633,7 @@ items:
     hidden: false
     defaultTrigger: type = "track"
     fields:
-    - id: ghfHdBxx9d9GJVHn1588jR
+    - id: p4STQ2Bktmjj7oKxWteodJ
       sortOrder: 0
       fieldKey: event_name
       label: Event Name
@@ -82371,7 +84651,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: vQXsGa5x39esNqwpN1X2jH
+    - id: fFnr29VLAnibybNLqyDRQd
       sortOrder: 1
       fieldKey: event_type
       label: Event Type
@@ -82386,7 +84666,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: b2jsatNsNR2MdcSWLHcuzy
+    - id: 2ihu6ZrRmBD9rumCBVyqA1
       sortOrder: 2
       fieldKey: segment_user_id
       label: User ID
@@ -82401,7 +84681,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: o1ho88oDZ6UqdijgvcdEzM
+    - id: qbcYhPevV9fUPShAA7uTLL
       sortOrder: 3
       fieldKey: livelike_profile_id
       label: LiveLike User Profile ID
@@ -82416,7 +84696,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: piGMFX4emcuw6Jg54FdMAz
+    - id: 8NkPzSCvjBdg41isbWZDb2
       sortOrder: 5
       fieldKey: custom_id
       label: Custom ID
@@ -82436,7 +84716,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: jHUjAyqvQAHTNgdeZUNfLh
+    - id: t8V2yA4ZcTaCMDpdwfY2sX
       sortOrder: 6
       fieldKey: timestamp
       label: Timestamp
@@ -82454,7 +84734,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 4XCGdGqszrx2kCcPxVYmrN
+    - id: cLkyfDHuRpYuLpNrmHoKpP
       sortOrder: 7
       fieldKey: properties
       label: Event Properties
@@ -82469,6 +84749,134 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
+  - id: 6cquCWDuRPE99wLjvV4Lh6
+    name: Sync to User Group
+    slug: syncToUserGroup
+    description: >-
+      Sync Segment user data to a user group in LiveLike. Can be used to sync
+      Engage Audience data to LiveLike User Groups.
+    platform: CLOUD
+    hidden: false
+    defaultTrigger: type = "identify"
+    fields:
+    - id: ahGL5iZiqgyD8KVKQSk9AL
+      sortOrder: 0
+      fieldKey: audience_id
+      label: Segment Audience ID
+      type: STRING
+      description: The unique identifier for the Segment Audience.
+      placeholder: ''
+      defaultValue:
+        '@path': $.context.personas.computation_id
+      required: true
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: amsVBCYihJQTusBp2pZscs
+      sortOrder: 1
+      fieldKey: audience_name
+      label: Segment Audience Name
+      type: STRING
+      description: The name of the Segment Audience.
+      placeholder: ''
+      defaultValue:
+        '@path': $.context.personas.computation_key
+      required: true
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: u3KQPMHZrBmZGL3ePxEpS8
+      sortOrder: 2
+      fieldKey: action
+      label: Action
+      type: BOOLEAN
+      description: >-
+        Set to true to add the user to the User Group, set to false to remove
+        the user from the User Group. If connecting to an Engage Audience, leave
+        this field empty.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: cDLfYtf62K1SKnQjzwqSKA
+      sortOrder: 3
+      fieldKey: timestamp
+      label: Timestamp
+      type: STRING
+      description: The timestamp of the event.
+      placeholder: ''
+      defaultValue:
+        '@path': $.timestamp
+      required: true
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: xu2Zi43oXiLq2hXTSerVDK
+      sortOrder: 5
+      fieldKey: traits_or_properties_hidden
+      label: Traits or Properties hidden
+      type: OBJECT
+      description: >-
+        Hidden field used to figure out if user is added or removed from an
+        Engage Audience
+      placeholder: ''
+      defaultValue:
+        '@if':
+          exists:
+            '@path': $.traits
+          then:
+            '@path': $.traits
+          else:
+            '@path': $.properties
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: rd3ND6ENeRQ58uDM5ZVgCi
+      sortOrder: 6
+      fieldKey: user_id
+      label: User ID
+      type: STRING
+      description: A unique identifier for a user.
+      placeholder: ''
+      defaultValue:
+        '@path': $.userId
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: 92HbHyN84LBFpD6G7ekoYS
+      sortOrder: 7
+      fieldKey: batch_size
+      label: Batch Size
+      type: NUMBER
+      description: The number of records to process in each batch. Default is 100.
+      placeholder: ''
+      defaultValue: 100
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: nMtDZnTRVhjnBgyGLFo2t1
+      sortOrder: 8
+      fieldKey: enable_batching
+      label: Enable Batching?
+      type: BOOLEAN
+      description: When enabled, Segment will send events in batches.
+      defaultValue: false
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
   presets:
   - actionId: hi6egKehiHEcn789ZZvs18
     name: Screen Calls
diff --git a/src/_data/catalog/destinations_private.yml b/src/_data/catalog/destinations_private.yml
index fc0e726a1c..29047ce6b1 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 2025-07-24 
+# destination data last updated 2025-07-31 
 items:
   - id: 54521fd925e721e32a72eee1
     display_name: Pardot
diff --git a/src/_data/catalog/source_categories.yml b/src/_data/catalog/source_categories.yml
index e7208eb76a..4037c85ab7 100644
--- a/src/_data/catalog/source_categories.yml
+++ b/src/_data/catalog/source_categories.yml
@@ -1,5 +1,5 @@
 # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
-# source categories last updated 2025-07-24 
+# source categories last updated 2025-07-31 
 items:
   - display_name: A/B testing
     slug: a-b-testing
diff --git a/src/_data/catalog/sources.yml b/src/_data/catalog/sources.yml
index 5dc4192ba2..8bcc064b0d 100644
--- a/src/_data/catalog/sources.yml
+++ b/src/_data/catalog/sources.yml
@@ -1,5 +1,5 @@
 # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
-# sources last updated 2025-07-24 
+# sources last updated 2025-07-31 
 items:
   - id: 8HWbgPTt3k
     display_name: .NET

From b2cded3123f60cdb23887c78c63b6f243a9b2204 Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Fri, 1 Aug 2025 15:14:24 -0400
Subject: [PATCH 167/188] fixedit

---
 src/_includes/content/destination-footer.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/_includes/content/destination-footer.md b/src/_includes/content/destination-footer.md
index 13fd3de1fe..c54bd3ed9a 100644
--- a/src/_includes/content/destination-footer.md
+++ b/src/_includes/content/destination-footer.md
@@ -36,7 +36,7 @@ Segment lets you change these destination settings from the Segment app without
   {% unless item.deprecated == true %}
 <tr>
 <td class="def" id="{{item.label | slugify}}">{{item.label}}{% if item.required == true %}<br /><i>(required)</i>{%endif%}</td>
-<td markdown="span"><code>{{item.type}}</code>{% if item.defaultValue != null and item.defaultValue != "" and item.defaultValue != '{}' and item.defaultValue != '[]'%}, defaults to {%if item.type == "array" %}{{item.defaultValue | join: ", " }}{%elsif item.type == "string"%}<code>{{item.defaultValue}}</code> {%elsif item.type == "boolean" %} <code>{{item.defaultValue | upcase }}</code> {%else%} {{item.defaultValue}}{%endif%}. <br /> <br /> {%else%}. {% endif %}{{item.description}}</td>
+<td markdown="span"><code>{{ item.type }}</code>{% unless item.defaultValue != nil and item.defaultValue != "" and item.defaultValue.size != 0 %}, has no default value. <br /><br /> {% else %}, defaults to {% if item.type == "array" %}{{ item.defaultValue | join: ", " }}{% elsif item.type == "string" %}<code>{{ item.defaultValue }}</code>{% elsif item.type == "boolean" %}<code>{{ item.defaultValue | upcase }}</code>{% endif %}.<br /><br />{% endunless %}{{ item.description }}</td>
 </tr>
 
 

From 1b30ccc96b2cdfcbe4dea1b0e5d5317946f21027 Mon Sep 17 00:00:00 2001
From: Varadarajan V <109586712+varadarajan-tw@users.noreply.github.com>
Date: Mon, 4 Aug 2025 12:04:54 +0530
Subject: [PATCH 168/188] Update
 src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 .../catalog/actions-facebook-custom-audiences/index.md        | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md b/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md
index d44547c6e5..a98cd4cb26 100644
--- a/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md
+++ b/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md
@@ -22,9 +22,9 @@ This destination sends audiences, or lists of users, to Facebook Custom Audience
 
 ### Prerequisites
 
-- A source already set up:
+- A source already set up.
   - For Reverse ETL: If you don't yet have a Reverse ETL source, follow the instructions in Segment's [Reverse ETL documentation](/docs/connections/reverse-etl/#getting-started). Segment recommends setting an [External ID](#sync-audience) as the primary key for your Reverse ETL model, as you'll need an External ID to remove users from your custom audiences.
-  - For Engage Audiences: An [Engage Audience](/docs/engage/audiences/) configured which you can connect to this destination. 
+  - For Engage Audiences: An [Engage Audience](/docs/engage/audiences/) that you can connect to this destination. 
 - A Facebook account with [ads_management](https://developers.facebook.com/docs/permissions#ads_management){:target="_blank”} permissions for the target Facebook Ad Account(s). The Facebook Ad Account(s) must also be associated with a [Facebook Business Account](https://www.facebook.com/business/help/407323696966570?id=649869995454285){:target="_blank”}.
 - Ensure that the user connecting to the destination using OAuth has at least an *Advertiser* or *Admin* role on the ad account. To manage permissions and roles for an ad account, reference [Facebook's documentation](https://www.facebook.com/business/help/186007118118684?id=829106167281625){:target="_blank"}.
 

From 42b788497100cb1a2b9c832e0085e6056b68125a Mon Sep 17 00:00:00 2001
From: Varadarajan V <109586712+varadarajan-tw@users.noreply.github.com>
Date: Mon, 4 Aug 2025 12:05:01 +0530
Subject: [PATCH 169/188] Update
 src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 .../catalog/actions-facebook-custom-audiences/index.md          | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md b/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md
index a98cd4cb26..2e1995979b 100644
--- a/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md
+++ b/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md
@@ -124,7 +124,7 @@ Segment automatically hashes any of the following fields that are not already SH
 * Gender
 
 
-## Additional Traits Matching
+## Additional trait matching
 
 Segment [Trait Enrichment](/docs/engage/trait-activation/trait-enrichment/) allows you to send an expanded list of identifiers or traits to Facebook, so that Facebook can try to use these additional data points to match to their user profiles. If you have this feature enabled and implemented any of these traits in your Segment tracking, the Facebook Custom Audiences (Actions) can send this data to Facebook. Segment can now also sync multiple emails if the profile contains more than one. Additionally as part of this feature, Segment hashes fields before sending them downstream to Facebook, if required as described in [Hashing](#hashing)section.
 

From ef0002a630b61c60ff78744259877ea870a502fe Mon Sep 17 00:00:00 2001
From: Varadarajan V <109586712+varadarajan-tw@users.noreply.github.com>
Date: Mon, 4 Aug 2025 12:05:06 +0530
Subject: [PATCH 170/188] Update
 src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md

Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com>
---
 .../catalog/actions-facebook-custom-audiences/index.md          | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md b/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md
index 2e1995979b..204e20c776 100644
--- a/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md
+++ b/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md
@@ -126,7 +126,7 @@ Segment automatically hashes any of the following fields that are not already SH
 
 ## Additional trait matching
 
-Segment [Trait Enrichment](/docs/engage/trait-activation/trait-enrichment/) allows you to send an expanded list of identifiers or traits to Facebook, so that Facebook can try to use these additional data points to match to their user profiles. If you have this feature enabled and implemented any of these traits in your Segment tracking, the Facebook Custom Audiences (Actions) can send this data to Facebook. Segment can now also sync multiple emails if the profile contains more than one. Additionally as part of this feature, Segment hashes fields before sending them downstream to Facebook, if required as described in [Hashing](#hashing)section.
+Segment [Trait Enrichment](/docs/engage/trait-activation/trait-enrichment/) allows you to send an expanded list of identifiers or traits to Facebook so that Facebook can try to use these additional data points to match to their user profiles. If you have this feature enabled and implemented any of these traits in your Segment tracking, the Facebook Custom Audiences (Actions) destination can send this data to Facebook. Segment can now also sync multiple emails if the profile contains more than one. Additionally as part of this feature, Segment hashes fields before sending them downstream to Facebook as described in the [Hashing](#hashing) section.
 
 ## FAQs and troubleshooting
 

From 7da05d298483533b8d6fe3b34071304cb1ce8cbf Mon Sep 17 00:00:00 2001
From: motasem-userpilot <motasem@userpilot.com>
Date: Mon, 4 Aug 2025 15:09:46 +0300
Subject: [PATCH 171/188] =?UTF-8?q?=F0=9F=93=9D=20Add=20Segment=20Destinat?=
 =?UTF-8?q?ion=20ID?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/connections/destinations/catalog/userpilot-mobile/index.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/connections/destinations/catalog/userpilot-mobile/index.md b/src/connections/destinations/catalog/userpilot-mobile/index.md
index 068b5d1b7f..2b80633eb0 100644
--- a/src/connections/destinations/catalog/userpilot-mobile/index.md
+++ b/src/connections/destinations/catalog/userpilot-mobile/index.md
@@ -1,5 +1,6 @@
 ---
 title: Userpilot Mobile (Device Mode) Destination
+id: 68207e064c022255721ec2d3
 ---
 
 Userpilot helps product teams deliver personalized in-app experiences to increase growth metrics at every stage of the user journey. When you integrate Userpilot with Segment, you can send your Segment events to Userpilot, enabling you to create more personalized experiences for your users across the product lifecycle.

From ae9624031ee8a28f76120364d4cb586f83c7aab9 Mon Sep 17 00:00:00 2001
From: Joe Ayoub <joe.ayoub@segment.com>
Date: Tue, 5 Aug 2025 10:26:46 +0100
Subject: [PATCH 172/188] Supporting RCS channel for Twilio Messaging
 Destination

---
 .../destinations/catalog/actions-twilio-messaging/index.md      | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/catalog/actions-twilio-messaging/index.md b/src/connections/destinations/catalog/actions-twilio-messaging/index.md
index 53f111b07a..a90746de5d 100644
--- a/src/connections/destinations/catalog/actions-twilio-messaging/index.md
+++ b/src/connections/destinations/catalog/actions-twilio-messaging/index.md
@@ -93,7 +93,7 @@ To configure the mapping:
 
 | Field                     | Description                                                                 | Notes                                                                                                                                                                   |
 | ------------------------- | --------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| **Channel**               | Choose which channel to send the message on.                                | Options: SMS, MMS, and WhatsApp.                                                                                                                                        |
+| **Channel**               | Choose which channel to send the message on.                                | Options: SMS, MMS, WhatsApp and RCS. If selecting RCS, ensure that RCS is enabled in your Twilio account.                                                               |
 | **Sender Type**           | Pick how you want to send the message.                                      | Options: Phone number or Messaging Service. Phone numbers must be approved in Twilio.                                                                                   |
 | **Content Template Type** | Select the type of content template.                                        | Options include Inline or templates you’ve built in Twilio. Segment only shows templates that match your selected Channel and Template Type.                            |
 | **To Phone Number**       | Enter the recipient’s phone number.                                         | Must be in [E.164 format](https://www.twilio.com/docs/glossary/what-e164){:target="_blank"}.                                                                            |

From f2e9f57cb8711b10db7d85745450f146f1871638 Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Tue, 5 Aug 2025 13:39:31 +0100
Subject: [PATCH 173/188] comma added

---
 .../destinations/catalog/actions-twilio-messaging/index.md    | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/connections/destinations/catalog/actions-twilio-messaging/index.md b/src/connections/destinations/catalog/actions-twilio-messaging/index.md
index a90746de5d..282a97366d 100644
--- a/src/connections/destinations/catalog/actions-twilio-messaging/index.md
+++ b/src/connections/destinations/catalog/actions-twilio-messaging/index.md
@@ -93,7 +93,7 @@ To configure the mapping:
 
 | Field                     | Description                                                                 | Notes                                                                                                                                                                   |
 | ------------------------- | --------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| **Channel**               | Choose which channel to send the message on.                                | Options: SMS, MMS, WhatsApp and RCS. If selecting RCS, ensure that RCS is enabled in your Twilio account.                                                               |
+| **Channel**               | Choose which channel to send the message on.                                | Options: SMS, MMS, WhatsApp, and RCS. If selecting RCS, ensure that RCS is enabled in your Twilio account.                                                               |
 | **Sender Type**           | Pick how you want to send the message.                                      | Options: Phone number or Messaging Service. Phone numbers must be approved in Twilio.                                                                                   |
 | **Content Template Type** | Select the type of content template.                                        | Options include Inline or templates you’ve built in Twilio. Segment only shows templates that match your selected Channel and Template Type.                            |
 | **To Phone Number**       | Enter the recipient’s phone number.                                         | Must be in [E.164 format](https://www.twilio.com/docs/glossary/what-e164){:target="_blank"}.                                                                            |
@@ -182,4 +182,4 @@ Here are a few things to keep in mind when using the Twilio Messaging destinatio
 - **Phone numbers must be approved**. Any phone number you use to send messages must be approved in your Twilio account and support the channel you’re sending on.
 - **Message logs and errors**. If a message fails to send, you can view details in your Twilio Console message logs. Common issues include invalid phone number formats or missing required template fields.
 
-Understanding these details will help you set up your messaging flows smoothly and avoid unexpected errors.
\ No newline at end of file
+Understanding these details will help you set up your messaging flows smoothly and avoid unexpected errors.

From c8081f0bacd6e45a82f132801c89b3ee735bad6c Mon Sep 17 00:00:00 2001
From: Joe Ayoub <joe.ayoub@segment.com>
Date: Tue, 5 Aug 2025 16:03:13 +0100
Subject: [PATCH 174/188] New Destination - Nextdoor

---
 .../catalog/actions-nextdoor-capi/index.md    | 26 +++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 src/connections/destinations/catalog/actions-nextdoor-capi/index.md

diff --git a/src/connections/destinations/catalog/actions-nextdoor-capi/index.md b/src/connections/destinations/catalog/actions-nextdoor-capi/index.md
new file mode 100644
index 0000000000..9996dbaf67
--- /dev/null
+++ b/src/connections/destinations/catalog/actions-nextdoor-capi/index.md
@@ -0,0 +1,26 @@
+---
+title: Nextdoor Conversions API Destination
+---
+
+{% include content/plan-grid.md name="actions" %}
+
+[Nextdoor Conversion API](https://yourintegration.com/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank”} allows advertisers to track and send conversion events directly to the platform. This API provides a programmatic way to record and attribute conversions, enabling advertisers to measure the effectiveness of their advertising campaigns.
+
+This destination is maintained by Nextdoor. For any issues with the destination, [contact their Support team](mailto:ads-api@nextdoor.com).
+
+## Getting started
+
+1. From your workspace's [Destination catalog page](https://app.segment.com/goto-my-workspace/destinations/catalog){:target="_blank”} search for "Nextdoor".
+2. Select Nextdoor Conversions API and click **Add Destination**.
+3. Select an existing Source to connect to Nextdoor Conversions API.
+4. Go to the [Nextdoor Ads Manager](https://ads.nextdoor.com/v2/manage/api){:target="_blank"}, then find and copy the **API key**, **Nextdoor Advertiser ID** and **Nextdoor Pixel Id** values. If these values are not visible in the Ads Manager, you may need to contact your Nextdoor Account Manager to ensure that your Nextdoor account has been whitelisted for the (Ads API) functionality. 
+5. Enter the **API key**, **Nextdoor Advertiser ID** and **Nextdoor Pixel Id** values in the Nextdoor Conversions API destination settings in Segment.
+6. In the Mappings tab, configure the Actions to send data to Nextdoor Conversions API. 
+7. Enable the Destination and Actions. 
+8. See [Nextdoor's documentation](https://developer.nextdoor.com/reference/conversion-api){:target="_blank”} for additional instructions.   
+
+{% include components/actions-fields.html %}
+
+## Nextdoor Browser Plugin Action
+When the **Nextdoor Conversions API** destination receives website data from a Segment JavaScript source, the **Nextdoor Browser Plugin** automatically grabs the **Nextdoor click ID** / **ndclid** from the querystirng in the page URL, and passes it to the **Send Conversion** Action. Supplying the **ndclid** boosts attribution accuracy and is strongly recommended for website tracking. The plugin is enabled by default as soon as the destination is created.
+

From 9f87520ee0f8e09045b00a766ea16ae9b3f688de Mon Sep 17 00:00:00 2001
From: Motasem <motasem@userpilot.com>
Date: Wed, 6 Aug 2025 09:09:24 +0300
Subject: [PATCH 175/188] Update index.md

Co-authored-by: stayseesong <83784848+stayseesong@users.noreply.github.com>
---
 src/connections/destinations/catalog/userpilot-mobile/index.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/connections/destinations/catalog/userpilot-mobile/index.md b/src/connections/destinations/catalog/userpilot-mobile/index.md
index 2b80633eb0..f661459c67 100644
--- a/src/connections/destinations/catalog/userpilot-mobile/index.md
+++ b/src/connections/destinations/catalog/userpilot-mobile/index.md
@@ -1,5 +1,5 @@
 ---
-title: Userpilot Mobile (Device Mode) Destination
+title: Userpilot Mobile Device Mode Destination
 id: 68207e064c022255721ec2d3
 ---
 

From e45a7a9d2e593113c1f87e275eb348a0184703c3 Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Wed, 6 Aug 2025 09:33:28 -0400
Subject: [PATCH 176/188] Update src/privacy/user-deletion-and-suppression.md

Co-authored-by: Sharon Adewusi <sadewusi@twilio.com>
---
 src/privacy/user-deletion-and-suppression.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/privacy/user-deletion-and-suppression.md b/src/privacy/user-deletion-and-suppression.md
index 40861daf5b..34d756a846 100644
--- a/src/privacy/user-deletion-and-suppression.md
+++ b/src/privacy/user-deletion-and-suppression.md
@@ -59,7 +59,7 @@ Warehouse deletions occur using a DML run against your cluster or instance. Segm
 
 ### Deletion requests tab
 
-The deletion requests tab shows a 30-day overview of your deletions pipeline, including a Regulations usage tracker and a deletion requests status table. The deletion requests summary tab shows the status of all your deletion requests from the last 30-day and might not accurately reflect your current deletion request limits.
+The deletion requests tab shows a 30-day overview of your deletions pipeline, including a Regulations usage tracker and a deletion requests status table. The deletion requests summary tab shows the status of all your deletion requests from the last 30 days and might not accurately reflect your current deletion request limits.
 
 To navigate to the deletion requests tab, open the Segment app and navigate to **Privacy > Deletion and Suppression > Deletion**.
 

From c8572d0c0d5366caba7e9ebc162013564b6f9bf0 Mon Sep 17 00:00:00 2001
From: wilwong-twilio <109997887+wilwong-twilio@users.noreply.github.com>
Date: Wed, 6 Aug 2025 10:50:21 -0700
Subject: [PATCH 177/188] Update actions.md

---
 src/connections/destinations/actions.md | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index 207bcc18f7..8132257e7c 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -350,7 +350,7 @@ This example converts an email address to lowercase and removes extra whitespace
   {% endraw %}
 ```
 
-Input: `event.properties.email` = "user@example.com"
+Input: `event.properties.email` = " User@Example.com "
 
 Output: user@example.com
 
@@ -378,9 +378,9 @@ This example formats a phone number by removing non-digit characters, adding a c
   {% endraw %}
 ```
 
-Input: `event.properties.phone` = "(123) 456-7890"
+Input: `event.properties.phone` = "(234) 567-8901"
 
-Output: +11234567890
+Output: +12345678901
 
 Explanation:
 * The `assign` tag stores the cleaned phone number after applying `strip` and `remove` filters to eliminate whitespace and non-digit characters (for example, `-`, `(`, `)`).

From e4f822b3b02ee1c8cdf5abe7c918e0a1f6201974 Mon Sep 17 00:00:00 2001
From: wilwong-twilio <109997887+wilwong-twilio@users.noreply.github.com>
Date: Wed, 6 Aug 2025 11:13:45 -0700
Subject: [PATCH 178/188] Update src/engage/audiences/index.md

Co-authored-by: stayseesong <83784848+stayseesong@users.noreply.github.com>
---
 src/engage/audiences/index.md | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/engage/audiences/index.md b/src/engage/audiences/index.md
index 410dd88d2a..8f7bb165d8 100644
--- a/src/engage/audiences/index.md
+++ b/src/engage/audiences/index.md
@@ -110,19 +110,19 @@ Dynamic Property references give you more flexibility over funnel audiences. Ins
 ![Using dynamic property references with an Audience funnel](/docs/engage/images/dynamic_property_audiences1.png)
 
 ### Audience previews
-After configuring your audience definition, use the **Preview** button to review your audience setup. It shows the total number of profiles that match your criteria and a sample list of those profiles, helping you confirm the audience is correct before launching campaigns. Previews are only available if your audience uses historical data, displaying the current size based on past data. To learn more about the Include Historical Data option, see here https://segment.com/docs/engage/audiences/#how-does-the-historical-data-flag-work. The audience will grow as new profiles meet your criteria. Click any profile in the sample list to view a detailed side sheet with their attributes, making it easy to verify membership. This feature simplifies campaign planning and ensures your audience targets the right profiles.
+After configuring your audience definition, click the **Preview** button to review your audience setup. It shows the total number of profiles that match your criteria and a sample list of those profiles, helping you confirm the audience is correct before launching campaigns. Previews are only available if your audience uses historical data, displaying the current size based on past data. Learn more about the [Include Historical Data option](/docs/engage/audiences/#how-does-the-historical-data-flag-work). The audience grows as new profiles meet your criteria. Click any profile in the sample list to view a detailed side sheet with their attributes, making it easy to verify membership. This feature simplifies campaign planning and ensures your audience targets the right profiles.
 
 > info ""
-> Audience preview membership is calculated using data that may be slightly delayed from real-time processing, which can lead to temporary discrepancies between the preview results and the profile information shown in the profile side sheet or via the Profile API.
+> The audience preview membership is calculated using data that may be slightly delayed from real-time processing, which can lead to temporary discrepancies between the preview results and the profile information shown in the profile side sheet or via the Profile API.
 
 #### Identifier breakdown
-To check how profiles in your audience are identified, first click **Preview** to view your audience configuration. In the Preview results, navigate to the **Insights** tab (next to the **Users** tab) to see a breakdown of the percentage of profiles associated with each external_id in the audience. These are the default IDs that Segment includes in the Identity resolution configuration. Segment displays the percentage of the audience with each identifier, which you can use to verify the audience size and profiles are correct. The update of identifier breakdowns on profiles doesn't occur in real time. 
+To check how profiles in your audience are identified, you can view them in the identifier breakdown. Click **Preview** to view your audience configuration. In the Preview results, navigate to the **Insights** tab to see a breakdown of the percentage of profiles associated with each external_id in the audience. These are the default IDs that Segment includes in the Identity resolution configuration. Segment displays the percentage of the audience with each identifier, which you can use to verify the audience size and profiles are correct. The  identifier breakdowns on profiles doesn't update in real time. 
 
 > info ""
 > The Identifier Breakdown doesn't show custom IDs included in the Identity resolution configuration unless those IDs are explicitly selected through [ID sync](/docs/engage/trait-activation/id-sync/). By default, Segment only displays external IDs in the breakdown.
 
 #### Audience overlap
-To check how your audience intersects with others in your Segment space, first click **Preview** to view your audience configuration. In the Preview results, navigate to the **Insights** tab (next to the **Users** tab). In the Insights tab, select an existing audience from the dropdown menu and click **Compute overlap** to see the number of shared profiles. This feature optimizes campaign targeting by identifying redundant audiences and refining segmentation.
+To check how your audience intersects with others in your Segment space, click **Preview** to view your audience configuration. In the Preview results, navigate to the **Insights** tab where you can select an existing audience from the dropdown menu and click **Compute overlap** to see the number of shared profiles. This feature optimizes campaign targeting by identifying redundant audiences and refining segmentation.
 
 ### Account-level audiences
 

From 2e7fadc2a126292079a2e0a6c5a65d3d61e92edd Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Wed, 6 Aug 2025 19:41:34 +0100
Subject: [PATCH 179/188] Clarifying how Page events are sent to Optimizely

---
 src/connections/destinations/catalog/optimizely-web/index.md | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/connections/destinations/catalog/optimizely-web/index.md b/src/connections/destinations/catalog/optimizely-web/index.md
index db6ffc7eef..fadb1ba94e 100644
--- a/src/connections/destinations/catalog/optimizely-web/index.md
+++ b/src/connections/destinations/catalog/optimizely-web/index.md
@@ -64,13 +64,14 @@ Segment also handles the following mapping:
 
 ### Page
 
-Segment maps `page` calls to its own `track` events. For example, invoking `analytics.page('Page Viewed')` using Segment's API maps the event to a `analytics.track('Page Viewed')` event. Segment maps the `track` event to other downstream destinations like a regular Segment `track` event.
+Segment maps `page` calls to its own `track` events. When you call `analytics.page('<name>')`, Segment automatically converts it into a track call with the formatted event name `Viewed <name> Page`. For example, `analytics.page('Home');` becomes `analytics.track('Viewed Home Page');`. This event is then forwarded to Optimizely as a custom event named `Viewed Home Page`. 
+
+Segment maps the `page` event to other downstream destinations like a regular Segment `page` event. 
 
 ### Experiment Listeners
 
 Upon activation of an Optimizely experiment, an “Experiment Viewed” Track event is sent to Segment. The event includes Optimizely experiment metadata which is sent whenever the Optimizely [`campaignDecided` listener](https://docs.developers.optimizely.com/web/docs/add-listener#section-campaign-decided){:target="_blank"} is activated.
 
-
 > info "Activating a Web experiment sends 'Experiment Viewed' Track events to Segment"
 > When you activate an Optimizely Web experiment, Optimizely automatically sends an "Experiment Viewed" Track event to Segment. This makes the Optimizely Web integration act as both a Destination and a Source, because the Track calls enrich and send Experiment Decisions and Exposure event data to Segment, which you can then send to other platforms.
 

From 892539f0bf9ab99a9cbf104c2adb74626588a4c4 Mon Sep 17 00:00:00 2001
From: stayseesong <STACY.S.SONG@GMAIL.COM>
Date: Wed, 6 Aug 2025 11:54:15 -0700
Subject: [PATCH 180/188] Add Data Graph YT Video

---
 src/unify/data-graph/index.md | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/unify/data-graph/index.md b/src/unify/data-graph/index.md
index bd83ad0497..b080e6b6d1 100644
--- a/src/unify/data-graph/index.md
+++ b/src/unify/data-graph/index.md
@@ -25,6 +25,10 @@ To use the Data Graph, you need the following:
 > info ""
 > To define entity relationships, you need to enable Linked Audiences. Contact your Customer Success Manager to get access to Linked Audiences.
 
+## Overview
+
+<iframe width="100%" height="385" src="https://www.youtube.com/embed/HwSQcr9mCYQ?si=gInQpMc0FFGxXIE3" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
+
 ## Step 1: Set up Data Graph permissions in your data warehouse
 
 > warning ""

From 51c760a7f65272b2fb73cd44b52364fe23a0174a Mon Sep 17 00:00:00 2001
From: pwseg <paul.wooley@segment.com>
Date: Wed, 6 Aug 2025 21:10:52 -0700
Subject: [PATCH 181/188] update rule creation steps

---
 src/connections/auto-instrumentation/configuration.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/connections/auto-instrumentation/configuration.md b/src/connections/auto-instrumentation/configuration.md
index 1f5af89c19..996ba498b8 100644
--- a/src/connections/auto-instrumentation/configuration.md
+++ b/src/connections/auto-instrumentation/configuration.md
@@ -23,8 +23,8 @@ After you set up the Signals SDK to capture the signals you want to target, you
 
 ### Getting started with rule creation
 
-1. In your Segment workspace, go to to **Connections > Auto-Instrumentation** and click on a source. 
-2. Click **Create Rules**.
+1. In your Segment workspace, go to **Sources** and select a source.
+2. Open the **Event Builder**, then click **Create Rules**.
 
 > info "Where's the Event Builder tab?"
 > The Event Builder tab only appears after you've installed the Auto-Instrumentation snippet in your site or app. If you don’t see the tab, double check your implementation or reach out to your Segment CSM.

From 117a42b8d603b627a6a98fb1d58583b73420fc7e Mon Sep 17 00:00:00 2001
From: pwseg <paul.wooley@segment.com>
Date: Wed, 6 Aug 2025 21:22:17 -0700
Subject: [PATCH 182/188] comment some stuff out

---
 .../auto-instrumentation/configuration.md     | 25 +++++++++++++++++--
 1 file changed, 23 insertions(+), 2 deletions(-)

diff --git a/src/connections/auto-instrumentation/configuration.md b/src/connections/auto-instrumentation/configuration.md
index 996ba498b8..2b6a005be3 100644
--- a/src/connections/auto-instrumentation/configuration.md
+++ b/src/connections/auto-instrumentation/configuration.md
@@ -31,7 +31,22 @@ After you set up the Signals SDK to capture the signals you want to target, you
 
 ### Using the Rules Editor
 
-The Rules Editor is where you define rules that transform raw signal data into analytics events. In the editor, you write functions that convert signals into events and then call them in the `processSignal()` function. 
+The Rules Editor is where you define rules that transform raw signal data into analytics events. Using the dropdown-based editor, you can:
+
+- Combine multiple signals into a single event (for example, a click followed by a navigation)
+- Set conditions to control when events should be triggered
+- Assign custom event names
+
+#### Adding event properties
+
+You can enrich your events by adding properties based on signal metadata. For example:
+
+- Capture `product.price` in your **Add to Cart** event
+- Add a boolean field like `couponApplied` to your **Order Completed** event
+
+These properties are sent alongside your event, giving your team deeper insights without requiring any manual instrumentation.
+
+<!-- PW, 6 August 2025: Commenting this section out for now
 
 The Rules Editor also lets you test your rules with recent signals to verify that they produce the data you need before you deploy. 
 
@@ -49,6 +64,9 @@ function processSignal(signal) {
 }
 ```
 
+-->
+
+<!-- PW, 6 August 2025: Also commenting the Signal definitions page out on PM request
 ## Signal definitions
 
 Signals come in various types, each associated with specific data that you can use to create analytics events. This section contains code samples that detail each signal type. Because Segment has standardized these definitions across both the Signals-Swift and Signals-Kotlin libraries, they're useful when you create rules in your Segment workspace.
@@ -209,9 +227,12 @@ class MyCustomSignal extends RawSignal<MyCustomData> {
 }
 ```
 
+
+
+-->
 ## Example rule implementations
 
-You can use the Signals data definitions on this page to create tracking rules. 
+You can use Signals to create tracking rules using the event builder. 
 
 ### Example: Identify users
 

From 9f8ae164674b62c8a53f13d9d2d87118071ca6ab Mon Sep 17 00:00:00 2001
From: pwseg <paul.wooley@segment.com>
Date: Wed, 6 Aug 2025 21:32:06 -0700
Subject: [PATCH 183/188] add some screenshots + comment out some code
 [netlify-build]

---
 .../auto-instrumentation/configuration.md      |  17 +++++++++++++++--
 .../signals_identify_event.png                 | Bin 0 -> 108246 bytes
 .../signals_track_event.png                    | Bin 0 -> 109461 bytes
 3 files changed, 15 insertions(+), 2 deletions(-)
 create mode 100644 src/connections/auto-instrumentation/signals_identify_event.png
 create mode 100644 src/connections/auto-instrumentation/signals_track_event.png

diff --git a/src/connections/auto-instrumentation/configuration.md b/src/connections/auto-instrumentation/configuration.md
index 2b6a005be3..3c04586a4c 100644
--- a/src/connections/auto-instrumentation/configuration.md
+++ b/src/connections/auto-instrumentation/configuration.md
@@ -236,6 +236,14 @@ You can use Signals to create tracking rules using the event builder.
 
 ### Example: Identify users
 
+The following screenshot shows an Identify event rule that combines a button click with a successful network response to extract user data and trigger an identify call.
+
+![Identify event rule combining UI and network triggers](images/signals_identify_event.png)
+
+
+
+<!-- PW: more commenting out>
+
 Building off of the screen tracking example, you could create a rule that identifies users:
 
 ```javascript
@@ -268,11 +276,15 @@ function processSignal(signal) {
 	detectIdentify(signal); // Process the Identify call based on incoming signals
 }
 ```
-
+-->
 
 ### Example: Track `Add to Cart` events
 
-This rule shows how you could implement the core ordering events from [the e-commerce Spec](/docs/connections/spec/ecommerce/v2/#core-ordering-overview):
+This rule implements a core ordering event from [the e-commerce Spec](/docs/connections/spec/ecommerce/v2/#core-ordering-overview). It shows a Track event triggered by a button click and a network response, with product details from the response mapped to event properties.
+
+![Track event rule for Add to Cart using button click and network response](images/signals_track_event.png)
+
+<!-- PW: even more commenting out
 
 ```javascript
 function trackAddToCart(currentSignal) {
@@ -305,3 +317,4 @@ function ProcessSignals(signal) {
     trackAddToCart(signal); // Process the "Add To Cart" tracking based on incoming signals
 }
 ```
+-->
\ No newline at end of file
diff --git a/src/connections/auto-instrumentation/signals_identify_event.png b/src/connections/auto-instrumentation/signals_identify_event.png
new file mode 100644
index 0000000000000000000000000000000000000000..43dd9a163b2e3ade365e5db6613614256ebba2c4
GIT binary patch
diff --git a/src/connections/auto-instrumentation/signals_track_event.png b/src/connections/auto-instrumentation/signals_track_event.png
new file mode 100644
index 0000000000000000000000000000000000000000..58c1f69ccf31d656f8ff80ef0889ab2cf496b4aa
GIT binary patch

From 5f5666dba9e792c610d1ef9abe96c395981b1db2 Mon Sep 17 00:00:00 2001
From: pwseg <86626706+pwseg@users.noreply.github.com>
Date: Wed, 6 Aug 2025 21:37:44 -0700
Subject: [PATCH 184/188] update front matter

---
 .../destinations/catalog/actions-nextdoor-capi/index.md        | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/connections/destinations/catalog/actions-nextdoor-capi/index.md b/src/connections/destinations/catalog/actions-nextdoor-capi/index.md
index 9996dbaf67..6d0fe4b922 100644
--- a/src/connections/destinations/catalog/actions-nextdoor-capi/index.md
+++ b/src/connections/destinations/catalog/actions-nextdoor-capi/index.md
@@ -1,5 +1,7 @@
 ---
 title: Nextdoor Conversions API Destination
+id: 66cc76e29693c9e5591bf029
+beta: true
 ---
 
 {% include content/plan-grid.md name="actions" %}
@@ -23,4 +25,3 @@ This destination is maintained by Nextdoor. For any issues with the destination,
 
 ## Nextdoor Browser Plugin Action
 When the **Nextdoor Conversions API** destination receives website data from a Segment JavaScript source, the **Nextdoor Browser Plugin** automatically grabs the **Nextdoor click ID** / **ndclid** from the querystirng in the page URL, and passes it to the **Send Conversion** Action. Supplying the **ndclid** boosts attribution accuracy and is strongly recommended for website tracking. The plugin is enabled by default as soon as the destination is created.
-

From 9608a594ade0281d3100fed32fdfb086cdf4e167 Mon Sep 17 00:00:00 2001
From: pwseg <paul.wooley@segment.com>
Date: Wed, 6 Aug 2025 21:59:13 -0700
Subject: [PATCH 185/188] move screenshots to right folder [netlify-build]

---
 .../{ => images}/signals_identify_event.png         | Bin
 .../{ => images}/signals_track_event.png            | Bin
 2 files changed, 0 insertions(+), 0 deletions(-)
 rename src/connections/auto-instrumentation/{ => images}/signals_identify_event.png (100%)
 rename src/connections/auto-instrumentation/{ => images}/signals_track_event.png (100%)

diff --git a/src/connections/auto-instrumentation/signals_identify_event.png b/src/connections/auto-instrumentation/images/signals_identify_event.png
similarity index 100%
rename from src/connections/auto-instrumentation/signals_identify_event.png
rename to src/connections/auto-instrumentation/images/signals_identify_event.png
diff --git a/src/connections/auto-instrumentation/signals_track_event.png b/src/connections/auto-instrumentation/images/signals_track_event.png
similarity index 100%
rename from src/connections/auto-instrumentation/signals_track_event.png
rename to src/connections/auto-instrumentation/images/signals_track_event.png

From fae3f4766788235aba7dbe78dc5549385a8a8416 Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Thu, 7 Aug 2025 14:23:28 +0100
Subject: [PATCH 186/188] Update
 src/connections/destinations/catalog/optimizely-web/index.md

Co-authored-by: pwseg <86626706+pwseg@users.noreply.github.com>
---
 src/connections/destinations/catalog/optimizely-web/index.md | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/connections/destinations/catalog/optimizely-web/index.md b/src/connections/destinations/catalog/optimizely-web/index.md
index fadb1ba94e..8525f4e1a6 100644
--- a/src/connections/destinations/catalog/optimizely-web/index.md
+++ b/src/connections/destinations/catalog/optimizely-web/index.md
@@ -64,7 +64,9 @@ Segment also handles the following mapping:
 
 ### Page
 
-Segment maps `page` calls to its own `track` events. When you call `analytics.page('<name>')`, Segment automatically converts it into a track call with the formatted event name `Viewed <name> Page`. For example, `analytics.page('Home');` becomes `analytics.track('Viewed Home Page');`. This event is then forwarded to Optimizely as a custom event named `Viewed Home Page`. 
+Segment maps Page calls to it `track` events. When you call `analytics.page('<name>')`, Segment automatically converts it into a Track call with the formatted event name `Viewed <name> Page`. For example, `analytics.page('Home');` becomes `analytics.track('Viewed Home Page');`. 
+
+This event is then forwarded to Optimizely as a custom event named `Viewed Home Page`. To capture this event in Optimizely, you’ll need to define a Custom Event with the matching API name.
 
 Segment maps the `page` event to other downstream destinations like a regular Segment `page` event. 
 

From aa5d6e3e70ae1efbe83527e59588856be8d45259 Mon Sep 17 00:00:00 2001
From: Sharon Adewusi <sadewusi@twilio.com>
Date: Thu, 7 Aug 2025 14:24:36 +0100
Subject: [PATCH 187/188] Got rid of last sentence

---
 src/connections/destinations/catalog/optimizely-web/index.md | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/connections/destinations/catalog/optimizely-web/index.md b/src/connections/destinations/catalog/optimizely-web/index.md
index 8525f4e1a6..c203028a89 100644
--- a/src/connections/destinations/catalog/optimizely-web/index.md
+++ b/src/connections/destinations/catalog/optimizely-web/index.md
@@ -64,12 +64,10 @@ Segment also handles the following mapping:
 
 ### Page
 
-Segment maps Page calls to it `track` events. When you call `analytics.page('<name>')`, Segment automatically converts it into a Track call with the formatted event name `Viewed <name> Page`. For example, `analytics.page('Home');` becomes `analytics.track('Viewed Home Page');`. 
+Segment maps Page calls to its `track` events. When you call `analytics.page('<name>')`, Segment automatically converts it into a Track call with the formatted event name `Viewed <name> Page`. For example, `analytics.page('Home');` becomes `analytics.track('Viewed Home Page');`. 
 
 This event is then forwarded to Optimizely as a custom event named `Viewed Home Page`. To capture this event in Optimizely, you’ll need to define a Custom Event with the matching API name.
 
-Segment maps the `page` event to other downstream destinations like a regular Segment `page` event. 
-
 ### Experiment Listeners
 
 Upon activation of an Optimizely experiment, an “Experiment Viewed” Track event is sent to Segment. The event includes Optimizely experiment metadata which is sent whenever the Optimizely [`campaignDecided` listener](https://docs.developers.optimizely.com/web/docs/add-listener#section-campaign-decided){:target="_blank"} is activated.

From d4fd0de26e0054018d5997a3d43befbb1297b78a Mon Sep 17 00:00:00 2001
From: pwseg <paul.wooley@segment.com>
Date: Thu, 7 Aug 2025 12:08:58 -0700
Subject: [PATCH 188/188] catalog update + script fixes 7 august 2025

---
 scripts/catalog/updateSources.js             |   2 +-
 scripts/catalog/utilities.js                 |  14 +-
 src/_data/catalog/destination_categories.yml |   2 +-
 src/_data/catalog/destinations.yml           | 636 +++++++++----------
 src/_data/catalog/destinations_private.yml   |   2 +-
 src/_data/catalog/source_categories.yml      |   2 +-
 src/_data/catalog/sources.yml                |   2 +-
 7 files changed, 316 insertions(+), 344 deletions(-)

diff --git a/scripts/catalog/updateSources.js b/scripts/catalog/updateSources.js
index f873d19274..73ad28293d 100644
--- a/scripts/catalog/updateSources.js
+++ b/scripts/catalog/updateSources.js
@@ -33,7 +33,7 @@ const updateSources = async () => {
     while (nextPageToken !== undefined) {
       const res = await getCatalog(`${PAPI_URL}/catalog/sources/`, nextPageToken);
       sources = sources.concat(res.data.sourcesCatalog);
-      nextPageToken = res.data.pagination.next;
+      nextPageToken = res.data.pagination?.next;
     }
 
     // Sort the sources alphabetically
diff --git a/scripts/catalog/utilities.js b/scripts/catalog/utilities.js
index dd24bcd0ff..56cac1cb89 100644
--- a/scripts/catalog/utilities.js
+++ b/scripts/catalog/utilities.js
@@ -47,17 +47,19 @@ const getCatalog = async (url, page_token = "MA==") => {
         'Content-Type': 'application/json',
         'Authorization': `Bearer ${process.env.PAPI_TOKEN}`
       },
-      data: {
-        "pagination": {
-          "count": 200,
-          "cursor": page_token
-        }
+      params: {
+        "pagination.count": 200,
+        "pagination.cursor": page_token
       }
     });
 
     return res.data;
   } catch (error) {
-    console.log("Something went wrong with the request to the Public API.\nIf you're updating a private destination, ensure the ID is correct.");
+    console.log("Something went wrong with the request to the Public API.");
+    console.log("Error:", error.message);
+    console.log("Status:", error.response?.status);
+    console.log("Data:", error.response?.data);
+    throw error;
   }
 };
 
diff --git a/src/_data/catalog/destination_categories.yml b/src/_data/catalog/destination_categories.yml
index 22e3877200..7409d6643e 100644
--- a/src/_data/catalog/destination_categories.yml
+++ b/src/_data/catalog/destination_categories.yml
@@ -1,5 +1,5 @@
 # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
-# destination categories last updated 2025-07-31 
+# destination categories last updated 2025-08-07 
 items:
 - display_name: A/B Testing
   slug: a-b-testing
diff --git a/src/_data/catalog/destinations.yml b/src/_data/catalog/destinations.yml
index 9b363008b5..abca4d3216 100644
--- a/src/_data/catalog/destinations.yml
+++ b/src/_data/catalog/destinations.yml
@@ -1,5 +1,5 @@
 # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
-# destination data last updated 2025-07-31 
+# destination data last updated 2025-08-07 
 items:
 - id: 637e8d185e2dec264895ea89
   display_name: 1Flow
@@ -25626,7 +25626,7 @@ items:
     hidden: false
     defaultTrigger: type = "identify"
     fields:
-    - id: fDR8sk8ZPuCEHpjDyFgozW
+    - id: d6U9V5NCdv8jAFPguJ2JDx
       sortOrder: 0
       fieldKey: external_id
       label: External User ID
@@ -25640,7 +25640,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5RJmpB58hzw4um4jgjHR1B
+    - id: bV1e7HbkD1hANYUwZuaPbV
       sortOrder: 1
       fieldKey: user_alias
       label: User Alias Object
@@ -25654,7 +25654,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: cu5jYWXnPpw6FiZ9wX1cFP
+    - id: 2rZPnRtmYHYV7qnCYq8vZ1
       sortOrder: 2
       fieldKey: braze_id
       label: Braze User Identifier
@@ -25668,7 +25668,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: jwzZpd94LxxvwoYokBJ5x
+    - id: 8ZzHLWwzdSLf7ztL7od2tv
       sortOrder: 3
       fieldKey: country
       label: Country
@@ -25682,7 +25682,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: kpYhLzP5v48mSmtJ8YJZcb
+    - id: tLGkmSJM5c3i1rLwGPKRow
       sortOrder: 4
       fieldKey: current_location
       label: Current Location
@@ -25699,7 +25699,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: p8XB3sFptXjrWBJ3QQJ44m
+    - id: o7WkwA172aBrkAtUFHfo5g
       sortOrder: 5
       fieldKey: date_of_first_session
       label: Date of First Session
@@ -25711,7 +25711,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: tfTrTjru2F4uY8XdjzMwiW
+    - id: 2rYh1yA9KRY9jtDjForngD
       sortOrder: 6
       fieldKey: date_of_last_session
       label: Date of Last Session
@@ -25723,7 +25723,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: ga1WyMfE8dhXFBZGD4wJ8q
+    - id: wqrUAkfTUqSV5YpwTWmhQm
       sortOrder: 7
       fieldKey: dob
       label: Date of Birth
@@ -25735,7 +25735,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 9vFRhBFwWjtTe686tvTTye
+    - id: jgZb4hQWWbs8VuqJNJuu5Z
       sortOrder: 8
       fieldKey: email
       label: Email
@@ -25749,7 +25749,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: uwHYEgL4SZvo2bh4pUv5N
+    - id: 7Dr7SqHTiXF3q1pBgdmmJL
       sortOrder: 9
       fieldKey: email_subscribe
       label: Email Subscribe
@@ -25764,7 +25764,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5KRPPZ1zFq7TWQvW22PDNX
+    - id: dAJqmfsKyiD4YCNde5HA4R
       sortOrder: 10
       fieldKey: email_open_tracking_disabled
       label: Email Open Tracking Disabled
@@ -25778,7 +25778,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: gqeqcDr1ZMLFbKo6PvsdTD
+    - id: ez85vajfsoTFSbz1JUP6kN
       sortOrder: 11
       fieldKey: email_click_tracking_disabled
       label: Email Click Tracking Disabled
@@ -25792,7 +25792,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: dWbRdjBmHuQahVfpp2kbU1
+    - id: e9d46hJuTpwUXV9YC1xVjU
       sortOrder: 12
       fieldKey: facebook
       label: Facebook Attribution Data
@@ -25806,7 +25806,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: djKX1f82FMmWQmVP6QmXeg
+    - id: JvrMWrPRySguU9t7BybrK
       sortOrder: 13
       fieldKey: first_name
       label: First Name
@@ -25820,7 +25820,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 4eGUV9jTtwD6BjU4qGytBu
+    - id: b1z5yryqMTcgeQzDpJKnfr
       sortOrder: 14
       fieldKey: gender
       label: Gender
@@ -25836,7 +25836,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 57daPPzryAhNN7cB1u5SAY
+    - id: 6wyeaPKXa2HQzG7tkY5p8V
       sortOrder: 15
       fieldKey: home_city
       label: Home City
@@ -25850,7 +25850,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: rAQMHaiMEZwqML5uLic2hY
+    - id: k1x7wpDEsBAniDvabnkse2
       sortOrder: 16
       fieldKey: image_url
       label: Image URL
@@ -25864,7 +25864,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: cnPSX6jz1RWzazXFcwEufd
+    - id: 7bAVx4SQPsGke2xYaaNx2o
       sortOrder: 17
       fieldKey: language
       label: Language
@@ -25876,7 +25876,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: gE2RcHsq5GBtDzAobjWzic
+    - id: nY2Gc9jCCzhcQJcr76Vdgz
       sortOrder: 18
       fieldKey: last_name
       label: Last Name
@@ -25890,7 +25890,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 4SjCpfFqvTcPcgP1ADvB4L
+    - id: pzosm73dVCe5Kzw2SEv4xy
       sortOrder: 19
       fieldKey: marked_email_as_spam_at
       label: Marked Email as Spam At
@@ -25902,7 +25902,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: mKzJu2395MQjio8deZxU2W
+    - id: vbiMQx2wHq7bMMyFFp2sHh
       sortOrder: 20
       fieldKey: phone
       label: Phone Number
@@ -25916,7 +25916,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: hHdCpmvY8TpYt2Tr61yd2q
+    - id: vezYSDUs6gw6yvXkpp8CMb
       sortOrder: 21
       fieldKey: push_subscribe
       label: Push Subscribe
@@ -25931,7 +25931,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: xiDqAeeRr1LqYabp17WciD
+    - id: f1PzdBqhkfrqtfszB6CZmk
       sortOrder: 22
       fieldKey: push_tokens
       label: Push Tokens
@@ -25948,7 +25948,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 939rX9rNsPzToLou8v32Fi
+    - id: 9VYsVJLuNHXWfGxwx6rBwE
       sortOrder: 23
       fieldKey: time_zone
       label: Time zone
@@ -25963,7 +25963,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: d63HrHJUBm5ANC1W8x7qPD
+    - id: 94v1ahzVgXfUbv9AFQBH8S
       sortOrder: 24
       fieldKey: twitter
       label: Twitter Attribution Data
@@ -25978,7 +25978,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: aW3XkeWTRZx5VippFvdnRk
+    - id: kN39V8o8wr72JsRVLVaoPu
       sortOrder: 25
       fieldKey: custom_attributes
       label: Custom Attributes
@@ -25992,7 +25992,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: pEtpN2Hb2vkA8Q8xRZ1BEP
+    - id: vvZq7hgFqoNZYb9E4Brbcc
       sortOrder: 26
       fieldKey: _update_existing_only
       label: Update Existing Only
@@ -26007,7 +26007,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: deNbLhqaVWQ3a5ekv2Dgjr
+    - id: uPNDHHnwLN8SHiqB1QX8Ja
       sortOrder: 27
       fieldKey: enable_batching
       label: Batch Data to Braze
@@ -26030,7 +26030,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event != "Order Completed"
     fields:
-    - id: hrPz9vH7A3YkY4MRK8BZVJ
+    - id: idN8BsUUQpAsPMeik6Qo82
       sortOrder: 0
       fieldKey: external_id
       label: External User ID
@@ -26044,7 +26044,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: pkkSSueQLUhwMNeKHJyqWm
+    - id: 24HWtfrrPYB6ZZun6jLH3b
       sortOrder: 1
       fieldKey: user_alias
       label: User Alias Object
@@ -26058,7 +26058,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: vBJnn5mz3hNu55TfrA5FVw
+    - id: ehoVCzYtQWaaPDwxaXeCVZ
       sortOrder: 2
       fieldKey: email
       label: Email
@@ -26078,7 +26078,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: fh8McJPhdVkZ7M1GjPQnjq
+    - id: ww3z1tqiauUyFEGXigGTQ7
       sortOrder: 3
       fieldKey: braze_id
       label: Braze User Identifier
@@ -26092,7 +26092,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: mvefY6PdaWM3CrxHwZkuR6
+    - id: bfSZdcMpNftETUKPp9pmcF
       sortOrder: 4
       fieldKey: name
       label: Event Name
@@ -26106,7 +26106,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: jFGB75TdxH1midEQnvCNtB
+    - id: oUxzSYWEHAdAipLXaDnJpU
       sortOrder: 5
       fieldKey: time
       label: Time
@@ -26120,7 +26120,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: qy1WJxzc3uSCPUiDrMMwZS
+    - id: 9WPvGDKLhKMLU4VGEx5Umi
       sortOrder: 6
       fieldKey: properties
       label: Event Properties
@@ -26134,7 +26134,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 2kskmcKBRxNct89Nr21iZA
+    - id: pUiv8Kv5orKaqXDuXmgLbM
       sortOrder: 7
       fieldKey: _update_existing_only
       label: Update Existing Only
@@ -26149,7 +26149,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: r1qeUDq9S5yQv8Bq3raCyt
+    - id: oQLxQU8Mo7rtKygwJ8HxHe
       sortOrder: 8
       fieldKey: enable_batching
       label: Batch Data to Braze
@@ -26172,7 +26172,7 @@ items:
     hidden: false
     defaultTrigger: event = "Order Completed"
     fields:
-    - id: 6dz2NH94u6YHzeqgdnYfKf
+    - id: hLbB39Duo6LaXwfZxyjaGn
       sortOrder: 0
       fieldKey: external_id
       label: External User ID
@@ -26186,7 +26186,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ogekSoMUqWKsis21mVdSwG
+    - id: n9Hhv3SXjQXpcU8K1gNiia
       sortOrder: 1
       fieldKey: user_alias
       label: User Alias Object
@@ -26200,7 +26200,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: cZn4F9NYmrHKW8dezN41Rd
+    - id: soQABmoy5PfkpVSMowdxQu
       sortOrder: 2
       fieldKey: email
       label: Email
@@ -26214,7 +26214,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: oSYr6JRDq8Lzbh8cbezbso
+    - id: uXxxYK3WayNvCyYEv2Q6wX
       sortOrder: 3
       fieldKey: braze_id
       label: Braze User Identifier
@@ -26228,7 +26228,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: tzcURC4EbRDPsK2V6U8s5R
+    - id: 9b5knhrzhnDo1CqSYDLUjQ
       sortOrder: 4
       fieldKey: time
       label: Time
@@ -26242,7 +26242,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 8G7P2UkSm2HNmyMyeGWV4k
+    - id: fXrm6134DMqhCk2FnoHPL6
       sortOrder: 5
       fieldKey: products
       label: Products
@@ -26256,7 +26256,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 9i4fK4YwETdw9pd9nGRw36
+    - id: 33vVRBawSmNvJkBQk6fcDr
       sortOrder: 6
       fieldKey: properties
       label: Event Properties
@@ -26270,7 +26270,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 6ETQi1B982NFyz9T3D58Bd
+    - id: rJAx1FYFhqYQ54azvswWdc
       sortOrder: 7
       fieldKey: _update_existing_only
       label: Update Existing Only
@@ -26285,7 +26285,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: gtNdLnuNQVuqRfeeuvwb83
+    - id: 78161xeH8FqDD8opHQrvf6
       sortOrder: 8
       fieldKey: enable_batching
       label: Batch Data to Braze
@@ -26322,7 +26322,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: 4yze3B4RebQRNy5t249sdN
+    - id: 3cb7MT8xNiV1z5hf9gNHFw
       sortOrder: 0
       fieldKey: external_id
       label: External ID
@@ -26334,7 +26334,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: khtVtUBsXZ3dXD7uNAdyT9
+    - id: 2RTduyrFf1V7x5pQUe7ikT
       sortOrder: 1
       fieldKey: user_alias
       label: User Alias Object
@@ -26348,7 +26348,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: vzWebkoqo9wNospgS2ft3v
+    - id: gNXa6LNDdJHaSH3akcUEGC
       sortOrder: 2
       fieldKey: merge_behavior
       label: Merge Behavior
@@ -26377,7 +26377,7 @@ items:
     hidden: false
     defaultTrigger: event = "Create Alias"
     fields:
-    - id: iKDENKBGFN17vQk527V39
+    - id: rUeLDv9qHRURadsrkd3Yk3
       sortOrder: 0
       fieldKey: external_id
       label: External ID
@@ -26389,7 +26389,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 8oXLyuZuAvbhFWC4FkQvT
+    - id: aERBzxvLdeaeQKHSMgJTPj
       sortOrder: 1
       fieldKey: alias_name
       label: Alias Name
@@ -26401,7 +26401,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: s1DvRj3mZTRTG9nnYbeCxk
+    - id: bkFACPB6x98Lie1Fda7fk6
       sortOrder: 2
       fieldKey: alias_label
       label: Alias Label
@@ -26421,7 +26421,7 @@ items:
     hidden: false
     defaultTrigger: type = "identify"
     fields:
-    - id: oe3hf8kRGhTDXC51z8yFgG
+    - id: vYQhBQtBSRwjMrt29DoXgS
       sortOrder: 0
       fieldKey: external_id
       label: External User ID
@@ -26435,7 +26435,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 51NMeWJpAvs7eLZDk3vhLQ
+    - id: hkvGTFjZ6Bax9MAwPRYbGF
       sortOrder: 1
       fieldKey: user_alias
       label: User Alias Object
@@ -26449,7 +26449,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: wJXPFHyq84k21N1SwV533x
+    - id: ozoRhdaKpah2RrU9PRn12z
       sortOrder: 2
       fieldKey: braze_id
       label: Braze User Identifier
@@ -26463,7 +26463,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: hbgP26NkcwSYuR92ubBnnY
+    - id: aMXNyX7ZZErrD2hDjbP1eN
       sortOrder: 3
       fieldKey: country
       label: Country
@@ -26477,7 +26477,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: uwhpBXucF3BZNN7UBu5o43
+    - id: 7Ps9fwccW6fgrn18fQgnCJ
       sortOrder: 4
       fieldKey: current_location
       label: Current Location
@@ -26494,7 +26494,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: oJ3EoesYT598C1ou5ndKpg
+    - id: nudus8SaESbh41c6tJF53K
       sortOrder: 5
       fieldKey: date_of_first_session
       label: Date of First Session
@@ -26506,7 +26506,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: v8pMqaaDuCwHyn94fvGK12
+    - id: iSMvPjEud8TQPgUVPbJqBA
       sortOrder: 6
       fieldKey: date_of_last_session
       label: Date of Last Session
@@ -26518,7 +26518,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: rXMEVupni5zC1VNz7JWwBf
+    - id: oSvGrukS5sZfPsAoagjN2u
       sortOrder: 7
       fieldKey: dob
       label: Date of Birth
@@ -26530,7 +26530,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: kCpEhQzeXn4cDbdF9qZpML
+    - id: pLKmUGw3qQbqKhdrTonXXH
       sortOrder: 8
       fieldKey: email
       label: Email
@@ -26544,7 +26544,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 8dbLLfLef3eJTjWF129SpW
+    - id: 5ygy8zE2bEWNr2UrDLYiQh
       sortOrder: 9
       fieldKey: email_subscribe
       label: Email Subscribe
@@ -26559,7 +26559,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 4iZ2iHgrchb8SEAin3ye2u
+    - id: qCwVXsMutPypW18TJg26u9
       sortOrder: 10
       fieldKey: email_open_tracking_disabled
       label: Email Open Tracking Disabled
@@ -26573,7 +26573,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: btZsBGvZbSBXicy8iay7zs
+    - id: 2WrDnVmaisgqyvyibaxxEZ
       sortOrder: 11
       fieldKey: email_click_tracking_disabled
       label: Email Click Tracking Disabled
@@ -26587,7 +26587,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: wakkz6XuvZXPipP81QvPx4
+    - id: kKjxKnHiJex9RWsaa9rXua
       sortOrder: 12
       fieldKey: facebook
       label: Facebook Attribution Data
@@ -26601,7 +26601,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: vTTP7xpe4T7rGhvCrXkTE7
+    - id: en2thLvfPsCKwPbZJPdxpB
       sortOrder: 13
       fieldKey: first_name
       label: First Name
@@ -26615,7 +26615,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: ssSsnHKuPSFuQFc1MV17ZD
+    - id: kwgxXaXX2pwZdNQfPStmdm
       sortOrder: 14
       fieldKey: gender
       label: Gender
@@ -26631,7 +26631,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 8L9aku58jMfmPMGfHhbsFw
+    - id: cmRCpXwoX8vLLbyGteKRM5
       sortOrder: 15
       fieldKey: home_city
       label: Home City
@@ -26645,7 +26645,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: xiBU6eUE6uzLDrBZv2jhVB
+    - id: n5P4heq36hTpPLwXkhzVgN
       sortOrder: 16
       fieldKey: image_url
       label: Image URL
@@ -26659,7 +26659,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 3rP2hq85GNyU8U9XgoSZCY
+    - id: jffmLbBYKzecGNjZtjTE6C
       sortOrder: 17
       fieldKey: language
       label: Language
@@ -26671,7 +26671,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: iQcmVPWnTKVzvsxAKYj9mj
+    - id: 4tNPdHXNSqBjqFgk3dFEzt
       sortOrder: 18
       fieldKey: last_name
       label: Last Name
@@ -26685,7 +26685,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: t3g6HprsnqCh2M3fo9BXRM
+    - id: gg6m4B64jj32e9pw4J52dQ
       sortOrder: 19
       fieldKey: marked_email_as_spam_at
       label: Marked Email as Spam At
@@ -26697,7 +26697,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: xmeuVQp8uMCXZXZm9UXMxH
+    - id: qXu4FwGxWnj4U6hiqwWFsj
       sortOrder: 20
       fieldKey: phone
       label: Phone Number
@@ -26711,7 +26711,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: rroMN2p5FLuExhzZWuHqtc
+    - id: gDWuyKzqznWybLTXWtmCHp
       sortOrder: 21
       fieldKey: push_subscribe
       label: Push Subscribe
@@ -26726,7 +26726,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: kEvbfkKEX1uqhzMWuNwmp2
+    - id: phghTGF2vszJUHkcXW6Rsq
       sortOrder: 22
       fieldKey: push_tokens
       label: Push Tokens
@@ -26743,7 +26743,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: rjGXsxbfqWbr3ZeFHwz27z
+    - id: mXmb3BWpFxwwaiY4MjyrjV
       sortOrder: 23
       fieldKey: time_zone
       label: Time zone
@@ -26758,7 +26758,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: u45mgdB6SJ8dqFavPgnbRT
+    - id: 7NFgwdC3prHZ3ug1ANE6LX
       sortOrder: 24
       fieldKey: twitter
       label: Twitter Attribution Data
@@ -26773,7 +26773,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: w5XpKj2h7c8cseVPiE2Kfr
+    - id: cYivVwQyyiSx8mYSPLpi4b
       sortOrder: 25
       fieldKey: custom_attributes
       label: Custom Attributes
@@ -26787,7 +26787,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: u5Xa38kWR8zMCfDEYn4inB
+    - id: qtceg6gCbWDQy5UC7EWwNo
       sortOrder: 26
       fieldKey: enable_batching
       label: Batch Data to Braze
@@ -26810,7 +26810,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event != "Order Completed"
     fields:
-    - id: c5QwcdEX6QoGvfR68ZvJAK
+    - id: rthiwKzEQ7ARfu9x4U2wLK
       sortOrder: 0
       fieldKey: external_id
       label: External User ID
@@ -26824,7 +26824,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: aV15trPsL3nD8meUQrZYcn
+    - id: YMoWgcoRgybj21SbzzYFk
       sortOrder: 1
       fieldKey: user_alias
       label: User Alias Object
@@ -26838,7 +26838,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: yxSQtvpEpaBSuCNVCyaLx
+    - id: 4Cp7tPsoC7mGhq5B6499dY
       sortOrder: 2
       fieldKey: email
       label: Email
@@ -26858,7 +26858,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: w3rt9rnM9RQLGbxwddWfpq
+    - id: ch7NvVYP796QrNzgoPy82F
       sortOrder: 3
       fieldKey: braze_id
       label: Braze User Identifier
@@ -26872,7 +26872,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 5dnLJugnsTMbysGFrvabaE
+    - id: w6xo2cAXhzHPrUZ9JVRrxv
       sortOrder: 4
       fieldKey: name
       label: Event Name
@@ -26886,7 +26886,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 9ZM31KcgrubTvn73paBiEn
+    - id: iPimzrFeFt2Qoh25ryk8nv
       sortOrder: 5
       fieldKey: time
       label: Time
@@ -26900,7 +26900,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 9BZDbkF514gUW1rFFpgwW7
+    - id: 8Uddgxrzh722LQXiouCMqG
       sortOrder: 6
       fieldKey: properties
       label: Event Properties
@@ -26914,7 +26914,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: r1YAg5cWiqtA5uEKuv9QFN
+    - id: k9a7HdNHDE5XNAWYCdgQtD
       sortOrder: 7
       fieldKey: enable_batching
       label: Batch Data to Braze
@@ -26939,7 +26939,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: pA9P84W33KWLVMeBaMrGvc
+    - id: f5goLMUFREmXWXhNvh5RSB
       sortOrder: 0
       fieldKey: external_id
       label: External ID
@@ -26951,7 +26951,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: q2RV1ddCen5DeQrq2zM9CJ
+    - id: qVzGnW48Gmn1MKRPrXAVmb
       sortOrder: 1
       fieldKey: user_alias
       label: User Alias Object
@@ -26965,7 +26965,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: uSSwiZtKntADfysMTHzLwT
+    - id: wQpWbuYRBdEzLUZAqkVdQ5
       sortOrder: 2
       fieldKey: email_to_identify
       label: Email to Identify
@@ -26977,7 +26977,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: w5gtkhWKoCxSfqngqoiNeG
+    - id: uPvXF5jWP8bE8gALBkYJcP
       sortOrder: 3
       fieldKey: prioritization
       label: Prioritization
@@ -26991,7 +26991,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 36vfotFjwJdrgsFqigq3s9
+    - id: i6vzA1zw97cdG1zp8k78P
       sortOrder: 4
       fieldKey: merge_behavior
       label: Merge Behavior
@@ -27020,7 +27020,7 @@ items:
     hidden: false
     defaultTrigger: event = "Create Alias"
     fields:
-    - id: hn9sGteqXqBRngR2DLmBf6
+    - id: dE5a3kB3ycWpojEr5hZcsv
       sortOrder: 0
       fieldKey: external_id
       label: External ID
@@ -27032,7 +27032,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: nJsA2ACXiwnMj2EeV5yjG6
+    - id: tL3uUBXRBatN3GJDESFRrd
       sortOrder: 1
       fieldKey: alias_name
       label: Alias Name
@@ -27044,7 +27044,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: f1GfS5BFT1scHVFbxhcjZL
+    - id: qK4jMUW9XPjb1mHBpvVGbX
       sortOrder: 2
       fieldKey: alias_label
       label: Alias Label
@@ -27064,7 +27064,7 @@ items:
     hidden: false
     defaultTrigger: event = "Order Completed"
     fields:
-    - id: ixMtCebbqNKfv1aGCtME4K
+    - id: aFsksKW75QBQ9CWEGBi3rd
       sortOrder: 0
       fieldKey: external_id
       label: External User ID
@@ -27078,7 +27078,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ruCU35Wqs8T4PevS4ZmU5V
+    - id: rryo9XMY3fXDuNzmW9afWk
       sortOrder: 1
       fieldKey: user_alias
       label: User Alias Object
@@ -27092,7 +27092,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: uzZDPa7uFWQpH1pLh3XsMz
+    - id: qSZi8KpozddwH6GURYKSu3
       sortOrder: 2
       fieldKey: email
       label: Email
@@ -27106,7 +27106,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: iEEVn7biQdecud9SGoYvhp
+    - id: 8r9JQ1a5WPe9qWSRCpL7Ne
       sortOrder: 3
       fieldKey: braze_id
       label: Braze User Identifier
@@ -27120,7 +27120,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: cKNB3NGqDqEjnbSb8pP3Qy
+    - id: pxpZyTEJQNcsnH53o5m3ti
       sortOrder: 4
       fieldKey: time
       label: Time
@@ -27134,7 +27134,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: mGzGN6fp6K2d46va9kBL
+    - id: qE31XkHNWKFhhk2Y2Q4arA
       sortOrder: 5
       fieldKey: products
       label: Products
@@ -27148,7 +27148,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: WPEzRmRkZCNpmp6TdP8rf
+    - id: 4tDCwW3haMo5Hs6BiTUVDB
       sortOrder: 6
       fieldKey: properties
       label: Event Properties
@@ -27162,7 +27162,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 4ah6KWaND1oo82BTLggE6z
+    - id: ppMvu9zhoYdzRxLyKbyWKo
       sortOrder: 7
       fieldKey: enable_batching
       label: Batch Data to Braze
@@ -27185,7 +27185,7 @@ items:
     hidden: false
     defaultTrigger: type = "track"
     fields:
-    - id: sPTCuHRcJCeAnecUuVqf2r
+    - id: oErXBStj5XSh4wqnfD2veM
       sortOrder: 0
       fieldKey: campaign_id
       label: Campaign ID
@@ -27199,7 +27199,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: dEHae358DEQhGmePgivDR3
+    - id: 7RRN8kdi2q5PiBaZbfrQgb
       sortOrder: 1
       fieldKey: send_id
       label: Send ID
@@ -27213,7 +27213,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5NhPCujCPP7txQ5WpPCFGS
+    - id: qa7eF838Acuj3Np8SKjsHm
       sortOrder: 2
       fieldKey: trigger_properties
       label: Trigger Properties
@@ -27230,7 +27230,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 2oemWzNaa6oZaqVhxbPwPN
+    - id: 2VJW9dMurzseZkz2KCUAbX
       sortOrder: 3
       fieldKey: broadcast
       label: Broadcast
@@ -27245,7 +27245,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 84pncUPkpAegESBR3Em9nE
+    - id: ayF1yjAmCX6J1vq4cSpbko
       sortOrder: 4
       fieldKey: attachments
       label: Attachments
@@ -27257,7 +27257,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: bddJKZzjdJz4tmW3bzVN3N
+    - id: pZtua926qke3JYoXrNxVeR
       sortOrder: 5
       fieldKey: recipients
       label: Recipients
@@ -27271,7 +27271,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ew1gYTSzqreFsASGNodNpo
+    - id: 4iFQKh3Vq1uSUR3rgxb1Uv
       sortOrder: 6
       fieldKey: prioritization
       label: Prioritization
@@ -27285,7 +27285,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 9ULKQQi91KHGaDwAUjrcZn
+    - id: bii8tTP4Y3rYj43XSYwrxD
       sortOrder: 7
       fieldKey: audience
       label: Audience
@@ -27307,7 +27307,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: bPkKYCKGeSfiFSqPANm25m
+    - id: mgtEZymc551vRbskTtALxC
       sortOrder: 0
       fieldKey: item
       label: Catalog item to upsert
@@ -27322,7 +27322,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: wD8HrbEBhG1oYSnAK17wpx
+    - id: vjdGoeS7pSAoDx7eGJ7nYH
       sortOrder: 1
       fieldKey: item_id
       label: Item ID
@@ -27336,7 +27336,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: cSe2bHd9wSLF41wLBEWvAo
+    - id: 96qitbsPikhayWg5YcNsZR
       sortOrder: 2
       fieldKey: enable_batching
       label: Batch Data to Braze?
@@ -27349,7 +27349,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: uKkyRXx83KMULmRcUA2JBU
+    - id: 9Ef1hYUCZpegvfWvEUFq1m
       sortOrder: 4
       fieldKey: operation
       label: Operation
@@ -27365,7 +27365,7 @@ items:
         value: select
       dynamic: false
       allowNull: false
-    - id: whMhv8Xne4y4MwRdzFs87E
+    - id: dByxzCbtHR7KFBwQUNYx99
       sortOrder: 5
       fieldKey: selected_catalog_name
       label: Catalog Name
@@ -27377,7 +27377,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: oopajGWsU8s53yYzVZ6ACF
+    - id: a3TRBGw1kYC3Teg5GMprQT
       sortOrder: 6
       fieldKey: created_catalog_name
       label: Catalog Name
@@ -27391,7 +27391,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: hnB1vZZKnwRmmkuy5RSkEC
+    - id: qb19tg6p3NLAQH52h3azpP
       sortOrder: 7
       fieldKey: description
       label: Catalog Description
@@ -27403,7 +27403,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: jUZc1QZuEQXLG5xWjkDFGP
+    - id: igpkUuGk6CSgYh4jf3ETmK
       sortOrder: 8
       fieldKey: columns
       label: Catalog Fields
@@ -27417,7 +27417,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: cGqJWefruj1dQHLfZDjJpn
+    - id: gYfYKohnE3K3Tu6vWhRsEx
       sortOrder: 9
       fieldKey: onMappingSave
       label: Select or Create a Catalog
@@ -27440,7 +27440,7 @@ items:
     hidden: false
     defaultTrigger: type = "track"
     fields:
-    - id: oiGEFgrdhJA3v32F4zTkeK
+    - id: sANpexRqwJKtK5qrBJ89yK
       sortOrder: 0
       fieldKey: canvas_id
       label: Canvas ID
@@ -27454,7 +27454,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: wxRm1RbcZysJpqUBF3C9zA
+    - id: n5r68PyiJbww5YkYvLCX9J
       sortOrder: 1
       fieldKey: canvas_entry_properties
       label: Canvas Entry Properties
@@ -27471,7 +27471,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: bEuxY3oC6xbNHVeCdNXeYv
+    - id: hWGwLz1WZzrr656L1JxJky
       sortOrder: 2
       fieldKey: broadcast
       label: Broadcast
@@ -27485,7 +27485,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: cn4tUKL6RL5DVizmrEL6Zy
+    - id: sxnHQfxhf83vXTu53hsQJq
       sortOrder: 3
       fieldKey: recipients
       label: Recipients
@@ -27499,7 +27499,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: q6ZN3k9SeiLdRncgf15KCC
+    - id: qoNQUgA7i1cJEtgC8VT8yv
       sortOrder: 4
       fieldKey: prioritization
       label: Prioritization
@@ -27513,7 +27513,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: oEKGVECL2P4CyyxwQiXAfb
+    - id: iJYrS4Ne2hEdr97t53L8ZX
       sortOrder: 5
       fieldKey: audience
       label: Audience
@@ -27528,6 +27528,25 @@ items:
       dynamic: false
       allowNull: false
   presets:
+  - actionId: vE7Gf9yobj2gTuMBhwmg7g
+    name: Order Completed Calls
+    fields:
+      external_id:
+        '@path': $.userId
+      email:
+        '@path': $.traits.email
+      braze_id:
+        '@path': $.properties.braze_id
+      time:
+        '@path': $.receivedAt
+      products:
+        '@path': $.properties.products
+      properties:
+        '@path': $.properties
+      _update_existing_only: false
+      enable_batching: true
+      batch_size: 75
+    trigger: event = "Order Completed"
   - actionId: 2P24zUSAL8BUpyGYNGmD7M
     name: Identify Calls
     fields:
@@ -27587,25 +27606,6 @@ items:
       enable_batching: true
       batch_size: 75
     trigger: type = "track" and event != "Order Completed"
-  - actionId: vE7Gf9yobj2gTuMBhwmg7g
-    name: Order Completed Calls
-    fields:
-      external_id:
-        '@path': $.userId
-      email:
-        '@path': $.traits.email
-      braze_id:
-        '@path': $.properties.braze_id
-      time:
-        '@path': $.receivedAt
-      products:
-        '@path': $.properties.products
-      properties:
-        '@path': $.properties
-      _update_existing_only: false
-      enable_batching: true
-      batch_size: 75
-    trigger: event = "Order Completed"
   partnerOwned: false
 - id: 63872c01c0c112b9b4d75412
   display_name: Braze Cohorts
@@ -36336,9 +36336,9 @@ items:
   - Email Marketing
   - Marketing Automation
   logo:
-    url: https://cdn-devcenter.segment.com/7746b31d-bf00-4b09-95a5-458a79412b96.svg
+    url: https://cdn-devcenter.segment.com/87486058-b0a1-4b93-9409-b861d1cc8bfc.svg
   mark:
-    url: https://cdn-devcenter.segment.com/8c6dbc6d-a068-470f-8dea-fbf5e018d664.svg
+    url: https://cdn-devcenter.segment.com/e60f5bb8-f7c4-4ccd-a3ed-c1f076790a99.svg
   methods:
     track: true
     identify: true
@@ -78083,7 +78083,7 @@ items:
     hidden: false
     defaultTrigger: type = "identify"
     fields:
-    - id: psH3mh5nGaAqwqWZiHoV2v
+    - id: jKha8vcFKRDa3n9zQi25Zi
       sortOrder: 0
       fieldKey: email
       label: Email
@@ -78099,7 +78099,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: uNvP8gTtWLWVndf3QwQzMh
+    - id: eVj9ANPjfTjbcrbhSjJYEY
       sortOrder: 1
       fieldKey: enable_batching
       label: Batch Data to Klaviyo
@@ -78111,7 +78111,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: kxooop3Pg9YhLAVMPgYBvm
+    - id: uM85Hdwk5juCsGFkq2Yvvp
       sortOrder: 2
       fieldKey: phone_number
       label: Phone Number
@@ -78128,7 +78128,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 35q8tEiCNoBMvepabdEaVX
+    - id: rDBZEaRvguF28NHupzggwA
       sortOrder: 3
       fieldKey: country_code
       label: Country Code
@@ -78637,7 +78637,7 @@ items:
         value: ZW
       dynamic: false
       allowNull: false
-    - id: dk37MtDtFtWiNoggxk5Vc2
+    - id: k5RCVGhmz9wtUNPPue3td6
       sortOrder: 4
       fieldKey: external_id
       label: External ID
@@ -78652,7 +78652,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 8gRvQcfxfzhnoZWShcA6yd
+    - id: 42Jphn41tdDvLxQiRWofrM
       sortOrder: 5
       fieldKey: first_name
       label: First Name
@@ -78666,7 +78666,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: dCmEt1X7wMz2ukUna4KpEJ
+    - id: jjubA5imQBfP1GPYzGUgs8
       sortOrder: 6
       fieldKey: last_name
       label: Last Name
@@ -78680,7 +78680,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: Ro6yGr6wuKkdXqAEcWjvo
+    - id: wA5WHfF1Fc1oyn8WKW1GLu
       sortOrder: 7
       fieldKey: organization
       label: Organization
@@ -78696,7 +78696,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: suMaaUMa4Kwm35RZWDvEwt
+    - id: RToTARLQ3t1chPyC9LaM9
       sortOrder: 8
       fieldKey: title
       label: Title
@@ -78710,7 +78710,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 7c5U6XkNRByVMVq33oZ2Gf
+    - id: kfNKgMBD9oeXpSJztd9Car
       sortOrder: 9
       fieldKey: image
       label: Image
@@ -78724,7 +78724,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: tFRSoTGqf9TD1QuD5sF5sF
+    - id: do48pYZ88HqgEFseJ99TEq
       sortOrder: 10
       fieldKey: location
       label: Location
@@ -78747,7 +78747,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: vjhd3L4RSTFFComPMh5VeY
+    - id: kYtihbzKHarCS9QNKpJepU
       sortOrder: 11
       fieldKey: properties
       label: Properties
@@ -78763,7 +78763,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: uzgDUrkW7c9PMWwXcL6KBs
+    - id: qVxSUH2EK7P7Xpr9aCzw8A
       sortOrder: 12
       fieldKey: list_id
       label: List
@@ -78775,7 +78775,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: tEmhC8a9Fr6oVACBFTLbzs
+    - id: a722YHhX8juoHuGSu15L5C
       sortOrder: 16
       fieldKey: list_identifier
       label: Existing List ID
@@ -78789,7 +78789,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: nX89QpMzLSo88HHCv4Q2tw
+    - id: vUkG5NYrHA5uzhMRNEq7W3
       sortOrder: 17
       fieldKey: list_name
       label: Name of list to create
@@ -78801,7 +78801,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 3eaF1RdjF5s8R4sVfYDAkn
+    - id: kgUtwivBuvVEWaCA556yMK
       sortOrder: 18
       fieldKey: retlOnMappingSave
       label: Connect to a static list in Klaviyo
@@ -78824,7 +78824,7 @@ items:
     hidden: false
     defaultTrigger: type = "track"
     fields:
-    - id: 9moGkbvWYP5nGFkH1tjcic
+    - id: jzboicyJyfDdzFvP4a76UW
       sortOrder: 0
       fieldKey: profile
       label: Profile
@@ -78836,7 +78836,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: bdjTtMLr7Cqkfm71NqTnzr
+    - id: uoaGhss7yL8arFZTZUQq5P
       sortOrder: 1
       fieldKey: properties
       label: Properties
@@ -78850,7 +78850,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 4UkG5cGttRUPM2dH9Gh8U9
+    - id: tdT7NBhxPkmSW4AKWq4mQh
       sortOrder: 2
       fieldKey: time
       label: Time
@@ -78869,7 +78869,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: vLzteKEPs9rE1f583KKnjK
+    - id: 2GXC9cmfftBemffwB93vSd
       sortOrder: 3
       fieldKey: value
       label: Value
@@ -78883,7 +78883,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 4b7a1uN2PZmpQV4pQ6jUoe
+    - id: picLsVjnYVVhV87iLC7tyu
       sortOrder: 4
       fieldKey: unique_id
       label: Unique ID
@@ -78903,7 +78903,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: o6CeLsPKRN6msCYPEHcBh3
+    - id: e8e4ewmWnX2D71v9uHbn7c
       sortOrder: 5
       fieldKey: products
       label: Products
@@ -78915,7 +78915,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: t9X2DNPFnTMsoTVCkmfns9
+    - id: fyB74sfELzhUdqDQjd2UEn
       sortOrder: 6
       fieldKey: event_name
       label: Event Name
@@ -78930,7 +78930,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 4wcMU2stCNrszts8rftx2A
+    - id: fSomoGsssVnTEuFQ3vFdCq
       sortOrder: 7
       fieldKey: product_event_name
       label: Product Event Name
@@ -78954,7 +78954,7 @@ items:
     hidden: false
     defaultTrigger: type = "track"
     fields:
-    - id: sPYKJuaUJKEnY5uWVTWM6M
+    - id: hQRtitfxoKDSps5kfTvXeD
       sortOrder: 0
       fieldKey: profile
       label: Profile
@@ -78966,7 +78966,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: jfrmdPFCKrfY9VErnzsKSU
+    - id: oF1pmSb1FEaq25odehpBLN
       sortOrder: 1
       fieldKey: metric_name
       label: Metric Name
@@ -78980,7 +78980,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: njcSX553MqzbSY3J1Wueb9
+    - id: nAWvCVjEb2rcw9E6zMhWv
       sortOrder: 2
       fieldKey: properties
       label: Properties
@@ -78994,7 +78994,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: jUwNb8rpAat4XWgskYhep8
+    - id: iPPQNuDhavA3gCixpuqn6c
       sortOrder: 3
       fieldKey: time
       label: Time
@@ -79013,7 +79013,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 9fC4qD3zpm6fnfVnCWU3R5
+    - id: icVF8Jy2iLVokVeHQWZMsu
       sortOrder: 4
       fieldKey: value
       label: Value
@@ -79027,7 +79027,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: cnULPG6z3o4qKLCiFmxPrM
+    - id: kvuYYrR1PCo1EWzvBzhin5
       sortOrder: 5
       fieldKey: unique_id
       label: Unique ID
@@ -79047,7 +79047,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: siz1crCeGz2yg3twoA9MPx
+    - id: wM6FSo6466vTxDQzDtgbbu
       sortOrder: 6
       fieldKey: enable_batching
       label: Batch Data to Klaviyo
@@ -79068,7 +79068,7 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Exited"
     fields:
-    - id: x9fpYFcsF325YUEGYVoenV
+    - id: h7sZWgKBkZ9CBHonSDoD5H
       sortOrder: 0
       fieldKey: email
       label: Email
@@ -79082,7 +79082,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: nXH8cyTuCZy534BuoD1n7A
+    - id: 6vNrzjwTGxbjFmfX7Pfppd
       sortOrder: 1
       fieldKey: external_id
       label: External ID
@@ -79096,7 +79096,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: CvkstHgJ1iD1Y62ow9bzU
+    - id: nhFXvFsDFHAqvFmeAtsfFA
       sortOrder: 3
       fieldKey: phone_number
       label: Phone Number
@@ -79113,7 +79113,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: inEA1R6m8UdPzCZACbeMP6
+    - id: 6fuvuXhGHBkw2FPDuG8Xk3
       sortOrder: 4
       fieldKey: enable_batching
       label: Batch Data to Klaviyo
@@ -79126,7 +79126,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5mBQXywjGJL53bYubSdAqo
+    - id: nhCURcc4GfuBcMJxYxixuB
       sortOrder: 5
       fieldKey: country_code
       label: Country Code
@@ -79643,7 +79643,7 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Entered"
     fields:
-    - id: jyXQzqg1DVL5pEECEESdRA
+    - id: onU7GeoiNCd52UARGkDyDB
       sortOrder: 0
       fieldKey: email
       label: Email
@@ -79657,7 +79657,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: gZWgAU6GaN9Fak1LgsMaJ2
+    - id: tygpoevD79Se4ZbPbPNYcH
       sortOrder: 1
       fieldKey: phone_number
       label: Phone Number
@@ -79674,7 +79674,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: gj3NwR52jCcsJDgRZ7aYsS
+    - id: 72gwqYNbjeJ1H5rtFaVuun
       sortOrder: 3
       fieldKey: external_id
       label: External ID
@@ -79688,7 +79688,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: kyHGe67xXVg8EjoJ1QqBy4
+    - id: 4wsCLSQDm2KgeE7VCF4tvo
       sortOrder: 4
       fieldKey: enable_batching
       label: Batch Data to Klaviyo
@@ -79701,7 +79701,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: kMwDvyCVr3mu8UdrWaWtN5
+    - id: rJy7boyHwXompfnZV8G9Hc
       sortOrder: 6
       fieldKey: first_name
       label: First Name
@@ -79715,7 +79715,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 6WwCmmoDfoMQuzMfWKc5RW
+    - id: 7dPy7P4Tcin6V89hs2gdTK
       sortOrder: 7
       fieldKey: last_name
       label: Last Name
@@ -79729,7 +79729,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: hKNGiEHVhRfrco66unJd4P
+    - id: wgYifTnXFQ52cTn8bopDg4
       sortOrder: 8
       fieldKey: image
       label: Image
@@ -79743,7 +79743,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: veBjTr3FuQBsvhfDxewYbG
+    - id: qbfRewkzR8WaNsuMVSNBDt
       sortOrder: 9
       fieldKey: title
       label: Title
@@ -79757,7 +79757,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: rp9tx4jTiQNekY7CFhbb2T
+    - id: 9tevcp8Cyg58PPQWgLg4eD
       sortOrder: 10
       fieldKey: organization
       label: Organization
@@ -79773,7 +79773,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: xqvi4yshvVuB6heW1JsTPB
+    - id: pv6WUuiZ8dFk4iSdMnKqaq
       sortOrder: 11
       fieldKey: location
       label: Location
@@ -79796,7 +79796,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: fUoXCyhoNcxXusuRFP3eMG
+    - id: dEz5yjaHp3KmYyohguNSN
       sortOrder: 12
       fieldKey: properties
       label: Properties
@@ -79812,7 +79812,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: bSXvNCrYBXPwwgTe3BCP52
+    - id: fhjFshzF6BtBFhom9rh8EH
       sortOrder: 13
       fieldKey: country_code
       label: Country Code
@@ -80329,7 +80329,7 @@ items:
     hidden: false
     defaultTrigger: type = "Identify"
     fields:
-    - id: 4sWoGT8o1n4g77pcNpzpZP
+    - id: mueRLFHBZDCTiJQCuKhbTk
       sortOrder: 0
       fieldKey: email
       label: Email
@@ -80343,7 +80343,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: vZ1aFhZvdxYuYZUmK8x4zv
+    - id: oPFrX45tL4gxjpe931epL5
       sortOrder: 1
       fieldKey: external_id
       label: External ID
@@ -80358,7 +80358,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: pv3rbsFAq7bizxS4VLcQ9Z
+    - id: 3CPn9s4EE8YAvXicVMrHwx
       sortOrder: 2
       fieldKey: list_id
       label: List
@@ -80370,7 +80370,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: tJQMM3azsUayz6CrQRYdpr
+    - id: 74EWaMoEjoUG848uMJq5RS
       sortOrder: 3
       fieldKey: enable_batching
       label: Batch Data to Klaviyo
@@ -80383,7 +80383,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: g1sMigCrMJiF9vwf9358Ci
+    - id: vNopxHtN4798izPSemYMiA
       sortOrder: 5
       fieldKey: phone_number
       label: Phone Number
@@ -80400,7 +80400,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 6zocEtQMgGMVLQHAovfxot
+    - id: 3LafQaH7znBAeNFekFPJmu
       sortOrder: 6
       fieldKey: country_code
       label: Country Code
@@ -80917,7 +80917,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event = "User Subscribed"
     fields:
-    - id: 7Lar8JXJ9pqGz1bqGnRuLP
+    - id: kshdhHhjf66iZw53JP4jCa
       sortOrder: 0
       fieldKey: email
       label: Email
@@ -80939,7 +80939,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5SCMBHSAC1qHbRrsZ3QoMz
+    - id: qST8R3nTF2imwr3M6V9bm5
       sortOrder: 1
       fieldKey: phone_number
       label: Phone Number
@@ -80961,7 +80961,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: vM25UXsXAbTxgZGCqFoMaE
+    - id: j2Ky8UfaGisDWjaEVRCNig
       sortOrder: 2
       fieldKey: country_code
       label: Country Code
@@ -81470,7 +81470,7 @@ items:
         value: ZW
       dynamic: false
       allowNull: false
-    - id: 8jeFGWenYFriWVqYQ8NwTL
+    - id: faYe8qvEVa8eyCJWJnZCvL
       sortOrder: 3
       fieldKey: list_id
       label: List Id
@@ -81485,7 +81485,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: cHA3mg1dSX1i7fv83koNNV
+    - id: 3YGr8GYmsN5hQ4QZLyGM1j
       sortOrder: 4
       fieldKey: custom_source
       label: Custom Source ($source)
@@ -81502,8 +81502,24 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 8yQvzPCPXZyKqjxPGDGg31
+    - id: v3aZwzQrSUh6r9hKQp5Kzo
       sortOrder: 5
+      fieldKey: historical_import
+      label: Historical Import
+      type: BOOLEAN
+      description: >-
+        When set to true, the profile will be subscribed as a historical import.
+        This is useful for importing existing profiles into Klaviyo without
+        sending them an email or SMS.
+      placeholder: ''
+      defaultValue: false
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: qDpwA9fftnuZEfpy5JzhmK
+      sortOrder: 6
       fieldKey: consented_at
       label: Consented At
       type: DATETIME
@@ -81516,8 +81532,8 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: jfASe8xP3kzqBAMhMs5pxo
-      sortOrder: 6
+    - id: oKrpoLtsxh7mAGfiW8UKym
+      sortOrder: 7
       fieldKey: enable_batching
       label: Batch Data to Klaviyo
       type: BOOLEAN
@@ -81536,7 +81552,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event = "User Unsubscribed"
     fields:
-    - id: b16sEJ8ZsjUQvSiWSWp6yV
+    - id: tYGkLpEwhTPBWsJKNx8Su6
       sortOrder: 0
       fieldKey: email
       label: Email
@@ -81558,7 +81574,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 4EnwEPyEAGLgx7bKg3yVXY
+    - id: 5mFaagb3XRFKNr5pzcm2b4
       sortOrder: 1
       fieldKey: phone_number
       label: Phone Number
@@ -81580,7 +81596,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: r1DajHGgYEerWaEmrth9h4
+    - id: krpYAFsuUWomwmc7RnqKNK
       sortOrder: 2
       fieldKey: country_code
       label: Country Code
@@ -82089,7 +82105,7 @@ items:
         value: ZW
       dynamic: false
       allowNull: false
-    - id: qFhhdiJNjbuB1UEAvLdFDK
+    - id: xzrkuef5bwxbyPG5RxLGgP
       sortOrder: 3
       fieldKey: list_id
       label: List Id
@@ -82103,7 +82119,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: beWdRFWtxv4uapfJxwzMXb
+    - id: fCnmfYh5uz1FN8wpdaQSVd
       sortOrder: 4
       fieldKey: enable_batching
       label: Batch Data to Klaviyo
@@ -84633,7 +84649,7 @@ items:
     hidden: false
     defaultTrigger: type = "track"
     fields:
-    - id: p4STQ2Bktmjj7oKxWteodJ
+    - id: bG7p4gBRVor9W2cpNgVo7Y
       sortOrder: 0
       fieldKey: event_name
       label: Event Name
@@ -84651,7 +84667,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: fFnr29VLAnibybNLqyDRQd
+    - id: sTck5gv4rpr4Ytb54bsgcd
       sortOrder: 1
       fieldKey: event_type
       label: Event Type
@@ -84666,7 +84682,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 2ihu6ZrRmBD9rumCBVyqA1
+    - id: tPZqRnyrpcZCFam1fjAQK
       sortOrder: 2
       fieldKey: segment_user_id
       label: User ID
@@ -84681,7 +84697,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: qbcYhPevV9fUPShAA7uTLL
+    - id: pXxJb1AjJcQshzJq1hLeXc
       sortOrder: 3
       fieldKey: livelike_profile_id
       label: LiveLike User Profile ID
@@ -84696,7 +84712,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 8NkPzSCvjBdg41isbWZDb2
+    - id: ssAmWCqsKUP7xQM9Wg4xFV
       sortOrder: 5
       fieldKey: custom_id
       label: Custom ID
@@ -84716,7 +84732,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: t8V2yA4ZcTaCMDpdwfY2sX
+    - id: mLpype1QecLqkwtAnoUyc4
       sortOrder: 6
       fieldKey: timestamp
       label: Timestamp
@@ -84734,7 +84750,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: cLkyfDHuRpYuLpNrmHoKpP
+    - id: jE7VA9DydShkYwQPcC8SYg
       sortOrder: 7
       fieldKey: properties
       label: Event Properties
@@ -84759,7 +84775,7 @@ items:
     hidden: false
     defaultTrigger: type = "identify"
     fields:
-    - id: ahGL5iZiqgyD8KVKQSk9AL
+    - id: 7CwiWQFxVRE4NtZPWPMxCi
       sortOrder: 0
       fieldKey: audience_id
       label: Segment Audience ID
@@ -84773,7 +84789,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: amsVBCYihJQTusBp2pZscs
+    - id: hpRmg1vQNDkz9CdjT24Cx4
       sortOrder: 1
       fieldKey: audience_name
       label: Segment Audience Name
@@ -84787,7 +84803,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: u3KQPMHZrBmZGL3ePxEpS8
+    - id: eo7oYaA4PuKtRpvZ44qBBm
       sortOrder: 2
       fieldKey: action
       label: Action
@@ -84802,7 +84818,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: cDLfYtf62K1SKnQjzwqSKA
+    - id: dpPHyShfG1wdFitCfiMVH7
       sortOrder: 3
       fieldKey: timestamp
       label: Timestamp
@@ -84816,29 +84832,36 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: xu2Zi43oXiLq2hXTSerVDK
-      sortOrder: 5
-      fieldKey: traits_or_properties_hidden
-      label: Traits or Properties hidden
+    - id: ikpcPk2Yd7Um1gGANMeywK
+      sortOrder: 4
+      fieldKey: additional_user_traits
+      label: Additional user traits
       type: OBJECT
-      description: >-
-        Hidden field used to figure out if user is added or removed from an
-        Engage Audience
+      description: Used for trait values to send to Livelike.
       placeholder: ''
       defaultValue:
-        '@if':
-          exists:
-            '@path': $.traits
-          then:
-            '@path': $.traits
-          else:
-            '@path': $.properties
+        livelike_profile_id:
+          '@if':
+            exists:
+              '@path': $.traits.livelike_profile_id
+            then:
+              '@path': $.traits.livelike_profile_id
+            else:
+              '@path': $.properties.livelike_profile_id
+        email:
+          '@if':
+            exists:
+              '@path': $.traits.email
+            then:
+              '@path': $.traits.email
+            else:
+              '@path': $.properties.email
       required: false
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
-    - id: rd3ND6ENeRQ58uDM5ZVgCi
+    - id: 4YHwpQJjX9dHU3RhYmXBAq
       sortOrder: 6
       fieldKey: user_id
       label: User ID
@@ -84852,26 +84875,29 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 92HbHyN84LBFpD6G7ekoYS
+    - id: xjXtFJhkSWunszHXcMUF3Q
       sortOrder: 7
-      fieldKey: batch_size
-      label: Batch Size
-      type: NUMBER
-      description: The number of records to process in each batch. Default is 100.
+      fieldKey: enable_batching
+      label: Enable Batching
+      type: BOOLEAN
+      description: >-
+        Enable batching for this action. If enabled, the action will process
+        records in batches.
       placeholder: ''
-      defaultValue: 100
+      defaultValue: true
       required: false
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
-    - id: nMtDZnTRVhjnBgyGLFo2t1
+    - id: 8LgVSFPCm5NHonkJF3uSPH
       sortOrder: 8
-      fieldKey: enable_batching
-      label: Enable Batching?
-      type: BOOLEAN
-      description: When enabled, Segment will send events in batches.
-      defaultValue: false
+      fieldKey: batch_size
+      label: Batch Size
+      type: NUMBER
+      description: The number of records to process in each batch. Default is 100.
+      placeholder: ''
+      defaultValue: 100
       required: false
       multiple: false
       choices: null
@@ -84879,7 +84905,7 @@ items:
       allowNull: false
   presets:
   - actionId: hi6egKehiHEcn789ZZvs18
-    name: Screen Calls
+    name: Page Calls
     fields:
       event_name:
         '@if':
@@ -84903,7 +84929,7 @@ items:
         '@path': $.timestamp
       properties:
         '@path': $.properties
-    trigger: type = "screen"
+    trigger: type = "page"
   - actionId: hi6egKehiHEcn789ZZvs18
     name: Track User Actions
     fields:
@@ -84925,7 +84951,7 @@ items:
         '@path': $.properties
     trigger: type = "track"
   - actionId: hi6egKehiHEcn789ZZvs18
-    name: Page Calls
+    name: Screen Calls
     fields:
       event_name:
         '@if':
@@ -84949,7 +84975,7 @@ items:
         '@path': $.timestamp
       properties:
         '@path': $.properties
-    trigger: type = "page"
+    trigger: type = "screen"
   partnerOwned: true
 - id: 644ad6c6c4a87a3290450602
   display_name: LiveRamp Audiences
@@ -85013,7 +85039,7 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Entered"
     fields:
-    - id: bcMzgzKBnTLzKgq78s4uCd
+    - id: k3mhDicSXuifyaW5XtxiTQ
       sortOrder: 0
       fieldKey: sftp_username
       label: Username
@@ -85026,7 +85052,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: qicLr2aFxyGNGL9h6u4tva
+    - id: 6oUUAu7AFbrt9aafbsgGu4
       sortOrder: 1
       fieldKey: sftp_password
       label: Password
@@ -85039,7 +85065,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: fns8XJUPQ1w3YbwKxM9nFp
+    - id: mJ3cmGfEBmMr8rR42XD6FG
       sortOrder: 2
       fieldKey: sftp_folder_path
       label: Folder Path
@@ -85056,7 +85082,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: jBusi4jwj3nQr95rXHqogQ
+    - id: t1ZZ7wxaWn5z7dzVfppPgy
       sortOrder: 3
       fieldKey: audience_key
       label: LiveRamp Audience Key
@@ -85075,7 +85101,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: n2etQ1gt5FdeJvncw7XSd3
+    - id: twV2vtaLtG2niwaQv6UMsS
       sortOrder: 4
       fieldKey: identifier_data
       label: Identifier Data
@@ -85088,7 +85114,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: jtdtwXHabf8WvHBup9fFTw
+    - id: jEiuGaTjfAZzCpiWVc83jY
       sortOrder: 5
       fieldKey: unhashed_identifier_data
       label: Hashable Identifier Data
@@ -85104,7 +85130,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: udMiBRFdqAEy7dwZ8jtNFD
+    - id: sRRXcW5KjridwppD1kHk6n
       sortOrder: 6
       fieldKey: delimiter
       label: Delimeter
@@ -85118,7 +85144,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: baKrghP4w9G4xYhtJ9sMuN
+    - id: 6JYHxJ7e176ZCaNQD3BsPT
       sortOrder: 7
       fieldKey: filename
       label: Filename
@@ -85143,7 +85169,7 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Entered"
     fields:
-    - id: jVyeyS3iBPaxuq6dErmaoB
+    - id: 2MUCKviAJMGWWS8k3kk2uJ
       sortOrder: 0
       fieldKey: s3_aws_access_key
       label: AWS Access Key ID
@@ -85156,7 +85182,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 2tNwMzSiKWg8PjXshtPEuL
+    - id: 2WiwXFCGvuGAnL73BTWkbX
       sortOrder: 1
       fieldKey: s3_aws_secret_key
       label: AWS Secret Access Key
@@ -85169,7 +85195,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: giyTt6vJbq8PEKUD9Gq7dH
+    - id: 5dAHm9m3eu8WAHpqgUqEyX
       sortOrder: 2
       fieldKey: s3_aws_bucket_name
       label: AWS Bucket Name
@@ -85182,7 +85208,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: b1gMoLUqSYnP2hVbEKv1rw
+    - id: 8gCdxXCFkJ2gTrtQnvyvAP
       sortOrder: 3
       fieldKey: s3_aws_region
       label: AWS Region (S3 only)
@@ -85195,7 +85221,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: eSEWsjFxKDfhoiUwL1TQe4
+    - id: vUjtXhYp55e7bd6qxkTg3p
       sortOrder: 4
       fieldKey: audience_key
       label: LiveRamp Audience Key
@@ -85214,7 +85240,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: isW2cPNRpVdij1ajDHjjpq
+    - id: wEpEMcgx6BEWNrSFYwfJZo
       sortOrder: 5
       fieldKey: identifier_data
       label: Identifier Data
@@ -85227,7 +85253,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 5zNgqeHT4164w5wsfBF9cj
+    - id: hhdh14b4ZFcbArNz5p9Pyi
       sortOrder: 6
       fieldKey: unhashed_identifier_data
       label: Hashable Identifier Data
@@ -85243,7 +85269,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: pqSU2vN4u2yqrsQUF4tK5o
+    - id: qUnMU8eixADgi755nunvZe
       sortOrder: 7
       fieldKey: delimiter
       label: Delimeter
@@ -85257,7 +85283,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: qtVPusxF4wmZCfBRFMBvXL
+    - id: ahneRYCYP7CEvm3v3UFyCu
       sortOrder: 8
       fieldKey: filename
       label: Filename
@@ -85274,7 +85300,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 3aaHsfmUByergYzSRd9CeY
+    - id: 4PLfCV1ZEbBaX2591KYqYq
       sortOrder: 11
       fieldKey: s3_aws_bucket_path
       label: AWS Bucket Path [optional]
@@ -125020,21 +125046,7 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Entered"
     fields:
-    - id: 2paiXUn1PV2MRu4qUrY1UD
-      sortOrder: 0
-      fieldKey: external_id
-      label: External Audience ID
-      type: STRING
-      description: The CRM Data ID for The Trade Desk Segment.
-      placeholder: ''
-      defaultValue:
-        '@path': $.context.personas.external_audience_id
-      required: false
-      multiple: false
-      choices: null
-      dynamic: false
-      allowNull: false
-    - id: agE9DjGQKgQLy4L9imtVEc
+    - id: uukqUY4RBjHJe5fUF6KFvZ
       sortOrder: 1
       fieldKey: pii_type
       label: PII Type
@@ -125050,7 +125062,7 @@ items:
         value: EmailHashedUnifiedId2
       dynamic: false
       allowNull: false
-    - id: pz8AT8GNgzPUtF3Jco9rQu
+    - id: 9eb2ZZXEU3AjyiWxVCF6jJ
       sortOrder: 2
       fieldKey: email
       label: User Email
@@ -125064,48 +125076,6 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: fdvcMzzjcVgmq69uNY4AgG
-      sortOrder: 3
-      fieldKey: enable_batching
-      label: Enable Batching
-      type: BOOLEAN
-      description: Enable batching of requests to The Trade Desk CRM Segment.
-      placeholder: ''
-      defaultValue: true
-      required: false
-      multiple: false
-      choices: null
-      dynamic: false
-      allowNull: false
-    - id: dAXAehsYk6RQk6QiADHbh5
-      sortOrder: 4
-      fieldKey: event_name
-      label: Event Name
-      type: STRING
-      description: The name of the current Segment event.
-      placeholder: ''
-      defaultValue:
-        '@path': $.event
-      required: false
-      multiple: false
-      choices: null
-      dynamic: false
-      allowNull: false
-    - id: cVTM3kQumtRnJhyd1adti7
-      sortOrder: 5
-      fieldKey: batch_size
-      label: Batch Size
-      type: NUMBER
-      description: >-
-        Maximum number of events to include in each batch. Actual batch sizes
-        may be lower.
-      placeholder: ''
-      defaultValue: 100000
-      required: false
-      multiple: false
-      choices: null
-      dynamic: false
-      allowNull: false
   presets: []
   partnerOwned: false
 - id: 63d2e550fb90f1632ed8820a
diff --git a/src/_data/catalog/destinations_private.yml b/src/_data/catalog/destinations_private.yml
index 29047ce6b1..92373c66b0 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 2025-07-31 
+# destination data last updated 2025-08-07 
 items:
   - id: 54521fd925e721e32a72eee1
     display_name: Pardot
diff --git a/src/_data/catalog/source_categories.yml b/src/_data/catalog/source_categories.yml
index 4037c85ab7..8cf1a9732d 100644
--- a/src/_data/catalog/source_categories.yml
+++ b/src/_data/catalog/source_categories.yml
@@ -1,5 +1,5 @@
 # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
-# source categories last updated 2025-07-31 
+# source categories last updated 2025-08-07 
 items:
   - display_name: A/B testing
     slug: a-b-testing
diff --git a/src/_data/catalog/sources.yml b/src/_data/catalog/sources.yml
index 8bcc064b0d..cc64150a18 100644
--- a/src/_data/catalog/sources.yml
+++ b/src/_data/catalog/sources.yml
@@ -1,5 +1,5 @@
 # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
-# sources last updated 2025-07-31 
+# sources last updated 2025-08-07 
 items:
   - id: 8HWbgPTt3k
     display_name: .NET
