Twilio Messaging
Lass einen Agenten SMS, MMS, WhatsApp- und RCS-Nachrichten an deine Twilio-Absender beantworten. Antworten, Medien und genehmigte WhatsApp-Vorlagen versendest du über dasselbe Twilio-Konto.
- Publisher
- Von connic
- Modi
- Inbound, Outbound
- Einrichtung
- Dashboard oder connectors/*.yaml
- Dokumentation
- Twilio Messaging Docs
Verbinde einen Agenten mit deinen vorhandenen Absendern
Wähle eine gespeicherte Twilio-Connection, einen Kanal und einen Absender. Beim Speichern einer eingehenden Verbindung richtet connic den Webhook des Absenders für eingehende Nachrichten automatisch in Twilio ein.
- Eine Connection für Voice und Messaging
- Die Connection enthält deine Account SID, die Region und den Auth Token dieser Region. Twilio-Voice-Verbindungen können dieselbe Connection nutzen, und jede Verbindung legt ihren eigenen Kanal und Absender fest.
- Webhook automatisch eingerichtet
- connic trägt den Webhook beim Speichern ein und ersetzt einen vorhandenen Webhook oder eine Messaging-TwiML-App. Die vorherigen Werte stehen in den Logs der Verbindung. Gehört der Absender zu einem Messaging Service, stelle dort Defer to sender's webhook ein.
- WhatsApp Sandbox
- Für die Sandbox ist ein manueller Schritt nötig. Trage die Webhook-URL der Verbindung unter When a Message Comes in ein, wähle HTTP POST und speichere.
- Regionen
- US1 unterstützt SMS/MMS, WhatsApp und RCS. IE1 unterstützt SMS-Text ohne Medien und ohne +1-Nummern, AU1 nur Voice.
Jede Nachricht kommt geprüft und lesbar an
Twilio signiert jede Anfrage. connic prüft sie und startet dann jeden verknüpften Agenten mit dem Text, den Angaben zum Absender und heruntergeladenen Anhängen.
- Geprüfte Anfragen
- connic prüft X-Twilio-Signature mit deinem Auth Token und gleicht Konto, Kanal und Empfänger ab. Ein wiederholter Webhook mit derselben Message SID führt zum selben Run.
- Medien als Dateien
- Anhänge kommen in files an, bis zu 10 pro Nachricht und insgesamt 10 MiB, und setzen eine US1-Connection voraus. Ausgelassene Dateien stehen in file_issues.
- Gesprächsverlauf
- conversation_id steht für einen Kunden an einem Absender. Setze session.key auf input.conversation_id, dann teilen sich Folgenachrichten eine Session. Sessions sind nicht automatisch aktiv.
{
"message_sid": "SM3f9c2a7b8d1e4f60a5b7c9d2e4f6a8b1",
"channel": "sms",
"from": "+4917612345678",
"to": "+4915112345678",
"text": "Has order ord_8812 shipped yet?",
"raw": {
"MessageSid": "SM3f9c2a7b8d1e4f60a5b7c9d2e4f6a8b1",
"From": "+4917612345678",
"To": "+4915112345678",
"Body": "Has order ord_8812 shipped yet?",
"NumMedia": "0"
},
"conversation_id": "twilio_messaging:9e0f77d9-2fd8-5a8e-8d47-59fbf5b8a091"
}session:
key: input.conversation_id
ttl: 86400Antworte dem Kunden oder schreib ihn zuerst an
Verknüpfe eine ausgehende Verbindung mit derselben Connection, demselben Kanal und Absender. Sie sendet nach dem Run, wenn der Agent sie als Tool aufruft oder wenn Middleware sie aufruft.
- Reihenfolge der Empfänger
- Zuerst zählt ein ausdrücklich übergebenes to, dann der Standardempfänger der Verbindung, dann der Kunde, der geschrieben hat. Lass den Standardempfänger leer, damit jede Antwort an den jeweiligen Kunden geht.
- Text und Medien
- Sende bis zu 1.600 Zeichen Text und öffentliche media_urls, die Twilio abruft, bis zu 10 bei MMS und eine bei WhatsApp oder RCS.
- WhatsApp-Vorlagen
- Außerhalb des 24-Stunden-Kundenservicefensters sendest du eine genehmigte Vorlage mit ihrer Content SID in content_sid und den Werten in content_variables. Eine Vorlage lässt sich nicht mit text oder media_urls kombinieren.
- Zustellstatus
- Ein abgeschlossener Outbound-Run bedeutet, dass Twilio die Anfrage angenommen hat. Die Ausgabe des Runs enthält die Message SID, mit der du die Zustellung in den Messaging Logs verfolgst.
{
"text": "Here is how to swap the filter.",
"to": "whatsapp:+4917612345678",
"media_urls": ["https://example.com/guides/filter.png"]
}{
"to": "whatsapp:+4917612345678",
"content_sid": "HX7d2c4e9a1b3f5d8c0e2a4b6c8d0f1e3a",
"content_variables": { "1": "Jana", "2": "10:30" }
}Deklariere beide Richtungen im Code
Lege die eingehende und die ausgehende Verbindung als YAML-Dateien in connectors/ an. Beide verweisen per Name auf die Twilio-Connection, deshalb enthalten die Dateien keine Zugangsdaten, und jedes Deployment legt sie für sein Environment an oder aktualisiert sie.
type: twilio_messaging
mode: inbound
connection: support-twilio
config:
channel: sms
sender: "+4915112345678"
agents:
- sms-supporttype: twilio_messaging
mode: outbound
connection: support-twilio
config:
channel: sms
sender: "+4915112345678"
agents:
- name: sms-support
outbound: { usage: automatic, source: [support-sms] }Wo Twilio Messaging passt
Wähle ein Szenario und sieh, was von Twilio ankommt und was der Agent zurückschickt.
Ein Kunde schickt eine Frage mit Foto, und der Agent antwortet über die verknüpfte ausgehende Verbindung auf WhatsApp.
{
"message_sid": "MM5a1c3e7f9b2d4a6c8e0f1a3b5c7d9e2f",
"channel": "whatsapp",
"from": "whatsapp:+4917612345678",
"to": "whatsapp:+4915112345678",
"text": "The coffee machine shows this error. What should I do?",
"raw": {
"Body": "The coffee machine shows this error. What should I do?",
"NumMedia": "1"
},
"conversation_id": "twilio_messaging:4c2a9e1b-7f3d-5b8e-a6c4-0d2f8e1a3b5c",
"files": [
{
"name": "ME8b2d4f6a1c3e5b7d9f0a2c4e6b8d1f3a.jpg",
"mime_type": "image/jpeg",
"data": "<base64-bytes>",
"size": 182344
}
]
}{
"sid": "SM9e1d3b5f7a2c4e6b8d0f1a3c5e7b9d2a",
"status": "queued",
"to": "whatsapp:+4917612345678",
"from": "whatsapp:+4915112345678",
"error_code": null
}Ein Kunde schreibt deiner Nummer, und der Agent antwortet von derselben Nummer mit dem Stand der Bestellung.
{
"message_sid": "SM3f9c2a7b8d1e4f60a5b7c9d2e4f6a8b1",
"channel": "sms",
"from": "+4917612345678",
"to": "+4915112345678",
"text": "Has order ord_8812 shipped yet?",
"raw": { "Body": "Has order ord_8812 shipped yet?", "NumMedia": "0" },
"conversation_id": "twilio_messaging:9e0f77d9-2fd8-5a8e-8d47-59fbf5b8a091"
}{
"sid": "SM6c8e0a2b4d6f8a1c3e5b7d9f0a2c4e6b",
"status": "queued",
"to": "+4917612345678",
"from": "+4915112345678",
"error_code": null
}Ein täglicher Zeitplan startet den Agenten, und er sendet eine genehmigte WhatsApp-Vorlage über eine ausgehende Verbindung, die er als Tool aufruft.
{
"trigger": "cron",
"schedule": "0 7 * * *",
"triggered_at": "2026-10-14T07:00:00",
"prompt": "Remind every customer who has an appointment tomorrow."
}{
"to": "whatsapp:+4917612345678",
"content_sid": "HX7d2c4e9a1b3f5d8c0e2a4b6c8d0f1e3a",
"content_variables": { "1": "Jana", "2": "10:30" }
}Ein Kunde fragt, wie er ein Teil tauscht, und der Agent antwortet per RCS mit den Schritten und einem Bild.
{
"message_sid": "SM2b4d6f8a0c1e3a5c7e9b1d3f5a7c9e0b",
"channel": "rcs",
"from": "rcs:+4917612345678",
"to": "rcs:example_service_agent",
"text": "How do I replace the water filter?",
"raw": { "Body": "How do I replace the water filter?", "NumMedia": "0" },
"conversation_id": "twilio_messaging:8d3f1a5c-2e7b-5c9d-b1e3-6f0a2c4e8b7d"
}{
"text": "Turn the old filter to the left and pull it out. See step 2.",
"media_urls": ["https://example.com/guides/water-filter-step-2.png"]
}FAQ zu Twilio Messaging
Weitere Verbindungen
AWS S3
Von connicNeue Dateien in einem Bucket lösen Agenten aus, mit Include Content auch zusammen mit der Datei selbst.
InboundAWS SQS
Von connicAgenten arbeiten Nachrichten aus SQS-Queues ab. Jede Nachricht wird gelöscht, sobald ihre Runs abgeschlossen sind, und fehlgeschlagene kommen nach dem Visibility Timeout zurück.
InboundOutboundCron-Scheduler
Von connicEin Cron-Ausdruck legt fest, wann ein Agent ausgeführt wird. connic betreibt den Scheduler für tägliche Zusammenfassungen, stündliche Health-Checks und wöchentliche Audits.
InboundTelegram
Von connicEin Agent kann einen Telegram-Bot betreiben, Nachrichten lesen, im Chat antworten und Benachrichtigungen an Channels senden.
InboundOutboundTelnyx Messaging
Von connicEmpfange und sende SMS/MMS, WhatsApp- und RCS-Nachrichten über dein Telnyx-Konto. Verbinde Agenten mit Kundengesprächen und Benachrichtigungen.
InboundOutboundWebSocket
Von connicAgenten streamen Tokens über eine bestehende Socket-Verbindung an den Browser. Chat-UIs behalten den Kontext über mehrere Nachrichten hinweg.
Sync