Skip to content

Two-way & keywords

When a reply arrives on a sandbox virtual number, Fabric emits a message.inbound webhook event:

if (event.type === "message.inbound") {
const { messageId, channel } = event.data; // InboundMessageWebhookData
await handleReply(messageId, channel);
}

Verify the signature and dedupe on event.id exactly as you do for delivery events.

STOP, START, and HELP are consent keywords, and Fabric applies them automatically:

  • STOP opts the recipient out. Subsequent promotional sends to that number are suppressed.
  • START opts the recipient back in.
  • HELP triggers the help response.

You do not implement opt-out yourself — Fabric records it in the consent store so the send-path gate enforces it on your behalf. See compliance for how opt-out interacts with transactional vs promotional traffic.

Send a sandbox message, then use the dashboard’s virtual phone to reply (including a STOP), and watch the message.inbound event reach your webhook while the opt-out takes effect on the next promotional send. This lets you build and verify your inbound handling before any live inbound route exists.