Marketo: Automating Challenge Completions using a Marketo Form

Requirements: Marketo, Influitive API stage, Influitive API token

Do you have a challenge which asks advocates to fill out a form or sign up for an event using a form? You're likely manually confirming registration and approving submissions. Using a Marketo API webhook and an AdvocateHub API stage, you can automate this confirmation.

Part I: In AdvocateHub

Step 1: Create a Custom Event Type in your Hub

Please read this article to do so:  API: Setting up Custom Event Types. We've called our event type marketo_form, but you should use a naming convention which makes the most sense to your use case.

This Custom Event Type can be used for completing challenges, awarding badges, etc. It should be specific enough to describe the  type of action being completed, but can be general enough to be used in multiple situations / challenges.

Step 2: Create a challenge with an API stage

i. Create a new challenge from scratch and give it a name, headline, banner image (optional), and challenge description.

Important: Provide a link to the Marketo form in your challenge description. Make it clear to advocates that they must sign up using the same email address as the one they use in your Hub.

You can use markdown code to insert your link. For example:

## [Sign up now!](

ii. Choose the API Stage from the Administrator Actions section.

a. In the  Stage Description section, give a brief explanation of what happens next. 

b. In the  Allowed Event Type field, choose the Custom Event Type which you created above (e.g. Marketo Form)

c. Fill out the  API Code. This must be unique and is for exclusive use on this stage of this individual challenge. In the API call, this is referred to as the stage[code]. Here we'll use advocamp_registration as this stage is meant to award points for people who sign up for Advocamp.

iii. Target your challenge and then  Save it.

Part II: In Marketo

Step 1: Create a new Program

Create it in the appropriate Campaign Folder. We'll call ours "Advocamp 2017 Registrations"

Step 2: Create a New Local Asset and choose "Form" 

As we will identify advocates by email address, ensure that you have included at least this field.

Step 3: Create a new Smart Campaign in the same Program.

a. Click on the  Smart List tab

b. Search and choose the trigger, Fills Out Form and drag it to the left area.

c. Choose your the form you created above.

Step 4: Create a Webhook

a. Click on the "Admin" link on the top of the Marketo application

b. Go to  Integrations > Webhooks

c. Click on  New Webhook

d. Fill out the pop up in the following way:

Webhook Name: You may choose any relevant name

Description: Enter a relevant description


Request Type: POST



  • "type" is the Custom Event Type (e.g. marketo_form)
  • {{lead. Email Address}} - This is the Marketo email address token
  • "stage": { "code" } is the unique stage API Code created above

Request Token Encoding: JSON

Response Type: JSON

e. Save your webhook and click on  Webhook Actions, and choose Set Custom Header

f. Add 3 headers

Header Value



Accept application/vnd.infl-v3+json
Content-Type application/json

g. Save the Custom Header.

Step 5: Add your Webhook to the Smart Campaign "Flow"

a. Return to the Smart Campaign you configured earlier
b. Click on the  Flow tab
c. Search for and add the  Call Webhook action
d. Choose the Webhook you just created.

e. Click on the  Schedule tab and click the Activate button to activate your campaign.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us