Use this guide to connect Reachdesk with Marketo, send automated campaigns, and sync Reachdesk gift status updates back into Marketo.
Before you start
Make sure you have:
A Marketo admin user who can create roles, users, webhooks, custom fields, program channel tags, and custom activities.
Access to Reachdesk with an Admin or Campaign Manager role if you want to send automated campaigns. Read more about this here: Setting up your triggered campaigns in Reachdesk and Marketo.
Steps
Step 1: Create an API role and API user in Marketo
Create an API role if you don't already have one, then create a new Reachdesk API user in Marketo:
Step 2: Create a custom service in LaunchPoint
In Marketo, create a new custom service in LaunchPoint for Reachdesk:
Step 3: Connect Marketo and Reachdesk
In Reachdesk, navigate to Account > Integrations.
Locate Marketo and click Link Account.
Follow the prompts to authorize the connection.
Step 4: Create a custom field for the Reachdesk Campaign UUID
Create a Marketo custom field to store the unique Reachdesk campaign UUID:
{{lead.Reachdesk Campaign UUID}}.Step 5: Set up Marketo Program Channel tags
If you don't already have program channel tags for direct mail and eGift sends, create them so you can map Reachdesk campaign statuses back to Marketo program statuses.
Recommended statuses for eGift sends
Recommended statuses for physical sends
Step 6: Create a webhook in Marketo to trigger a Reachdesk campaign
In Marketo, go to Admin > Integrations > Webhooks. Create a new webhook with the following values:
Webhook Name: Reachdesk Webhook
Request Token Encoding: JSON
Response Type: JSON
For the Template, paste one of the JSON payloads below and update the field mapping as needed.
Standard webhook JSON template
{
"campaignUUID": {{lead.Reachdesk Campaign UUID}},
"id": {{lead.Id}},
"firstName": {{lead.First Name}},
"lastName": {{lead.Last Name}},
"fullName": {{lead.Full Name}},
"email": {{lead.Email Address}},
"address": {{lead.Address}},
"city": {{lead.City}},
"state": {{lead.State}},
"postalCode": {{lead.Postal Code}},
"country": {{lead.Country}},
"phone": {{lead.Phone}},
"title": {{lead.Job Title}},
"company": {{company.Company Name}}
}Webhook JSON template with Tax ID
{
"campaignUUID": {{lead.Reachdesk Campaign UUID}},
"id": {{lead.Id}},
"firstName": {{lead.First Name}},
"lastName": {{lead.Last Name}},
"fullName": {{lead.Full Name}},
"email": {{lead.Email Address}},
"address": {{lead.Address}},
"city": {{lead.City}},
"state": {{lead.State}},
"postalCode": {{lead.Postal Code}},
"country": {{lead.Country}},
"phone": {{lead.Phone}},
"title": {{lead.Job Title}},
"company": {{company.Company Name}}
"taxId": {{lead.Tax Id}}
}Optional webhook customizations
Customize send quantities for bundle campaigns
Ensure you add the engageItems if you want to override the default item quantities configured in a bundle campaign. If this is not included in the JSON, then we will use the items and quantities set in the campaign.
- id - To find the item ID, navigate to Inventory > Item Page and copy the last number from the URL.
- type - This could be "item" or "item_collection" if it's a grouped item.
- quantity - The quantity you want to send for this item.
{
"campaignUUID": {{lead.Reachdesk Campaign UUID}},
"id": {{lead.Id}},
"firstName": {{lead.First Name}},
"lastName": {{lead.Last Name}},
"fullName": {{lead.Full Name}},
"email": {{lead.Email Address}},
"address": {{lead.Address}},
"city": {{lead.City}},
"state": {{lead.State}},
"postalCode": {{lead.Postal Code}},
"country": {{lead.Country}},
"phone": {{lead.Phone}},
"title": {{lead.Job Title}},
"company": {{company.Company Name}},
"engageItems": [{
"id": 1,
"type": "item_collection",
"quantity": 10
}, {
"id": 3,
"type": "item",
"quantity": 50
}]
}Customize gift options for marketplace campaigns
Use productVariables if you want to override the default variable values (like size or color) in a marketplace campaign. If this is not included in the JSON, then we will use the default values on the marketplace campaign:
id - To get the variable ID for a marketplace product, contact support@reachdesk.com.
to request it.value - the value you want to pass to that variable.
{
"campaignUUID": {{lead.Reachdesk Campaign UUID}},
"id": {{lead.Id}},
"firstName": {{lead.First Name}},
"lastName": {{lead.Last Name}},
"fullName": {{lead.Full Name}},
"email": {{lead.Email Address}},
"address": {{lead.Address}},
"city": {{lead.City}},
"state": {{lead.State}},
"postalCode": {{lead.Postal Code}},
"country": {{lead.Country}},
"phone": {{lead.Phone}},
"title": {{lead.Job Title}},
"company": {{company.Company Name}},
"productVariables": [{
"id": 1,
"value": "Custom Value"
}]
}Note: This is an advanced configuration. You must contact support@reachdesk.com to obtain the specific variable IDs for your marketplace products before using this payload.
Map the webhook to company address fields instead of lead address fields
By default, the webhook examples above map the address from the lead Info tab. If you want to use the address from the Company Info tab instead, use this payload:
{
"campaignUUID": {{lead.Reachdesk Campaign UUID}},
"id": {{lead.Id}},
"firstName": {{lead.First Name}},
"lastName": {{lead.Last Name}},
"fullName": {{lead.Full Name}},
"email": {{lead.Email Address}},
"address": {{company.Billing Address}},
"city": {{company.Billing City}},
"state": {{company.Billing State}},
"postalCode": {{company.Billing Postal Code}},
"phone": {{company.Main Phone}},
"country": {{company.Billing Country}},
"company": {{company.Company Name}}
}Advanced users can map other Marketo fields to Reachdesk in the same way.
Add the Content-Type header
Right-click the new Reachdesk Webhook.
Select Webhook Actions > Set Custom Header > Add.
-
Add the following:
Header: Content-Type
Value: application/json
Click Save.
Secure the webhook with an API token
Generate the token in Reachdesk: Go to Organization > Settings > API Tokens > Add new.
-
Add the header in Marketo: Add a second custom header to your webhook:
Header: Authorization
Value: Bearer
<API_TOKEN>
Contact Reachdesk Support: Email support@reachdesk.com with your Organization ID and ask the team to enforce the token for your Marketo webhook.
Important: If you want to require an API token on the webhook for extra security, you must add the token header first and then ask Reachdesk Support to enforce it. If Support enables the requirement before the header is added, your existing webhooks will fail.
Step 7: Sync Reachdesk gift status changes back to Marketo
To sync updates, create a Marketo custom activity and add its ID to the Reachdesk Marketo integration.
In Marketo: Go to Admin > Marketo Custom Activities, create a new activity, and copy the Custom Activity Id.
In Reachdesk: Go to Account > Integrations > Marketo, click Connect (or Reconnect), and paste the ID.
Permissions: Ensure the Marketo user has WRITE permissions for Marketo Custom Activities.
Below is an example of how the activities related to Reachdesk gift statuses will appear in Marketo against the Marketo person:
Frequently Asked Questions
Can I connect additional Marketo users after the initial setup?
Yes. After the initial setup is complete, additional Marketo users can be connected following the steps here: Connecting additional Marketo users to the Reachdesk platform.
What happens if I don't include engageItems in the webhook JSON?
Reachdesk uses the items and quantities already configured in the campaign.
What happens if I do not include productVariables in the webhook JSON?
Reachdesk uses the default values configured in the marketplace campaign.
What Marketo address does the default webhook use?
It maps the address from the Lead Info tab. To use the Company Info tab, you'll need to update the mapping to {{company.Billing Address}} etc.
What are some common Marketo and Reachdesk use cases?
Timely event follow-up: Send attendees a personalized, memorable follow-up that stands out from competitors.
ABM initiatives: Hyper-personalized sends at scale using Marketo triggers for exclusive named accounts.
Content downloads: Automate personalized follow-ups with an incentive to encourage next steps.
Comments
0 comments
Please sign in to leave a comment.