← All platforms

Messaging

Slack

target_app: "slack" · endpoint /v1/messaging/execute · Bring your own credentials

Setup

Create an app at api.slack.com/apps, add Bot Token Scopes (chat:write, channels:history), install to your workspace, copy the Bot User OAuth Token (starts xoxb-), and invite the bot to the channel with /invite @YourBot.

Credentials needed on your Connections page

bot_tokenBot Token. Find it: Slack App → OAuth & Permissions → Bot User OAuth Token

Actions

send_text

Send a plain text message.

Request body:

{
  "user_id": "...",
  "action": "send_text",
  "payload": { "text": "Hello!" },
  "target_app": "slack"
}

provider_response.result shape:

{ "ok": true, "ts": "1234567890.123456", "channel": "..." }

update_message

Edit a previously sent message (needs its ts).

Request body:

{
  "user_id": "...",
  "action": "update_message",
  "payload": { "ts": "1234567890.123456", "text": "Updated" },
  "target_app": "slack"
}

provider_response.result shape:

{ "ok": true, "ts": "..." }

delete_message

Delete a message (needs its ts).

Request body:

{
  "user_id": "...",
  "action": "delete_message",
  "payload": { "ts": "1234567890.123456" },
  "target_app": "slack"
}

provider_response.result shape:

{ "ok": true }

send_blocks

Send a rich Block Kit message.

Request body:

{
  "user_id": "...",
  "action": "send_blocks",
  "payload": { "blocks": [{"type":"section","text":{"type":"mrkdwn","text":"*Bold*"}}], "fallbackText": "Bold" },
  "target_app": "slack"
}

provider_response.result shape:

{ "ok": true, "ts": "..." }

get_history

Fetch recent messages in a channel.

Request body:

{
  "user_id": "...",
  "action": "get_history",
  "payload": { "limit": 10 },
  "target_app": "slack"
}

provider_response.result shape:

{ "ok": true, "messages": [...] }

Anticipated errors & fixes

"not_in_channel"

Cause: The bot hasn't been added to the channel it's trying to post in.

Fix: In Slack, type /invite @YourBotName in that channel.

"invalid_auth" or "token_revoked"

Cause: Bot token is wrong, expired, or the app was reinstalled (which issues a new token).

Fix: Get the current Bot User OAuth Token from Slack App settings and update your Connections page.

"channel_not_found"

Cause: user_id (channel ID) is wrong.

Fix: Right-click the channel → View channel details → copy the ID at the bottom.

401 "Unauthorized: Invalid API key."

Cause: Your eConnect Authorization header is missing, malformed, or the key was regenerated/revoked.

Fix: Copy your api_key fresh from the eConnect dashboard and confirm the header reads exactly "Authorization: Bearer <key>".

429 "Too many requests"

Cause: You've exceeded your plan's per-minute rate limit.

Fix: Wait a minute and retry, or upgrade your plan for a higher per-minute limit.

429 "Monthly API limit exceeded"

Cause: You've used your plan's full monthly request allowance.

Fix: Wait for your next billing cycle reset, or upgrade to a plan with a higher monthly limit.

← Back to all platforms