ACTION_ID: slack_send_message NAME: Slack: Send a message CATEGORY: Integration CREDITS: 0 Send a Slack message. ================================================================================ PREREQUISITE — USER ACTION REQUIRED ================================================================================ This action only works if the user has connected their Slack workspace in Floqer. The connection cannot be made via the API or by an AI agent. The user must do this themselves before this action will run: 1. Sign in to Floqer at https://app.floqer.com 2. Open the Connections page from the sidebar 3. Click Slack and complete the OAuth flow If the user has not connected Slack, this action will fail with a connection / authentication error. Before configuring or running this action, confirm with the user that the Slack connection exists. INDEX: 1. Inputs 2. Outputs 3. How to configure 4. Where it fits in a workflow 5. When to use 6. When not to use ================================================================================ 1. INPUTS ================================================================================ select_slack_channel (string, required) Select Slack channel. The id of the channel to post the message in. Must be a valid channel id from the user's connected Slack workspace — the user picks this from a dropdown of their channels when configuring the action in the UI. message (string, optional) Message. The text body of the Slack message. Most commonly an {{llm_models_*.generated_content}} reference so the message is a per-row summary or notification generated upstream by an LLM. form_data (raw_array, optional) Form Data. Structured key/value rows rendered as a Slack message block (e.g. Company -> Floqer, Owner -> Jane). Use this when you want a clean tabular layout instead of, or alongside, free-form message text. ================================================================================ 2. OUTPUTS ================================================================================ status (string) — Status. Status/Response of the request. Placeholder: "completed". channel (string) — Channel. Slack channel ID where the message was posted. Placeholder: "C12345678". message_timestamp (string) — Message Timestamp. Placeholder: "1698071045.123456". message_text (string) — Message Text. Placeholder: "Hello world!". bot_name (string) — Bot Name. Placeholder: "MySlackBot". ================================================================================ 3. HOW TO CONFIGURE ================================================================================ Resolve the channel list via Get Action Field Options: POST /api/v1/workflows/{workflow_id}/sheets/{sheet_id}/actions/{action_instance_id}/options/select_slack_channel (body: {}) → returns the user's Slack channels with `value` = channel ID (e.g. `C072REW4K2R`) and `label` = channel name. Configure Action body: { "inputs": { "select_slack_channel": "C072REW4K2R", "message": "{{llm_models_1.generated_content}}", "form_data": [ { "name": "Company", "value": "{{input.company_name}}" }, { "name": "Owner", "value": "{{input.owner_name}}" } ] } } Field-by-field: - select_slack_channel Slack channel ID from the `select_slack_channel` options call. - message Free-form text. Usually an `{{llm_models_*.generated_content}}` reference for a per-row generated summary; a literal string works too. - form_data Optional `[{name, value}]` rows rendered as a structured Slack block (key → value). Use alongside or instead of `message`. ================================================================================ 4. WHERE IT FITS IN A WORKFLOW ================================================================================ UPSTREAM — how the message text reaches this action Typically the message body is generated by an upstream llm_models action whose prompt formats the upstream data into the exact Slack notification text. The exact upstream actions depend on the user's workflow, but the minimum useful pattern is: (e.g. get_fireflies_meeting_transcription for a call-summary alert, or any enrichment / scoring action) -> llm_models (format the data into the Slack message text) -> THIS ACTION THIS ACTION Posts the message to the selected Slack channel. The team / rep receives a notification in Slack with the LLM-generated summary or alert content. This is typically a terminal action — once the Slack notification is posted, the branch of the workflow ends. ================================================================================ 5. WHEN TO USE ================================================================================ - Send AI-summarized call insights to a Slack channel right after a meeting (chained from get_fireflies_meeting_transcription via llm_models). The team gets notified with key discussion points, action items, and next steps. - Send hot-lead alerts when enrichment + scoring identifies a high-value prospect, so the rep is notified immediately. - Send workflow status or completion notifications (e.g. "X leads enrolled in campaign Y", "scrape job finished, Z rows updated"). ================================================================================ 6. WHEN NOT TO USE ================================================================================ - Do NOT use this action to fetch / read data from Slack. This action only sends messages to Slack — it cannot list channels, read message history, fetch users, or pull any data out of Slack. If the user needs to read from Slack, this is the wrong action. ================================================================================ This file is maintained manually. Last updated: 2026-04-28. Full interactive reference: https://floqer.com/docs/reference Action catalog: https://floqer.com/docs/action-catalog.txt