Skip to main content

Slack

Connect Slack, choose a channel, and send a response link with up to three explicitly selected answers.

The Slack integration posts a compact signal to one public or private channel when Fillo accepts a new or updated response. A Fillo workspace can keep several Slack accounts, each project explicitly selects one, and every enabled form pins that account plus its own channel.

Install Fillo for Slack

Choose Install Fillo for Slack. Sign in to Fillo if needed; the same link then continues into Slack's workspace consent screen. Approve the install, return to the form you want to configure, and open Settings → Response destinations → Slack.

Fillo requests permission to post notifications and list basic channel metadata for the picker. It does not request permission to read channel messages or files.

Message contents

By default, the message contains the form name, event time, a verified respondent label when available, and a link to the response in Fillo. A form manager can explicitly include up to three answer fields. Every other answer — and all file contents — stays out of Slack.

Fillo valueSlack output
New accepted response"New response" headline
Update-in-place response"Updated response" headline with update time
Verified respondent name or emailOptional From line
Up to three owner-selected fieldsLabel and formatted answer value
Response IDEncoded in the authenticated Fillo link, not printed as answer data

Slack renders the timestamp in each reader's own timezone.

Early signal

Slack can apply the same first-N window Discord uses: while a destination has delivered fewer than the first 5, 10, or 25 responses, its message carries every answered field instead of the three-field allowlist above, then the destination returns to the standing message on its own once the window closes. This is delivery-mode configuration on the destination, not a new scope, workspace permission, or connection step. The control for turning it on is rolling out per destination — until it reaches a given destination, every Slack message keeps following the standing rules above. See Discord's early signal for the full mechanics; both destinations share the same window logic.

Connect a channel

  1. Open the Fillo form's Settings → Response destinations.
  2. Choose Slack, then select an existing workspace-owned Slack account or choose Connect Slack.
  3. Approve the workspace install. Fillo caches public channels and private channels that already include @Fillo.
  4. Open Slack setup again, choose a channel, and select Use this channel.
  5. Choose Manage on the Slack row to allowlist up to three answer fields when needed.
  6. Submit a test response and open it from the Slack message.

Opening the setup dialog uses the cached list; it doesn't contact Slack. Use Refresh channels after a channel is created or renamed. For a private channel, invite @Fillo from inside that channel, return to Fillo, and refresh. Slack exposes basic metadata only for private channels the app has joined; the integration does not request private message history.

The advanced channel-ID control remains available for Slack Connect or a channel missing from a truncated cache. The app must still be a member of a private channel before it can post there.

Code-defined forms

The form structure can be synced from code, but the reusable Slack account, project selection, channel choice, and field allowlist are authenticated settings. Configure them in the dashboard rather than defineForm, browser-exposed environment variables, or custom field config.

Changing the account selected by a project does not silently move an existing form. Open that form's Slack destination and save it against the new account. Remove from project stops Slack destinations in that project while retaining the reusable credential for sibling projects.

Delivery behavior and limits

Slack messages are append-only: an updated response posts another message. Slack has provider-side rate and policy limits independent of Fillo. The integration is available on every Fillo plan.

Unlike Sheets and Notion, Slack doesn't provide this integration with a reliable way to ask whether a message already landed. If Slack accepts a request but Fillo doesn't record the success, a retry can post a duplicate message.

Troubleshooting FAQ

Why isn't a channel in the picker?

Use Refresh channels for a newly created or renamed public channel. For a private channel, invite @Fillo from inside the channel first, then refresh. Fillo cannot discover a private channel before Slack grants the bot membership.

Why does Fillo ask me to pick the channel again?

The form is pinned to a different Slack account than the project currently selects, or Slack no longer exposes that channel. Open the form destination, confirm the intended account, and pick a valid channel there. Failed deliveries remain available in Activity for replay after the repair.

Why is the respondent missing?

Slack shows identity only when your server verified it. An email typed into a form is answer data, not verified identity.

Can the message include answers?

Yes, but only through the explicit per-form allowlist under Manage, with a maximum of three fields. Links-only remains the default. Use Zapier or a signed webhook receiver when a reviewed workflow needs a larger or transformed payload.

Support

Installation, channel discovery, or delivery problem? Email support@fillo.so. Include the Fillo form URL, the approximate delivery time, and the error shown in Activity. Never send a Slack access token or respondent answer content by email.

This page for agents: /docs/integrations/slack.md · index at /llms.txt

Updated

Was this page helpful?