Skip to content

Chat delivery

Chat delivery posts and receives Messages in connected chat workspaces, carries buttons and forms, and links each chat account to a Worker or Contact.

Contract

A Startup, a Human or a Customer connects a workspace as an Integration with Integration.connect. Each connected chat channel is a Channel, and its Messages keep one id in db.sb. The copy in the workspace is an alias of that id.

GuaranteeDetail
RecordsA Message posts through Message.create and lands in its Thread
ImportOnly what becomes a record imports: Messages addressed to a Worker, mentions, Approval answers and Conversation turns; no history backfill
TrainingNothing read from a workspace trains a model
Buttons and formsA message carries buttons and a form; a press runs as an Action via: chat
AcknowledgementEvery inbound event is acknowledged within 3 seconds and runs as an Action; a retry with the same upstream id runs once
IdentityAn unlinked chat account can read and reply, but cannot call a Verb or answer through Approval.approve
ChecksGuards, Consent and send-rate Limits run before every post, as for email
Posting as an agentAn Agent posts under its own name, labeled as an Agent, and as a Human only under that Human's Mandate
EscalationA notice unanswered in chat moves to push, then to SMS
FailuresA post refused for rate, a revoked token and a removed Channel each return their own error and next step

The Chat app Interface builds on this capability.

Verbs

VerbObjectEvent
Message.createMessageMessage.created
Channel.createChannelChannel.created
Thread.createThreadThread.created

Interfaces

Example

patentpad.com connects its team's Slack workspace. A refund over its Limit posts an Approval with two buttons to the finance channel, and a linked Human presses Approve. The post updates in place for everyone, and the refund runs.