Draft then send
- The assistant drafts.
draft_messagewrites the draft into a conversation: a direct message, a group’s Main chat or a channel. The draft is not sent. The tool returns the draft, itsrevision, a plain textpreview, and instructions to show the draft to you and wait. - You see it in two places. The assistant shows you the draft. The draft also appears in your Workchats message box for that conversation, live on every device you are signed in on.
- You say yes. Only then does the assistant call
send_draftwith the draft’s id and therevisionyou approved. - Workchats sends it as you. The message goes through the same checks, delivery and notifications as a message you type.
send_draft,
because it is marked destructive. Still, read the draft before you approve
it.
If the draft changes
Each change to a draft raises itsrevision:
- the assistant drafts again to the same conversation, which replaces its earlier draft there
- you change the draft’s text in Workchats
send_draft with an older revision sends nothing. It returns the
draft_changed error with the new text and revision. The assistant must
show you the new text and ask again.
A repeated send_draft never sends twice. The second call gets
draft_not_pending.
What you can do with a draft in Workchats
The draft card is in Workchats Web. It is rolling out in the Mobile app.
Until your app has it, approve drafts in the assistant.
- Send it yourself. It is sent as a normal message from you, with no “via” label.
- Change it. The assistant must ask you again before it can send.
- Discard it. The assistant can no longer send it.
Rules
- One assistant connection has at most one pending draft in each conversation. A new draft there replaces it.
- A draft expires 24 hours after its last change. An expired draft can’t be sent.
- A draft is visible only to you. Another person never sees it, and another assistant connection can’t send it.
- The body is 1 to 4,000 characters. To mention someone, write
@and their full name in the body, and give theirusr_id inmentions. A mention of a person who is not in the conversation is dropped, andwarningssays so. reply_to_idmust be a message of the same conversation.todrafts a direct message to a person without a conversation id. It opens the direct message if it doesn’t exist yet.- Drafts count toward the limit of 30 drafts and sends an hour. See Limits.
- When a draft is sent, discarded or expires, Workchats erases its text. A sent draft lives on as its message.
The label on sent messages
A message that an assistant sent withsend_draft stores the assistant’s
name, for example “Claude”, “ChatGPT”, “Cursor” or “VS Code”, cut to 40
characters. Workchats shows it under the message as “via Claude”. A message
you type, and a draft you send yourself from Workchats, never carries it.
Tools return the label too: a message in read_conversation or a search
result has via_client, null for a message nobody sent through an
assistant.
The label shows in Workchats Web. It is rolling out in the Mobile app. It
is not yet in push notifications, chat list previews, search results in
the app, or reply previews.
Who decides
A company admin picks the label policy in the admin console:
The choice applies when the assistant sends the message. A message that is
already sent keeps the label it had.