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.
Then, click on Users & Roles.
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)
The next step is to create a new LaunchPoint. Click on LaunchPoint and then click New Service:
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.
Now that you have created the LaunchPoint, there are 3 pieces of information needed to connect Marketo to Sendoso:
- Client ID &
- Client Secret (from the new LaunchPoint)
- 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.
Click on Field Management under Database Management:
Click on New Custom Field and fill out the following fields:
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.
Click New Webhook and enter the details below:
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.
Now, click on Add, enter "content-type" in the header, and "application/json" in the value.
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.
Click New and select New Channel.
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:
After March 18, 2026:
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.
Click Sync Marketo.
These fields should look familiar:
Over on Marketo, find the Sendoso Launchpoint that you created in preparation and click View Details to get the Client ID and Client Secret.
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.
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.
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.
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
- Create an API Only User Role
- Creating a Marketo Engage Campaign
- Adding Sendoso to a Marketo Engage Campaign
- Marketo Engage Webhook Payload Templates
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.