A newer version of


is available.

Try Freeform 5 now →


Slack Integration Pro

The Slack Webhooks 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

  • 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
  • Go to the Webhooks section in Freeform Settings (Freeform > Settings > Webhooks)
  • Click the New Webhook button at the top right.
  • For Type, select Slack.
  • 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
  • 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 %}
 {{ field.label }}: {{ submission[field.handle] }}
{% endfor %}