Portal Community
Underlying API: chat.* and search.* Slack Web API methods.

send

Posts a message via chat.postMessage (or chat.postEphemeral when ephemeral is set).

FieldRequiredNotes
channelYesChannel ID (C1234567890), name (#general), or DM user ID (U1234567890).
textYesSupports Slack mrkdwn: *bold*, _italic_, ~strike~, `code`, >blockquote, <URL|label>.
threadTsNoPosts as a threaded reply when set.
usernameNoOverride the bot's display name for this message.
iconEmojiNoOverride the bot's icon with a Slack emoji (e.g. :wave:). Requires chat:write.customize.
blocksJsonNoBlock Kit blocks as a raw JSON array string; must be a JSON array where every block has a type property. text acts as the fallback.
ephemeralNoWhen true, sends via chat.postEphemeral instead — visible only to targetUserId. Ephemeral messages cannot be updated, deleted, or retrieved from history.
targetUserIdConditionalRequired when ephemeral is true.
incomingText, conversationIdNoPass-through fields propagated to downstream nodes (useful when this node follows an upstream Slack event trigger).

Output: messageSent, channel, messageTs, threadTs, status, payload (raw Slack response).

sendAndWait Partial

Sends the message via chat.postMessage successfully, but then returns a NodeExecutionResult error (ENGINE_NOT_SUPPORTED) instead of suspending the workflow — workflow suspension requires ProcessEngine infrastructure that doesn't exist yet (tracked as ISSUE-04). See Roadmap.
FieldRequiredNotes
channelYesDestination channel ID.
textYesMessage text sent before waiting.
threadTs, blocksJsonNoSame semantics as send.
timeoutSecondsNoMaximum wait before timing out. 0 or negative means wait indefinitely (engine default).
conversationIdNoWorkflow-level conversation identifier propagated downstream.

sendEphemeral

Posts a message visible to a single user only, via chat.postEphemeral.

FieldRequiredNotes
channelYesChannel the ephemeral message appears in.
targetUserIdYesThe user who will see the message.
textYesMessage text.
threadTs, blocksJson, conversationIdNoSame semantics as send.

update

Edits an existing message via chat.update. At least one of text or blocksJson must be provided.

FieldRequiredNotes
channelYesChannel containing the message.
messageTsYesTimestamp identifying the message to edit.
text, blocksJsonAt least oneNew content for the message.

delete

Deletes a message via chat.delete. Requires channel and messageTs.

getPermalink

Returns a shareable link to a message via chat.getPermalink. Requires channel and messageTs.

search

Requires a user-level OAuth token (xoxp-...) with the search:read scope — bot tokens cannot call search.messages.
FieldRequiredDefaultNotes
queryYesSearch query, supports Slack search modifiers (from:, in:, before:, etc.).
sortNoSlack default (score)Sort field.
sortDirNoSlack defaultSort direction.
returnAllNotruePaginate through all result pages.
countNo20Results per page.
pageNo1Starting page number.