Integrate Reachdesk with Marketo

  • Updated

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

  1. In Reachdesk, navigate to Account > Integrations.

  2. Locate Marketo and click Link Account.

  3. 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:

Use this field in your webhook payload as {{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

Sent, Opened, Clicked, Claimed

Recommended statuses for physical sends

Processed, Shipped, Delivered, Cancelled, Returned, Donated

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:

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

  1. Right-click the new Reachdesk Webhook.

  2. Select Webhook Actions > Set Custom Header > Add.

  3. Add the following:

    • Header: Content-Type

    • Value: application/json

  4. Click Save.

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.

  1. In Marketo: Go to Admin > Marketo Custom Activities, create a new activity, and copy the Custom Activity Id.image (3).png

  2. In Reachdesk: Go to Account > Integrations > Marketo, click Connect (or Reconnect), and paste the ID.Screenshot 2024-08-16 at 12.40.09.png

  3. 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:

image (4).png

 

Secure the webhook with a Reachdesk API token

  1. Generate the token in Reachdesk: Go to Organization > Settings > API Tokens > Add new.

  2. Add the header in Marketo: Add a second custom header to your webhook:

    • Header: Authorization

    • Value: Bearer <API_TOKEN>

  3. Contact Reachdesk Support: Email support@reachdesk.com with your Organization ID and ask the team to enforce the token for your Marketo webhook.

image (1).png

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. As of September 30, 2026, all Marketo webhooks with require an API token from Reachdesk.

 

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.

Related to

Was this article helpful?

0 out of 0 found this helpful

Have more questions? Submit a request

Comments

0 comments

Please sign in to leave a comment.