Slack Integration Pro

The Slack API integration allows you to map Freeform submission data off to Slack and post that data into a conversation or channel, etc. These are created using Slack Webhooks and Apps, and you can setup as many as you like.

Slack Webhook Integration

Setup Instructions

  1. Create a new Slack app:
    • Go to the Slack App website and create a new app.
    • Click the Create New App button and fill out the App Name and choose your Slack Workspace and click the Create App button. Slack App creation
    • Then click on the Incoming Webhooks area of the page.
    • On the next page, enable the toggle near the top beside Activate Incoming Webhooks title. You'll then see a new section appear below titled Webhook URLs for Your Workspace.
    • Click on the Add New Webhook to Workspace button near the bottom.
    • On the next page, choose which channel or conversation the submissions should be posted to, and then click Install. Slack App creation
    • Finally, you'll be taken to a new page (under Incoming Webhooks) where you can copy the Webhook URL.
    • Copy that Webhook URL and save it to your clipboard (e.g. https://hooks.slack.com/services/GDF765GF7/56DG98GDF/GFSAD675F8DFG7854D4FDF6F). Slack App creation
  2. Setup Integration on your site:
    • Go to the Slack section in Freeform Settings (Freeform > Settings > Slack)
    • Click the New Slack Webhook at the top right.
    • Enter a name for the Webhook Name field.
    • Paste the Slack Webhook URL you copied earlier into the Webhook URL field.
    • For the Message field, enter what you want your content to look like for Slack. You can use Slack markdown here. See example code below...
    • Select the form(s) you want this Webhook to apply to in the Forms field.
    • At the top right corner of Freeform page, click Save button. Slack Webhook setup inside Freeform
  3. Verify the Webhook:
    • Try submitting one of your forms that use this webhook, and check if Freeform posts successfully to it!

Example Slack Message

Submitted on: _{{ submission.dateCreated|date('l, F j, Y \\a\\t g:ia') }}_
Form: *{{ form.name }}*

{% for field in submission.fieldMetadata %}
• {{ field.label }}: {{ field.valueAsString }}
{% endfor %}
1
2
3
4
5
6
Last Updated: 6/11/2019, 1:03:37 AM