Skip to main content

Lead reachability

The first thing to know about a lead is whether anybody is there. Erdo’s follow-up engine keeps one answer to that for every lead, and it decides how hard to chase by it: a lead who has never answered is followed up sooner and across channels, and one who has answered moves onto the slower cadence of somebody you are talking to. Lead reachability reads that answer for every lead in a dataset at once, so a lead list, an export or a monthly report can show it without opening each lead’s timeline.

What counts as an answer

A lead is confirmed once they have answered on any channel, and unconfirmed until then. Any of these confirms a lead:
  • a reply to one of your emails;
  • a call from them, or a call of yours they picked up and talked on;
  • a text or a WhatsApp message from them;
  • a website chat;
  • a booking, made on a page, in a chat or on a call.
These do not:
  • Filling in the form. That is the lead arriving, however many times they submit it.
  • An out-of-office or vacation reply. Their mail system sent it, not them.
  • STOP. A reply of STOP (or another opt-out word, or the stop button on a WhatsApp message) says your text reached a phone, and that the person wants no more of them. It is not the lead answering you. A START that undoes their own STOP does not count either. Both stay on the lead’s timeline, and texts stay off for as long as the opt-out stands.
Once confirmed, a lead stays confirmed. reached_via names the kind of the first answer (email_reply, call, sms, whatsapp, chat or booking) and reached_at says when it came. When somebody on your team starts a lead over, Erdo reads that lead only from the restart on, so its reachability starts over too. This is the same reading a lead’s timeline shows under timing (reachability, reached_via, reached_at), so the list and the lead page cannot disagree.

Reading it

Leads come back in canonical_lead_id order, up to 500 at a time by default and 5,000 at most. total says how many leads the dataset holds; pass offset for the next page. Every page reads your organization’s emails, calls, chats and texts once, so a large page costs no more than a small one. If one of those sources could not be read, it is named under unavailable. A lead shown as unconfirmed while a source is unavailable may have answered there; a confirmed lead is confirmed regardless. Reading reachability takes organization membership, and it is read in the dataset’s own organization: if you manage a client’s account, send the request as that client’s organization.

REST API

The SMS and WhatsApp conversation reads carry the same distinction: first_person_inbound_at and last_person_inbound_at on a conversation are the person’s own messages, last_inbound_compliance says their newest message was an opt-out or a re-subscribe, and each such message is marked compliance.

MCP

erdo_list_lead_reachability takes dataset_slug, and optionally limit and offset, and returns the same response.

CLI