Marketo Integration

  • Updated

This article outlines the steps to set up the Marketo integration with Postal.

 

Contents

  1. Create API-Only User
  2. Create a LaunchPoint Service
  3. Trigger Custom Field
  4. Channel Setup
  5. Custom Activity Setup
  6. Enable in Postal
  7. Webhook Setup
  8. Version History

 


Note: you will need Admin access in Postal and in Marketo + access to all Marketing Assets
 

 

Good to know!

  • Marketo does not proactively sync contacts, but rather a Do Nothing trigger needs to be created to pull in contacts.
  • Address verification occurs as contacts sync when there are multiple integrations with conflicting info
  • The Marketo integration will sync addresses by default unless you change your webhook to tell it not to
 

Step 1: Create API-Only User

Start in Marketo.
(You may not need to do this step if you already have an API user with proper access setup)

  1. In Marketo navigate to Admin > Security > Users & Roles > Roles > New Role
  2. Role Name: API User
  3. Selected permissions > Access API: Read-Only Campaign, Read-Only Assets, Read-Only Person, Read-Only Sales Person, Read-Write Activity, Read-Write Activity Metadata
  4. Click Create
  5. Next, invite the API User you have just created by navigating to Admin > Security > Users & Roles > Invite New User
  6. Provide basic API user details
  7. Select the API User role and click the API Only checkbox
  8. Click Send (it won't actually send an email invite)

 

Step 2: Create a LaunchPoint Service

  1. Admin > Integration > LaunchPoint > New
  2. Display name: Postal.io
  3. Service: Custom
  4. Description: Postal.io Integration
  5. Select the API Only user you created in Step 1
  6. Click Save > Once saved, click View Details on your newly created LaunchPoint service. You will need the Client Id value and the Client Secret which can be found in your newly created LaunchPoint Service, as well as the REST API Endpoint value which you can find in Integration > Web Services

IMPORTANT: To set up your Marketo integration in Postal.io you will need the Client Id value and the Client Secret which can be found in your newly created LaunchPoint Service, as well as the REST API Endpoint value which you can find in Integration > Web Services. (Example Value: https://777-DQO-478.mktorest.com/)

 

Note down the following information for Step 6:

  • Client ID
  • Client Secret
  • REST API Endpoint Value

 

Step 3: Trigger Custom Field

  1. From Admin, navigate to Database Management > Field Management > New Custom Field
  2. Enter the following:

Entry

Value

Object

Person

Type

String

Name

Postal Trigger ID

API Name

postalTriggerID


 

Step 4: Channel Setup

Creating this channel allows you to track the status of your sends.
  1. From Admin, navigate to Tags > New > New Channel > Channel: Postal Sends
  2. Enter the following:

Status

Step

Success

Opened

20

 

Accepted

30

 

Processing

40

 

Shipped

50

 

Delivery Error

60

 

Delivered

70

Yes

 

 

Step 5: Custom Activity Setup

The following Custom Activites live on the Person Object in Marketo.

From Admin, navigate to Database Management > Marketo Custom Activities > New Custom Activity. You will need to create 4 activities and 3 fields.

 

Important! After you create these custom activities, make sure to approve them from the Custom Activities Actions dropdown menu.


Activities

Display Name

API Name

Filter

Trigger

Postal.io Opened Email

postal.IoOpenedEmail_c

Opened Email

Opens Email

Postal.io Accepted Item

postal.IoAcceptedItem_c

Accepted Item

Accepts Item

Postal.io Item Delivered

postal.IoItemDelivered_c

Item Delivered

Item Delivery

Postal.io Delivery Failed

postal.IoDeliveryFailed_c

Delivery Failed

Delivery Failure


Fields

Data Type

Name

API Name

String*

Item Name

itemName

Currency

Cost

cost

String

Program ID

programID

*Check the Primary Field Box when creating this Field


Step 6: Enable the Marketo Integration in Postal

Have the following from Step 2 available

  • Client ID
  • Client Secret
  • REST API Endpoint Value

Navigate to Postal > Profile > Integrations > Connect to Marketo.


 

Step 7: Webhook Setup

From Admin navigate to Integration > Webhooks > New Webhook

  • Name: Postal.io Trigger
  • Description: Postal.io Item Trigger
  • URL: (get this value from your Postal.io Integration - Marketo page)
  • Request Type: POST
  • Request Token Encoding: JSON
  • Response type: JSON

Template:

Note: when copying the below template an extra space after the bracket "{" may be added. Please check that no extra space is present once you have pasted this into the new webhook.

 

{
  "id": {{lead.ID}},
  "email": {{lead.Email Address}},
  "title": {{lead.Job Title}},
  "firstName": {{lead.First Name}},
  "lastName": {{lead.Last Name}},
  "externalSalesPersonId": {{lead.Lead Owner Email Address}},
  "companyName": {{company.Company Name}},
  "address": {{lead.Address}},
  "city": {{lead.City}},
  "state": {{lead.State}},
  "postalCode": {{lead.Postal Code}},
  "country": {{lead.Country}},
  "phone": {{lead.Phone Number}},
  "triggerId": {{lead.Postal Trigger ID}},
  "ownerId": {{lead.Lead Owner Email Address}},
  "ownerIdSystem": "postal.io"
}


If you want to force Postal to use the address in your trigger, add a field after

"country": {{lead.Country}},

That is

"preferred": true,

 

NOTE: The Marketo integration runs every 15 minutes, so if you don't see your information in Postal right away, don't panic! Give it 15 minutes and refresh the page.

 

Was this article helpful?

0 out of 0 found this helpful