Skip to main content

How a barista coach collected 1,400 WhatsApp numbers from Instagram DMs with Flow Builder

One example account, three live automations: the Collect Info, Condition and follow-up build that turns DMs, comments and Story replies into a phone list.

Barista Studio is a home-espresso coach on Instagram who fills latte-art workshops. Since 3 August, three Flow Builder automations have collected 1,419 WhatsApp numbers from people who messaged, commented or replied to a Story, without anyone on the team typing a reply. Here is the exact build, node by node, with the numbers from the dashboard.

Barista Studio is the example account we run on Zorcha to show how features behave with real volume. The names and numbers are illustrative, but every screen below is the actual product and every flow is live on the account.

The problem it solves

Every workshop announcement used to end the same way: hundreds of "price?" and "next batch?" messages, each needing a human to reply, ask for a number and paste it into a sheet. Half the people never answered the follow-up. The coach wanted one thing from every conversation, a WhatsApp number, and wanted it captured in the first minute while the person was still interested.

The flow

All three automations share one shape. The only difference is the trigger.

Full Flow Builder canvas: trigger, Collect Info, Condition, thank-you DM, retry Collect Info and timeout nudge

  1. Trigger. For the main flow, Sends you a DM with Any keyword, so every new DM starts the flow.

  2. Collect Info, saving to the Phone property. The message asks for a WhatsApp number to send workshop dates and the price list. Allow skipping is off, so the person has to answer before the flow moves on.

  3. Condition: Phone is present. This is the check that keeps bad answers out of the contact list.

  4. Yes branch, Send a DM. A thank-you that says the team will WhatsApp the dates and price list within a few hours, and points at the pinned posts in the meantime.

  5. No branch, a second Collect Info. Same question, friendlier wording, a 4-hour wait. If it is collected, the same thank-you goes out.

  6. Timeout branch on the first Collect Info. If there is no reply within 2 hours, one nudge DM asks again. That is the only follow-up; nobody gets chased twice.

The two settings that carry the flow

Collect Info: retry message and wait time

Open the Collect Info node and the settings are on the right. The retry message fires whenever the reply does not look like a phone number, which is what catches "yes please" and "how much?". The wait time under If contact has not responded is what feeds the timeout branch.

Collect Info settings panel with the WhatsApp number question, Phone property, retry message and 2-hour wait

The retry message the coach settled on reads: "That doesn't look like a mobile number. Please send a 10-digit number so we can WhatsApp you the details."

Condition: Phone is present

The Condition node has a single rule, Phone is present. It reads the contact property, not the message text, so it is true only when Collect Info actually saved a number.

Condition panel with a single rule: Phone is present

The thank-you DM

The Yes branch sends one message. It confirms what happens next and gives the person something to do while they wait, which is what stops the "did you get my number?" replies.

Send a DM panel with the thank-you message

Three triggers, one build

The coach duplicated the flow twice and changed only the first node:

  • Workshop leads · All DMs: trigger Sends you a DM, Any keyword. 4,318 runs, 1,023 numbers.

  • Workshop leads · Comments: trigger Comments on a Post or Reel, any post, keywords WORKSHOP, PRICE, DETAILS and BATCH, with three rotating public replies so the comment section shows "Sent you the details in DM". 1,527 runs, 354 numbers.

  • Workshop leads · Story replies: trigger Replies to a Story, any Story. 96 runs, 42 numbers. Small, but the highest share of numbers per run, because Story replies are already a one-to-one conversation.

Automations list showing the three live flows with their run counts

Across the three flows, roughly one in four conversations ends with a saved number. The rest either never answer or answer with something that is not a number, and the flow stops after one nudge.

Where the numbers land

Every collected number is saved on the contact in Audience, with the automation that collected it as the source. Filter by Phone is present to see only the people who gave a number, then use Export Audience when it is time to send the batch dates.

Audience page filtered to contacts with a phone number, showing the source automation

What to copy

  1. Ask for one thing. The flow asks for a phone number and nothing else. No name, no email, no "which workshop". Each extra question costs answers.

  2. Let Collect Info do the validating. The retry message plus the Phone is present condition means the Audience list only contains real numbers.

  3. One nudge, then stop. A 2-hour wait and a single follow-up recovered a meaningful share of numbers without annoying anyone who had moved on.

  4. Same flow, three triggers. Duplicate once it works. Comments and Story replies are where the people who were not going to DM first show up.

Do the same

Did this answer your question?