Marketo: Inbound Webhook Triggers
This guide will run you through how to setup a custom webhook trigger in Marketo to push consent changes into the Transcend Preference Store.
For other details about this integration, you can find documentation for that integration in the Transcend Dashboard. These instructions can also be found by selecting your integration from the Infrastructure -> Integrations page and clicking on the "Connection" tab to view the instructions.
Setting up webhook triggers into Transcend involves 4 steps:
- Create a new custom field on your lead object called
Unsubscribed_Inverted
- Create a smart campaign that sets the value of
Unsubscribed_Inverted
to the opposite of whateverUnsubscribed
is set to whenever a new lead is created or theUnsubscribed
field is changed. - Create a webhook that calls the Transcend PUT /v1/preferences API that forwads the value of your
Unsubscribed_Inverted
field. - Create a smart campaign that triggers the webhook in (3) whenever the value of
Unsubscribed_Inverted
is changed.
- Click on the
Admin
top menu. - Go to
Database Management
->Field Management
in left hand side menu
- Click
New Custom Field
and specify following values- Object:
Person
- Type:
Boolean
- Name:
Unsubscribed_Inverted
- API Name:
unsubscribedInverted
- Object:
- Click
Create
, after which you should be able to search for your newly created field in search menu on right hand side of the screen
- Click on the
Marketing Activties
top menu. - Right click on
Default
in the left side menu and clickNew Campaign Folder
to create a new folder to store Transcend smart campaigns
- Name the folder
Transcend
with a description something likeIntegration with transcend.io for preference management
- Click back on
Default
in top left corner and clickNew Smart Campaign
button
- Fill out the form to create the smart campaign
- Campaign Folder:
Transcend
- Campaign Name:
Set Unsubscribed_Inverted for transcend.io
- Description:
Set the Unsubscribed_Inverted custom field to be the inverted value of Unsubscribed field whenever a new lead is created or updated.
- Executable: Leave blank
- Campaign Folder:
- Go to
Smart List
tab and make the following changes:- Update filter to
Use ANY filters
instead ofUse ALL filters
- Add new rule for
Data Value Changes
withAttribute
selection ofUnsubscribed
- Add additional rule for
Person is Created
- Update filter to
- Go to
Flow
tab and make following changes- Add rule for
Change Data Value
- Set if statement logic to:
If Unsubscribed is true
- Set first conditional to
Attribute: Unsubscribed_Inverted New Value: false
- Set default choice to
Attribute: Unsubscribed_Inverted New Value: true
- Add rule for
- Go to
Schedule
tab to activate campaign- Ensure Campaign Status is set to
Active
- Ensure
Block non-operational emails
is not checked - Ensure
Run each person through the campaign flow
is set toevery time
- Ensure Campaign Status is set to
- At this point, you should be able to test that this is working
- You should start seeing triggers for this smart campaing in the
Results
tab - You can test this by going to a lead, toggle the
Unsubscribed
field and then check back on theResults
tab to ensure the campaign triggers
- You should start seeing triggers for this smart campaing in the
- Click on the
Admin
top menu. - Go to
Integration
->Webhooks
in left hand side menu - Click
New Webhook
- Webhook Name:
Transcend Preference Change
- Description:
Push consent change events to transcend.io Preference Store
- URL: This value can be found in section belon. If Transcend hosted, this value is
https://multi-tenant.sombra.us.transcend.io/v1/preferences
for EU hosting andhttps://multi-tenant.sombra.transcend.io/v1/preferences
for US hosting. - Request Type:
PUT
- Template: See Below
- Request Token Encoding:
None
- Response type:
None
- Webhook Name:
The request template will look like:
{ "records": [ { "userId": "{{lead.Email Address}}", "partition": "6efb0409-a0f6-4d3c-90dd-0a03f909dd68", "timestamp": "{{system.dateTime}}", "purposes": [ { "purpose": "Marketing", "enabled": {{lead.unsubscribedInverted}} } ] } ], "skipWorkflowTriggers": false }
However you will need to adjust partition
using the guide below and purpose
using the guide below
- Lastly, you will want to add two Customer Headers
- Authorization: This is an API key created under Developer Settings -> API Keys and create a new API key with the scope
Modify User Stored Preferences
. - Content-Type:
application/json
- Authorization: This is an API key created under Developer Settings -> API Keys and create a new API key with the scope
- go to Infrastructure -> Sombra in your Transcend account
- choose the Sombra gateway that makes sense for your use case (you most likely will want to use the sombra marked as "Is Primary Sombra?")
- Copy the "Transcend Ingress URL" value as your Sombra base URL
The partition
can be thought of as the ID of the consent database to update. In most implementations, you will just have one unique partition in your account. Multiple partitions can be useful in situations where you have multiple brands, partners or data controllers for which you need to separately track consent preferences for.
To grab this value:
- Go to Preference Management -> User Preferences -> Settings
- Ensure Preference Store toggle is enabled.
- Click on the button "Open Partition Settings"
- Locate your desired partition and click the copy button. The default partition is labeled
BUNDLE_ID
- this is most likely the value you will want to use.
When submitting requests to the Transcend API, you will want to update your purposes and preferences using their respective "Slug" values.
To find your purpose slugs, look at the "Slug" column under Consent Management -> Regional Experiences -> Purposes. To find your preference slugs, look at the "Slug" column under Preference Management -> Topics. To find your preference option slugs, look at the "Slug" column under Preference Management -> Preference Topics -> Options.
- Click on the
Marketing Activties
top menu. - Fill out the form to create the smart campaign
- Campaign Folder:
Transcend
- Campaign Name:
Trigger Transcend Webhook when Unsubscribed_Inverted changes
- Description:
Send webhook event to Transcend when Unsubscribed_Inverted custom field changes.
- Executable: Leave blank
- Campaign Folder:
- Go to
Smart List
tab and make the following changes:- Add new rule for
Data Value Changes
withAttribute
selection ofUnsubscribed_Inverted
- Add new rule for
- Go to
Flow
tab and make following changes- Add rule for
Call Webhook
with valueTranscend Preference Change
(created in Step 3)
- Add rule for
- Go to
Schedule
tab to activate campaign- Ensure Campaign Status is set to
Active
- Ensure
Block non-operational emails
is not checked - Ensure
Run each person through the campaign flow
is set toevery time
- Ensure Campaign Status is set to
- At this point, you should be able to test that this is working
- You should start seeing triggers for this smart campaing in the
Results
tab - You can test this by going to a lead, toggle the
Unsubscribed
field - If you refresh the page you should see
Unsubscribed_Inverted
set to the inverse ofUnsubscribed
- Under the
Results
tab of the second smart campaign created in step (4) you should see webhooks sending. Check to m and then check back on theResults
tab to ensure the campaign triggers - Click on any
Results
to ensure that Transcend API is returning a 200 status code
- You should start seeing triggers for this smart campaing in the
- Check the Transcend Preference Store to ensure consent is synced in properly