Send Message
Allows callers to leave a message for the operator. This skill implements the "leave a message" pattern that is standard in phone-based assistants.
Flow
- Caller indicates they want to leave a message
- Amber confirms: "Would you like me to leave that message?"
- On confirmation, the message is:
- Always saved to the call log first (audit trail)
- Then delivered to the operator via their configured messaging channel
Security
- The recipient is determined by the operator's configuration — never by caller input
- No parameter in the schema accepts a destination or recipient
- Confirmation is required before sending (enforced programmatically at the router layer — the router checks
params.confirmed === truebefore invoking; LLM prompt guidance is an additional layer, not the sole enforcement) - Message content is sanitized (max length, control characters stripped)
Delivery Failure Handling
- If messaging delivery fails, the call log entry is marked with
delivery_failed - The operator's assistant can check for undelivered messages during heartbeat checks
- Amber tells the caller "I've noted your message" — never promises a specific delivery channel