Marketo Engage Webhook Trigger with Address Confirmation alternative and troubleshooting


  • Webhook w/ Marketo Engage Custom Address Confirmation form
  • Troubleshooting

Webhook w/ Marketo Engage Custom Address Confirmation form

Want to send something to your program members in Marketo Engage but afraid it won’t reach them? It’s a common concern right now - hardly anyone is working from their office. Sendoso has you covered. By using a simple program in Marketo and a custom Sendoso webhook, you can give your recipients the option to provide their information so you can reach them.

This will help you provide your recipient a branded form that you can customize.

The following steps in Marketo Engage are prerequisites to proceed:

  • Record Marketo Engage Client ID, Marketo Engage Client Secret, and Base URL(follow the below steps to capture this information)
    • 1. Click on Admin:


      2. Click on LaunchPoint:


      3. Click on New Service:


      4. Enter the New Service details:

      Display Name: Sendoso
      Service: Custom
      Description: Sendoso
      API Only User: select your own user*

      *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. To create a new API Only User, click here.


      5. After creating, click on View Details:


      6. After creating a new service Copy/Paste the Client ID and Client Secret into Sendoso:


      The Base URL can be found by clicking Admin > Web Services:


      8. Copy/Paste the REST API Endpoint URL (without the "/rest") into the Enter Base URL input box in Sendoso:


      *Note- yours will most likely be different than the URL above. 

The final steps are to input Client ID, Client Secret, and Base URL in the following step.


Step 1: Build the touch in Sendoso
Get started by creating your touch in Sendoso and copying the Touch ID (you’ll need this for the program in Marketo Engage)


Step 2: Create the custom fields in Marketo Engage
You may need to create new fields in Marketo Engage to hold personal address information. If you use your standard contact fields, you run the risk of overwriting that data when the recipient completes the form with their personal information. These are standard string fields. Add a field for Personal Address, Personal City, Personal State, Personal Zip Code, and Personal Country.


Step 3: Build a new webhook for Sendoso
In order to pull these new personal data fields when you trigger Sendoso in Marketo Engage, you will need to create a secondary webhook for Sendoso. This new webhook will have a payload template looking for these new fields.


Here is the updated Payload Template using those new fields:

  "lead_id": {{}},
  "email": {{lead.Email Address}},
  "name": {{lead.First Name}},
  "last_name": {{lead.Last Name}}, 
  "company_name": {{company.Company Name}},
"address": {{lead.personalAddress}},
  "city": {{lead.personalCity}},
  "state": {{lead.personalState}},
  "zip": {{lead.personalZip Code}},
  "country": {{lead.personalCountry}},
"mobile_no": {{lead.personalPhone}}
"uuid": {{lead.Sendoso Touch ID}},


Important: Don’t forget to set your custom headers for this new webhook - they’ll be the same as your original Sendoso webhook!

The following are steps that need to be completed:

Add a Custom Header to the Webhook that you just created.

Click on Webhook Actions


Click on "Add"

Enter in "content-type" in the Header

Enter in "application/json" in the value



Step 4: Build out your form and landing page in Marketo Engage
Once you’ve created the new fields and webhook, get to work on building your assets for this program: the form and the landing page. These can be as simple or complex as you’d like - just make sure you’re using those new personal fields!



Step 5: Build out your Smart List and Flow in Marketo Engage
The Sendoso webhook can be triggered in a variety of Marketo Engage program flows so this step is really up to you and your program needs. Here is an example of a basic trigger program where the webhook is triggered based on the recipient completing the form on the landing page:



Note: The ‘Sendoso Touch ID’ field will work for this trigger - no need to create a new one. Your Touch ID will be placed in the ‘New Value’ field.


Things to Consider with This Type of Program

Make your intention very clear: Messaging is very important to the recipient with this type of program. Some recipients may feel uncomfortable providing their personal address information. To ensure the most success and response for this program, make it clear to the recipient that you will not store their personal data after their gift has shipped/delivered.

Delete this data: Once the gift has been delivered, delete this data in Marketo Engage (and don’t have it pass over to Salesforce or any other integration). This creates trust with the recipient and ensures future sends don’t get sent to the wrong address.

Keep it going: You can replicate this strategy for a number of send types - eGift, physical, multiple choice, etc. - just by using the webhook trigger.



  • The following error(Server returned code 41) will occur if the custom headers for this new webhook are not set and they’ll be the same as your original Sendoso webhook. This error could also be caused by the webhook not being pasted correctly. For best results, copy the webhook listed on this article.


Was this article helpful?
2 out of 3 found this helpful



Article is closed for comments.