Trigger a Flow for a Third Party (Advanced Search)

Introduction: Sometimes you don’t want to start one specific contact—you want to start everyone who matches a search. With Start Somebody Else in a Flow → Select recipients from a query, you can trigger a child flow for contacts returned by a query, using values collected earlier in the parent flow.

Start contacts from a query (and pass data into the child flow)

If you just need the essentials, follow this quick path:

  1. Collect the value you’ll use in the query (save it as a named result)
  2. Optional: collect a message you want to forward (save it as another result)
  3. Add Start Somebody Else in a Flow and choose Select recipients from a query
  4. Write a strict query using @results.* values (prefer exact match)
  5. Select the destination flow and start matched recipients
  6. In the child flow, use @parent.results.* to reuse forwarded content

This pattern is perfect for starting “everyone in a cohort” or “all contacts with a matching ID” without manually selecting recipients.

Step-by-Step Process

1
Collect the value you’ll use in the query

  1. In your parent flow, send a message that explains what input you need (example: a student group ID prefix).
  2. Add Wait for Response to collect the value.
  3. Name the result clearly (example: school_id) so you can reference it later as @results.school_id.

[CAPTURE: Wait for Response node showing a named result like “school_id”.]

💡
Tip: Use short, descriptive result names (like school_id, alert) so your query is easy to read later.

2
Collect the message you want to forward (optional but common)

  1. Add another Send Message asking the user for the content you want to forward.
  2. Add a second Wait for Response.
  3. Name the result (example: alert) so you can reference it later as @results.alert.

[CAPTURE: Second Wait for Response node with result name “alert”.]

⚙️
Technical Detail: Flow results are best for short-to-medium text. If you expect very long content, test your use case and consider alternative storage patterns.

3
Add “Start Somebody Else in a Flow” and switch to query mode

  1. Create a new node and select Start Somebody Else in a Flow.
  2. In the recipient selection options, choose Select recipients from a query.

[CAPTURE: Start Somebody Else in a Flow configuration showing “Select recipients from a query”.]

4
Write the query using the collected result

In the query field, write a search that targets the contacts you want to start. Use the value collected in Step 1 inside the query.

Example pattern:

  • school_id = @results.school_id

[CAPTURE: Query input showing an example like “school_id = @results.school_id”.]

⚠️
Warning: In queries, use underscores for field names (example: school_id) rather than spaces.

💡
Tip: Keep queries as strict as possible (exact match when available) to avoid starting unintended contacts.

5
Choose the destination flow and start the recipients

  1. Select the child flow you want to run for the matched contacts (example: Register SID).
  2. Save the action.

Result: When the parent flow reaches this node, every contact that matches the query will be started in the selected child flow.

[CAPTURE: Flow picker showing the destination child flow selected.]

6
Use @parent to forward values into the child flow

  1. In the child flow, add a Send Message action (or any action that needs the forwarded value).
  2. Reference content collected in the parent flow using @parent.results.<result_name>.

Example: @parent.results.alert

[CAPTURE: Child flow Send Message node referencing @parent.results.alert.]

⚙️
Technical Detail: In the child flow, @parent gives you access to results collected earlier in the parent flow session.

Common Issues & Quick Fixes

No contacts are started from the query

Problem: The action runs, but no recipients match.

Fix:

  • Confirm the contact field name in the query is correct (example: school_id).
  • Ensure the value exists and is saved in the parent flow (@results.school_id is not empty).
  • Test your query on a small set of contacts first.
The query matches too many contacts

Problem: You start unintended contacts.

Fix:

  • Tighten your query (prefer exact matches).
  • Validate the input format in the parent flow (use response rules when possible).
The child flow can’t access the forwarded message

Problem: The child flow doesn’t show the parent-collected content.

Fix:

  • Make sure the parent flow result name matches exactly (example: alert).
  • Use @parent.results.alert (not @results.alert) inside the child flow.