Setting Up: Connecting Marketo Engage to Sendoso

  • Updated

Introduction

Sendoso integrates directly into Marketo Engage to make sending both physical and eGifts easy! Follow these steps to get your Marketo Engage account ready to connect to Sendoso.  

Once you complete these steps, you will not have to do them again, and once your Sendoso and Marketo accounts are synced, you will be able to create Sendoso automations using Marketo programs. Read more about that here.

Please note you MUST be an admin in Marketo Engage

Use the table of contents on the right to jump to specific sections in this article.


Setting up Marketo Engage for Sendoso 

First, you’ll need to add a new user in your Marketo account for Sendoso. To do this, click Admin at the top.

Screen_Shot_2022-06-07_at_2.30.26_PM.png

Then, click on Users & Roles.

2.png

Next, invite a new user using the following information:

Email (use your company domain): sendoso@domain.com
Name: Sendoso API
Role: Choose a role that will align with an API only user
Check API Only (Check out this article for more information)

Screen_Recording_2022-06-07_at_02.09.06_PM.gif
 

The next step is to create a new LaunchPoint. Click on LaunchPoint and then click New Service:

4.png
5.png

 

Enter the New Service details:

Display Name: Sendoso
Service: Custom
Description: Sendoso
API Only User: Select the user we just created above

Marketo Engage’s REST APIs are authenticated with 2-legged OAuth 2.0. Client IDs and Client Secrets are provided by custom services that you define. Each custom service is owned by an API-Only user which has a set of roles and permissions which authorize the service to perform specific actions. An access token is associated with a single custom service. Access token expiration is independent of tokens associated with other custom services that may be present in an instance.

 Screen_Shot_2017-11-08_at_5.15.36_PM.png

Now that you have created the LaunchPoint, there are 3 pieces of information needed to connect Marketo to Sendoso:

  1. Client ID & 
  2. Client Secret (from the new LaunchPoint)
  3. Rest API Endpoint URL (without "/rest")

Setting up a Custom Field for Sendoso 

There is one custom field required for the Sendoso + Marketo Engage integration to work. To start, head to the Admin tab again.

Screen_Shot_2022-06-07_at_2.30.26_PM.png

Click on Field Management under Database Management:

7.png

Click on New Custom Field and fill out the following fields:

8.png 

Object: Person
Type: String
Name: Sendoso Touch ID
API Name: sendosoTouchID


Setting up a Webhook for Sendoso

Now we need to create the Webhook for Sendoso. Head back to the Admin tab and click on Webhooks

9.png

Click New Webhook and enter the details below:

10.png 

Webhook Name: Sendoso
URL: https://app.sendoso.com/api/v3/marketo
Request Type: Post
Request Token Encoding: JSON

The payload template is located here:

{
 "send":
 {
   "lead_id": {{lead.id}},
   "email": {{lead.Email Address}},
   "name": {{lead.First Name}},
   "last_name": {{lead.Last Name}}, 
   "company_name": {{company.Company Name}},
   "address": {{lead.address}},
   "city": {{lead.city}},
   "state": {{lead.state}},
   "zip": {{lead.Postal Code}},
   "country": {{lead.country}},
   "mobile_no": {{lead.Phone Number}}
 },
 "automation_uuid": {{lead.Sendoso Touch ID}},
 "key": "ENTER USER KEY FROM SENDOSO"
}

The template above assumes you are using the standard fields in Marketo Engage. If you plan on leveraging custom fields from Marketo, please let us know to assist with setting up the correct payload template.

To locate your Sendoso user key, click here.

Next, you'll need to add a Custom Header to the Webhook that you just created. Click on the new webhook and then click Webhook Actions > Set Custom Header.

11.png
 

Now, click on Add, enter "content-type" in the header, and "application/json" in the value.

12.png

Setting up a Channel for Sendoso for Member Statuses 

Now it’s time to add member statuses to your channel. This will make it super easy to map gift statuses when we connect Sendoso to Marketo.

Head back to the Admin tab and click on Tags.

Screen_Shot_2019-01-18_at_9.31.49_AM.png

Click New and select New Channel.

Screen_Shot_2019-01-18_at_9.32.06_AM.png

We suggest you title it "Direct Mail" (or a similar variation).

You'll need to add a handful of statuses for Sendoso.

Note: we’re rolling out new, unified statuses, so if you’re connecting Marketo before March 18th 2026, you’ll need to add the first image’s tags. If you’re seeing this after March 18th, use the second image as a reference.

