# Slack integration

> Post every form submission to a Slack channel. Permissions, public and private channels, and what each message contains.

The Slack integration posts each new submission as a message in the channel you pick. Ikiform installs as a bot in your Slack workspace, and each form can post to its own channel.

## Connect Slack

1. In the dashboard, open **Integrations** in the sidebar.
2. Open Slack and choose **Connect Slack**.
3. Approve the Ikiform app in Slack. You come back to the dashboard when it's done.

You can also start from a form: adding Slack to a form that has no connection yet runs the same flow and brings you back to the form. One connection serves every form in the Ikiform workspace. See [Connect an app](https://ikiform.com/docs/integrations.md#connect).

## Permissions

Ikiform asks for these permissions, and uses them only to list channels and post submissions:

| Scope | Used to |
| --- | --- |
| `chat:write` | Post messages as Ikiform |
| `chat:write.public` | Post to public channels without being invited first |
| `channels:read` | List public channels so you can pick one |
| `groups:read` | List the private channels Ikiform has been added to |
| `team:read` | Name the connection after your workspace |

## Public and private channels

Every public channel shows up in the channel list, and Ikiform can post there without an invite. A private channel shows up only after you add the Ikiform app to that channel in Slack, then reopen the list in Ikiform. Archived channels are never listed.

## The message

- The first line reads **New submission to** and the form name.
- Each field follows with its label in bold and the value underneath. Up to 40 fields are shown; with more, the message says how many more are in Ikiform.
- The last line has the time of the submission and a **View in Ikiform** link to it.
- Labels come from the field names, so `first_name` becomes **First name**. Fields whose names start with `_`, such as `_gotcha`, are left out. Empty values show as `(empty)`, and very long values are cut short.
- `@here`, `@channel` and `@everyone` in submitted text are shown as plain text and never notify anyone. Link previews are turned off.

## When it stops posting

- If Ikiform was removed from the workspace, the card says **Needs reconnecting**. Choose **Reconnect**.
- If the channel was deleted or archived, or the bot lost access to it, choose **Choose another channel**. Ikiform offers to replay the runs that failed in the last 7 days.

## Disconnect

Open Slack under **Integrations** and choose **Disconnect** on the connection. Ikiform's access to your workspace is revoked, and every form that used it stops posting there.

## Activity, retries and roles

Runs, retries, **Replay failed**, pausing and who can manage integrations work the same for every app. See [Activity and retries](https://ikiform.com/docs/integrations.md#activity), [Pause and resume](https://ikiform.com/docs/integrations.md#pause) and [Who can manage integrations](https://ikiform.com/docs/integrations.md#roles).

## Step-by-step guide

- [Send form submissions to Slack](https://ikiform.com/blog/form-submissions-to-slack.md): Connect your workspace, pick a channel, and check the first message.
