Skip to main content

Fetch Contact

The Fetch Contact node looks up a contact in a table by matching a field value. If the contact is found, it becomes the current contact for the rest of the flow.

Screenshot placeholder

How It Works

  1. You select which table to search.
  2. You pick a field to search by (e.g., phone, email, customer_id).
  3. You provide the value to match (supports {{variables}}).
  4. The node looks for a contact where that field matches.

Configuration

  • Table — which contact table to search
  • Field — which column to match against
  • Value — the value to search for (supports {{variables}})

Output Handles

  • Found — a matching contact was found. That contact is now loaded as the current contact, and all their fields are available as {{fieldName}} variables.
  • Not Found — no contact matched the search.

Connect different flow paths to each handle.

Screenshot placeholder

Use Cases

Look Up an Incoming Caller

When a new message arrives, use {{sender_phone}} to search your contacts table by the phone field. If found, you can greet them by name. If not found, route to a Create Contact node.

Check if a Lead Already Exists

Before creating a new contact, search by email or phone to avoid duplicates. Only create a new record if the "Not Found" handle fires.

Cross-reference Between Tables

If you have separate tables for leads and customers, you can fetch from one table during a flow that was triggered by data in another.

Tips

  • The search returns the first matching contact. If multiple contacts share the same value in the search field, only the first one is loaded.
  • Use this node with incoming message triggers to connect anonymous messages to existing contact records.
  • Chain this with Create Contact on the "Not Found" path to automatically add new contacts when they message you for the first time.