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
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.