send_group_message
Send an encrypted text message to a Signal group, with optional @mentions and quotes. Returns a timestamp for reactions or edits.
Instructions
Send a text message to a Signal group. The message is delivered end-to-end encrypted to all group members. Returns the sent timestamp, which can be used as target_timestamp for react_to_message or edit_message. To @mention a member, include their name in the message text and pass a mentions list where each entry has start (character index of the mention in the text), length (character count), and author (E.164 phone number). start/length are UTF-16 code units, not Unicode codepoints — an emoji before the mention shifts the offset by 2, not 1. To reply/quote a message, provide quote_author (sender's phone number) and quote_timestamp (from get_conversation). Use list_groups to get group_id values. Use send_group_attachment to send files or images to a group. Do NOT use for direct messages to a contact — use send_message instead.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | Message text to send | |
| group_id | Yes | Group ID (from list_groups) | |
| mentions | No | List of @mentions. Each item: {start: offset of the mention in the message (UTF-16 code units, not codepoints), length: mention length (UTF-16 code units), author: E.164 phone number of the mentioned member}. Example: message='Hello @Alice', mentions=[{start:6,length:6,author:'+1234567890'}] | |
| quote_author | No | Phone number (E.164) of the author of the message being quoted | |
| quote_timestamp | No | Timestamp of the quoted message (from get_conversation) |