View as Markdown
Slack icon

Slack ACTION

Send Message to Channel

Send a message to a public or private channel. Legacy, channel-only variant — prefer Post Message for new integrations: it covers channels, users, and groups from a single tool, and also supports threaded replies and unfurl settings. Use this tool only if a workflow specifically needs to target a channel exclusively, without the user/group support Post Message offers. See the documentation
  • Action
  • Writes data
  • OAuth
  • SDK
  • MCP

IMPLEMENTATION

Call this tool

Connect a user's Slack account once, then configure and run Send Message to Channel from your backend or agent.

import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "slack_v2-send-message-to-channel",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    slack_v2: { authProvisionId: "apn_xxxxxxx" },
    conversation: "Channel",
    text: "Text",
  },
})

console.log(result)

SCHEMA

Inputs

Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.

Send Message to Channel inputs
Property Type Description
conversation Channel string
A public or private channel ID (e.g. C1234567890). Use List Channels to find valid IDs.
Required
text Text string
Text of the message to send (see Slack's formatting docs). This field is usually necessary, unless you're providing only attachments instead. To mention a user, use <@U123> with their user ID. Do NOT append a display name after a pipe: Slack renders <@U123|Name> as literal text, not a mention.
Required
mrkdwn Send text as Slack mrkdwn boolean
true by default. Pass false to disable Slack markup parsing. See docs here
Optional
as_user Send as User boolean
Optionally pass true to post the message as the authenticated user, instead of as a bot. Defaults to false.
Optional
addToChannel Add app to channel automatically? boolean
If true, the app will be added to the specified non-DM channel(s) automatically. If false, you must add the app to the channel manually to post to a private channel as a bot. Defaults to false.
Required
post_at Schedule message string
Messages can only be scheduled up to 120 days in advance, and cannot be scheduled for the past. The datetime should be in ISO 8601 format. (Example: 2014-01-01T00:00:00Z)
Optional
include_sent_via_pipedream_flag Include link to Pipedream boolean
Defaults to true, includes a link to Pipedream at the end of your Slack message.
Optional
username Bot Username string
Optionally customize your bot's user name (default is Pipedream). Must be used in conjunction with Send as User set to false, otherwise ignored.
Optional
icon_emoji Icon (emoji) string
Optionally provide an emoji to use as the icon for this message, wrapped in colons. E.g., :fire:. Overrides icon_url. Must be used in conjunction with Send as User set to false, otherwise ignored. Use List Icon (emoji) Options to look up valid emoji names for this workspace, including custom emoji.
Optional
icon_url Icon (image URL) string
Optionally provide an image URL to use as the icon for this message. Must be used in conjunction with Send as User set to false, otherwise ignored.
Optional
thread_ts Message Timestamp string
Provide another message's ts value to make this message a reply (e.g., if triggering on new Slack messages, enter {{event.ts}}). Avoid using a reply's ts value; use its parent instead. e.g. 1403051575.000407.
Optional
thread_broadcast Send Channel Message boolean
If true, posts in the thread and channel. Used in conjunction with Message Timestamp and indicates whether reply should be made visible to everyone in the channel. Defaults to false.
Optional
metadata_event_type Metadata Event Type string
The name of the metadata event. Example: task_created
Optional
metadata_event_payload Metadata Event Payload string
The payload of the metadata event. Must be a JSON string. Example: { "id": "11223", "title": "Redesign Homepage"}
Optional
unfurl_links Unfurl Links boolean
Default to false. Pass true to enable unfurling of links.
Optional
unfurl_media Unfurl Media boolean
Defaults to false. Pass true to enable unfurling of media content.
Optional

REFERENCE

Tool details

Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.

Registry key
slack_v2-send-message-to-channel
Version
0.2.4
App
Slack
Authentication
OAuth
Read-only
No
Destructive
No
Open world
Yes