Basic Marketo & Slack integration using Incoming Webhooks

This is part 1 in a series of integrating Marketo with Slack.

Part 2: Posting via Marketo using the Slack API vs Incoming Webhooks
Part 3: Configuring a Slack app for use with Marketo
Part 4: Structuring Marketo webhooks to post via Slack API
Part 5: Sending data back to Marketo from Slack

Marketing these days takes into account a whole range of interactions. Marketo has a great feature for sending out alert emails internally when leads reach certain milestones, e.g. becoming a Marketing Qualified Lead or filling out a contact form. Despite this ease of use, there comes a point when inboxes get flooded and emails get ignored.

For those using Slack, it is a daily go-to for company conversation. The ease of use of a chat interface along with channels for grouping discussions by category, project or team allows for cutting through the chatter when necessary and focusing on what’s important.

So why limit marketing notifications to the ever-growing email inbox?

Enter Marketo insights for Slack (The Basics)

I’m sure we all use some nifty tool that allows us to easily install a Slack app to notify specific channels of new updates. These updates allow us to tag and chat with colleagues directly on the topics without leaving Slack.

Getting to the bare minimum basics of how we push relevant alerts to Slack from Marketo without needing a specific third-party tool or direct integration to be built:


Webhooks are, put simply, user-defined HTTP callbacks that allow you to send an HTTP request to a defined URL. Marketo has a webhook feature that allows for you to create a request to use in flow steps and Slack has a feature called Incoming Webhooks for setting up a URL to post to.

Linking these together is quite simple and detailed quite a while ago on the Marketo developers blog

Setting up Marketo webhooks for Slack

1. Install Incoming Webhooks in your Slack instance

To get started, if you do not have Incoming Webhooks added as an app it can be installed via the Slack apps directory.

2. Add configuration for a new webhook

The only thing you need to configure is the Slack channel this webhook will be posting to. Other customizations include setting a name for it (default is incoming-webhook) and an image or emoji. 

Choosing the channel to post to

When choosing a channel, I would recommend separating the alerts into an own channel in the same way you would create a new Slack channel for a team or project.

A preview of the finalized Webhook message

Once saved, you’re ready to configure everything on the Marketo end! Slack has created a custom “” link that you can post data to and it knows where the messages should be sent based on your webhooks settings.

3. Creating your webhook in Marketo

Now that you have the incoming webhook added to Slack, we just need to set up what Marketo should send over.

In the Marketo Admin area, you just need to head over to the Webhooks settings to create a new one.

To start, this is a very simple post for content downloads to post to a channel every time somebody downloads a piece of content.

Example of simple Slack webhook setup

As an example, below is one containing a parameter for username and icon_url which will adjust the username/title of the post and the image/avatar respectively.

The only thing Slack will actually need is a payload containing a text parameter in JSON formatting. This is very basic formatting containing the:

  • Marketo full name field (First + Last)
  • Company name
  • Email address
  • Inferred Country system field

Titles are made bold with standard Slack message formatting (*bold* = bold) and line breaks are used with backslash + n = \n

In the example below, these are the flow steps used once a content download is triggered.  Last Downloaded Content is updated with the content name and the webhook is then called.

This is purely an example of a simple use case and the content name could also be defined on the program level using a {{my.Content Name}} token (My Token).

When Slack receives this, it translates to a simple message:

Slack message in #marketing-insights after pushing webhook

The title (previously Marketing Insights) has been changed to “Downloaded Content Name” (since the content’s name originally enough was Content Name) and the titles of the fields are bolded, along with IP Location being added to the next row.

That is all you need to get started! There are more use cases for this simple setup, including:

  • Trial sign-ups
  • Newsletter subscriptions
  • Contact form fillouts

Leave a Reply

Your email address will not be published. Required fields are marked *