The receiving half of two-way messaging. Provider webhooks are signature-verified, then the message is persisted before anything else happens; contact matching, notification and mirroring are best-effort enrichment that can never discard a message. Storage is idempotent on the provider's own message id, so a retried delivery updates rather than duplicates.
Also called: customer replied and I never got it · inbound texts · email replies · two way messaging
- 1RULE 1 — write first, interpret after: the message is persisted before we work out who sent it or who to tell
- 2RULE 2 — dedupe on the provider's id: a unique index on (provider, provider_message_id) means a retry lands on the same row
- 3Receivers always answer 2xx unless the signature fails, because anything else triggers provider retries
- 4A genuine storage failure returns 500 on purpose — that is the one case where a retry helps
There was nowhere for the carrier to deliver an inbound message, so every reply to a text the platform had sent was dropped on the floor — the builder watched their message send successfully and simply never heard back, with nothing anywhere to show a reply had been made. Inbound texts and emails now arrive at signed receivers that store the message first and work out who it came from afterwards. A text from a number nobody recognises is still a text, so nothing is discarded for failing to be identified.
- Replies with nowhere to be delivered
- Duplicate messages from webhook retries
- Messages discarded because the sender was unrecognised
See it on your own jobs
Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.
or keep browsing features →