Configuring a Slack app for use with Marketo

Part 3 in a series about integrating Marketo with Slack.

Part 1: Basic Marketo & Slack integration using Incoming Webhooks
Part 2: Posting via Marketo using the Slack API vs Incoming Webhooks
Part 4: Structuring Marketo webhooks to post via Slack API
Part 5: Sending data back to Marketo from Slack

Creating the app in Slack

To get started with the Slack API, you are going to need to create your own app in your Slack workspace. You can create your own at https://api.slack.com/apps. Once logged in you can create an app, give it a name and choose the workspace that applies.

Adding features and functionality

Once created you, you will be able to access your app and configure and add features to your app:

Incoming Webhooks

This has been covered in an earlier post – offers similar functionality to setting up a custom integration for incoming webhooks, it won’t be needed for this use case.

Interactive Components

This was covered in an earlier post. Interactive components give your app the possibility to add buttons, menus and actions to post data to another point.

Unless you have an endpoint server-side for posting data to, I would recommend using a third-party integration tool like Integromat for this use case. All that’s needed was to create a scenario with a Webhook to receive data from. 

The Request URL needs to be added to Slack in the settings for the Interactive Components functionality to be turned on:

Slash Commands

Slack commands like /giphywill run a request with any word connected to it. An example for this could be a GET request to query the Marketo REST API for a specific email address. For data security you can constrain requests to only be available for specific user IDs.

Event Subscriptions

This functionality would allow your app to monitor mentions of certain keywords to interact with. Definitely useful with a specific use case in mind.

Bot Users

I would personally rank bot users being a must-have because they allow the app to post to Slack as a “normal user”.

Permissions

Permissions will be needed to authorize the posts / actions from bot users from third parties using a Bearer token.

Authorization and Slack channel setup

As previously mentioned, you will need to set up permissions to have security credentials to post to Slack.

Authorization header for bot actions via API

Once creating a bot user and inviting them to the channel they should post to, the OAuth Access Token will need to be copied to be added to Marketo webhooks posting to the Slack API.