Endpoints
Parameters and full schemas: Unified API reference. Which chat providers support which endpoints: bundleup.io/integrations.
Example: let a customer pick a channel, then post to it
Response shapes
Users and channels:{ id, name }.
Messages:
thread_id is the ID of the message this one replies to, or null for a top-level message.
Sending a message: the body is { "text": "..." }, written in Markdown. The response’s data is the provider’s own response to the send, since providers return very different things here.
Provider differences
- Author names. Some providers return only a user ID on a message. On Slack,
author.nameisnull; look the ID up inGET /v1/chat/usersif you need the name. - Formatting. Message text is sent as Markdown. Providers render Markdown slightly differently. For rich layouts (Slack blocks, Discord embeds), use the Proxy.
- Bot vs user tokens. What a connection can see and post depends on the integration’s scopes and whether it’s installed as a bot. A channel missing from the list usually means the bot isn’t a member.

