Roadmap
send-and-wait completion and inbound webhook triggers — what's coming and why
message/send-and-wait
The operation is fully routed and has a settings DTO (SendAndWaitInfo: to,
text, timeoutSeconds), but the underlying
IWhatsAppMessageService.SendAndWaitAsync service method has not been implemented. Calling it
today returns a not_implemented error. This is intended as a human-in-the-loop primitive — send
a message and pause the workflow until a reply arrives or the timeout elapses.
Trigger Operations (TRG01-TRG07) — Inbound Webhook Events
The domain layer already defines the event shapes and a parsing contract for Meta's webhook deliveries, but no executor trigger partials or a webhook receiver endpoint exist yet on this node:
| Planned Event | Domain Record | Covers |
|---|---|---|
| Message received | WhatsAppMessageReceivedEvent | Inbound text/media messages from customers. |
| Message status | WhatsAppMessageStatusEvent | Delivered/read/failed status updates for sent messages. |
| Template status | WhatsAppTemplateStatusEvent | Template approval/rejection notifications. |
| Account update | WhatsAppAccountUpdateEvent | WABA-level status/ban changes. |
| Phone quality | WhatsAppPhoneQualityEvent | Messaging quality rating and limit changes for a number. |
| Phone name update | WhatsAppPhoneNameEvent | Display-name change decisions from Meta. |
| System alert | WhatsAppSystemAlertEvent | General account-level system alerts. |
IWhatsAppTriggerService already defines parse methods for all seven event types plus
VerifyWebhookSignature (HMAC verification of Meta's X-Hub-Signature-256 header) —
the parsing contract is designed, but the concrete service implementation, the webhook HTTP endpoint, and the
executor trigger partials that would turn these into workflow-starting events are not yet wired together.
commerce/receive-order (see
Commerce Operations) already parses an order payload you hand it
— but something upstream still has to receive Meta's webhook POST and hand the raw body to that operation.
A first-class Trigger node/endpoint for this node would close that gap for orders and all seven event types
above.
Why It's Not Here Yet
Turning a parse-only contract into a live trigger requires an HTTP-accessible webhook endpoint registered
with Meta (with signature verification via VerifyWebhookSignature), plus executor-side plumbing
to start a workflow run per inbound event rather than executing synchronously inside a single node call —
a different execution model from every operation shipped today.