Before March 18, 2026:

16.png

After March 18, 2026:

15.png

Now you’re ready to connect Marketo and Sendoso!


Syncing Sendoso and Marketo Engage

For Syncing Marketo to Sendoso, we’ll start in the Sendoso app. 

Below is a quick tutorial. Please note that in this tutorial, we'll go through creating a new LaunchPoint, but if you've already done that, you do not need to complete those specific steps:

Here are the steps:

On Sendoso, click on Integrations in the drop-down menu under your name in the top-right corner.

Click on View Integration in the Marketo tile.

Screenshot 2026-02-19 at 2.24.13 PM.png

Click Sync Marketo.

Screenshot 2026-02-19 at 2.25.30 PM.png

These fields should look familiar:

Screenshot 2026-02-19 at 2.27.35 PM.png

Over on Marketo, find the Sendoso Launchpoint that you created in preparation and click View Details to get the Client ID and Client Secret.

Screenshot 2026-02-19 at 2.30.08 PM.png

Now we just need the Rest API URL. Click Web Services from the Admin panel. Scroll down to the Rest API section and copy the URL (without the “/rest”) in the Endpoint row. 

Screenshot 2026-02-19 at 2.33.35 PM.png

Paste that information back on Sendoso and click Save.

If the sync was successful, you’ll now see a green dot and “synced” on the Marketo integration page.

Screenshot 2026-02-19 at 2.34.33 PM.png

FAQs

How do I find my Sendoso user key?

You can find your Sendoso user key by navigating to the User Settings section of Sendoso. Here you will see the "Key" field. Copy that and insert it into your payload template.

Screen_Shot_2022-06-07_at_2.40.00_PM.png

Do I need to be a Marketo admin to complete this setup?

Yes, you need admin access in Marketo Engage to complete these steps. If you're not an admin, loop in your Marketo admin before getting started.

Is this setup done once for the whole Marketo instance, or does every user need to do it?

The Marketo-side setup (creating the API user, LaunchPoint, custom field, webhook, and channel) is a one-time process per Marketo instance. 

What role and permissions does the API Only user in Marketo need?

The user needs a role that has API-only access. Check out the Create an API Only User Role article for guidance. Selecting a role that is too restrictive or missing API access will result in errors and delays of setup.

What are the three pieces of information I need from Marketo to connect to Sendoso?

You'll need your Client ID, your Client Secret (both available by clicking View Details on the LaunchPoint you created), and your REST API Endpoint URL found under Admin > Web Services. Make sure to copy the URL without the "/rest" at the end. 

What custom field do I need to create in Marketo, and why?

You need to create one custom field with the following details: Object: Person, Type: String, Name: Sendoso Touch ID, API Name: sendosoTouchID. This field is what connects a specific Sendoso campaign to your Marketo Smart Campaign flow.

Where do I find the payload template for the Sendoso webhook?

The full payload template is available in the Marketo Engage Webhook Payload Templates article. Reference This article when setting it up.

What if my Marketo instance uses custom fields instead of standard lead fields?

The default payload template is built around standard Marketo lead fields. If your instance uses custom fields, reach out to Sendoso Support, and we can help you set up a modified template that maps to your field structure.

Is creating a Marketo Channel for Sendoso required?

It's optional but strongly recommended. Setting up a dedicated Sendoso channel in Marketo is what allows gift lifecycle statuses like Shipped and Delivered to write back to your Marketo program member records. 

What member statuses should I add to my Sendoso channel?

This depends on when you're connecting. If you're setting up before March 18, 2026, use the original status set: Member, Confirming Address, Processing, Shipped, Delivered, and Undeliverable. 

If you're setting up after March 18, 2026, use the new unified statuses: Member, Engaged, Processing, Shipped, Cancelled, Delivered, Refunded, and Undeliverable.

Can I use an existing Marketo channel instead of creating a new one?

No. You need a dedicated channel with Sendoso-specific member statuses so gift lifecycle events map correctly. 

How do I know if the sync between Sendoso and Marketo was successful?

Once the sync is complete, you'll see a green dot and the word "Synced" on the Marketo Integration page in Sendoso. If you see "Not syncing" or a red indicator, double-check your Client ID, Client Secret, and REST URL for any typos or errors.


Additional Resources

For additional training on Marketo integration, feel free to check out these Sendoso University courses.

If you are a prospect, see how you can use Sendoso to send from your CRM.

Was this article helpful?

13 out of 13 found this helpful

Have feedback about this article? Click here to share your thoughts.