The sequence that should run on arrival
- Find an existing thread for this channel identity, or create one.
- Attempt an exact match to a contact by identifier.
- Carry over the linked record — lead, customer or job — if the thread has one.
- Apply routing: existing owner keeps it, otherwise the rule decides.
- Notify, and start the response clock.
Handling messages that match nothing
Unmatched traffic is not noise. It is a new customer texting the number from a truck door, a referral using a friend's contact, or an existing customer messaging from a second phone. It must land somewhere visible with an obvious action: link to an existing contact, or create a new lead.
The dangerous alternative is a silent quarantine that only one person checks. If unmatched messages are not in the main queue, they are not being answered.
Routing rules worth writing down
Keep them few and legible. A conversation with an owner stays with that owner. A conversation about an active job routes to whoever holds the job. Everything else goes to a shared queue that a named person is responsible for clearing. Complexity here does not improve response times; it just makes it harder to explain why nobody replied.