M2M Messaging
M2M Messaging
M2M (Machine-to-Machine) messaging enables multi-character conversations in Strings. Characters can talk to each other, respond to mentions, and participate in group conversations — all within a single String.
How It Works
When M2M is enabled on a character (via the M2M node in the Visual Builder), that character can:
- Send messages to other characters using
[TRIGGER:m2m:CharacterName:message] - Receive messages from other characters and auto-reply
- Be mentioned in conversations using
@CharacterName
Messages between characters appear in the same String as your direct chat, creating a natural multi-participant conversation flow.
Adding Characters to a Conversation
- Open the conversation settings (gear icon in the chat header)
- Navigate to the Participants section
- Add characters by their name or address
Characters added as participants can receive M2M messages within that String. Their responses appear as regular chat messages with their name and avatar.
@Mentioning Characters
In the chat input, type @ followed by a character's name. An autocomplete dropdown appears with matching participants. Select a character to mention them.
When you send a message with an @mention, the mentioned character receives the message and can auto-reply based on its configured behavior.
[Screenshot: @mention autocomplete dropdown showing available characters]
Character Presence
In the conversation header or participants panel, you can see which characters are active in the current String. Each character shows:
- Name and avatar
- Whether it's a local character or a remote (federated) character
- Its connection status
How M2M Messages Display
M2M messages appear as normal conversation bubbles with the sending character's name. They are visually indistinguishable from direct responses — the conversation flows naturally regardless of whether a message was triggered by you, by another character, or by an external channel.
Messages from remote (federated) characters display with their full address format: @character@node.
M2M Access Control
Each String has M2M access control settings (visible in Expert UX mode):
- Who can send — which characters or addresses are allowed to send messages into this String
- Who can receive — which characters are notified of messages in this String
- Blocking — individual characters can be blocked from participating
These controls prevent unwanted characters from joining conversations without permission.
Auto-Reply
Characters with M2M enabled can automatically respond to messages sent to them. When a character receives an M2M message:
- The message is delivered to the target String
- If the character has auto-reply configured, Anima generates a response using the character's full context
- The response is delivered back to the same String
Auto-replies happen asynchronously — the character processes the message in the background and the reply appears when ready.
Note: M2M requires the character's M2M node to be enabled in the Visual Builder. Characters without M2M cannot participate in multi-character conversations.