Skip to main content

Team Chat Bot Integration Recipes

This page is the "how do I wire this up" companion to the Team Chat Bots guide and the Team Chat message webhook reference — see those pages for the underlying API contract (authentication, request/response shapes, scopes). Here you'll find concrete recipes for sending Team Chat bot messages from Zapier, n8n, and Make.com, and for triggering a Zap / workflow / scenario when a new channel message is posted.

Every platform exposes the same two actions — send a channel message and send a direct message — with the same two building blocks:

  • Channel — identify the target channel by its UUID or by #name (e.g. #support or just support).
  • Attachments — attach media either by referencing a pre-uploaded attachment ID, or by pointing at a public URL that SendSeven fetches server-side. Both forms are supported on every platform; pick whichever is more convenient for the step before it in your flow.
  • Bot Name — an optional display name shown as the sender of the message in Team Chat. Leave it blank to use your integration's default bot identity.

Send a message to a team chat channel, or a direct message, as a bot

Zapier

Two actions are available: Send Team Chat Channel Message (send_team_chat_channel_message) and Send Team Chat Direct Message (send_team_chat_direct_message).

FieldNotes
Channel (channel action only)Channel UUID or #name, e.g. #support or a1b2c3d4-5678-…
Recipient User ID (direct message action only)The Team Chat user ID to DM. Plain text, not a dropdown.
Message TextThe message body
Bot NameOptional sender display name, e.g. Order Bot
Attachment IDA UUID from a prior Upload Attachment / Upload Attachment from URL step
Media URL / FilenameA public https:// URL SendSeven downloads server-side, with an optional filename

Fill in either Attachment ID or Media URL for a given attachment — not both. Two examples:

  • By ID: Attachment ID = a1b2c3d4-e5f6-7890-abcd-ef1234567890 (from an earlier Upload Attachment step's output).
  • By URL: Media URL = https://cdn.example.com/invoice.pdf, Filename = invoice.pdf.

n8n

The SendSeven node's Team Chat resource has two operations: Send Channel Message and Send Direct Message.

PropertyNotes
Channel (Send Channel Message)Channel UUID or #name
User ID (Send Direct Message)Plain string field — deliberately not a dropdown, so the DM action only needs the teamchat:write bot scope rather than a broader team-directory read scope
MessageThe message body
Bot NameOptional sender display name
Attachment IDsComma-separated list of pre-uploaded attachment UUIDs (e.g. from the Attachment → Upload or Upload from URL operations)
Media URLA public https:// URL to fetch server-side, with an optional Filename field

As with the other platforms, an attachment is either an ID or a URL, not both. Chain Attachment → Upload from URL into Team Chat → Send Channel Message with an expression like {{ $json.id }} in Attachment IDs for the ID form, or skip the upload step entirely and put the URL directly in Media URL for the URL form.

Make.com

Two modules, in the app's Team Chat group: Send a Team Chat Channel Message (sendTeamChatChannelMessage) and Send a Team Chat Direct Message (sendTeamChatDirectMessage).

FieldNotes
Channel (channel module only)Channel UUID or #name
User ID (direct message module only)The Team Chat user ID to DM
TextThe message body
Bot NameOptional sender display name
Attachment IDA UUID returned by Upload an attachment / Upload an attachment from a URL
Media URL / FilenameA public https:// URL, with an optional filename

Example — sending an invoice PDF you already have a public link for, with no upload step needed: set Media URL to https://cdn.example.com/invoice.pdf and Filename to invoice.pdf, and leave Attachment ID empty.

Trigger a Zap / workflow / scenario on a new channel message

Direct messages never trigger this event

The underlying event only fires for channel messages, from channels with bots enabled — it is never emitted for direct messages. There is no way to build a trigger that fires on "any Team Chat message including DMs," on any of the three platforms. The only filter available is a channel filter, not a channel-vs-DM filter, because DMs are simply invisible to this event.

The three platforms differ in how much filtering they let you do before your Zap/workflow/scenario runs — they are not uniform here.

Zapier

The New Team Chat Message trigger (team_chat_message_created) has a Channel Filter field: a channel UUID or #name. Leave it empty to fire on messages from every bot-enabled channel, or set it to scope the trigger to one channel. Direct messages never reach this trigger, filtered or not.

n8n

The SendSeven Trigger node's Team Chat Message Created event (team_chat.message.created) has a Channel Filter property, same semantics as Zapier's: a channel UUID or #name, or leave it empty for every bot-enabled channel. Direct messages never reach this trigger.

Make.com

There is no dedicated Team Chat trigger module, and no channel-filter field — this event is one of the options inside the generic Watch events instant webhook module (the same module used for message, contact, and conversation events elsewhere in this app). Select Team Chat Message Created in Events to watch, and the emitted bundle carries around 19 raw team_chat_* fields (channel, message, sender, and bot-identity data) for you to filter on downstream with Make's native Filter or Router modules. Direct messages never reach this event, filtered or not.

Example — scope a scenario to one channel:

  1. Watch events — select Team Chat Message Created.
  2. Filter (on the connection out of Watch events, or a Router if you need several channel-specific branches) — condition team_chat_channel_name Equal to support.
  3. Continue the scenario with whatever should happen for messages in #support — everything downstream only runs for that channel, and every other channel's messages are dropped at the filter.

Next steps