Overview

The Find Custom Record action lets you search your Enrollio database for a specific record using data from an incoming webhook. This is perfect when an external system (your billing provider, a form service, or another platform) sends you information and you need to match it to an existing record in Enrollio.

If your automation already started with the same record type as the trigger, this step is automatically skipped—no setup needed.

Action Names

Find Custom Record: For custom object automations (e.g., Child Records, Tour Requests, Waitlist Entries)

Find Company: For company-based automations (useful if you track corporate childcare accounts or partner organizations)

When to Use This Action

Use this action to:

  • Look up a record by matching webhook data to your database fields
  • Handle multiple matches intelligently with a tie-breaker rule
  • Create clean conditional flows based on whether the record exists

Required: Your automation must include an Inbound Webhook trigger. This action reads values from that webhook's payload.

How It Works

Step 1: Webhook Requirement

This action only appears when your automation contains an Inbound Webhook trigger. The action pulls values from the webhook payload—things like family names, enrollment IDs, or email addresses sent by the external system.

You'll reference these using placeholders like {{inboundWebhookRequest.body.childName}} or {{inboundWebhookRequest.body.familyEmail}}.

Step 2: Choose a Tie-Breaker

If multiple records match your search criteria, you need a rule to pick one:

  • Earliest Created Record: Pick the oldest matching record
  • Latest Created Record: Pick the newest matching record

This ensures your automation always works with exactly one record, even when matches aren't perfectly unique.

Step 3: Set Up Filters

Add one or more filter rows to define your search. All filters work together with AND logic—every condition must match.

Left side: Choose the field in your Enrollio record (e.g., Record ID, External ID, Parent Email, Child Name)

Right side: Select a value from the webhook payload or enter a fixed value

[SCREENSHOT: Filter configuration showing left dropdown with Enrollio fields, right dropdown with webhook payload options, example: "Parent Email = {{inboundWebhookRequest.body.email}}"]]

Pro tip: Use unique identifiers whenever possible (Record ID, External ID, Parent Email) for reliable matching. Add extra filters like enrollment status or location to avoid ambiguous matches.

Step 4: Branch on Outcomes

The action creates two possible paths:

Record Found: The matched record becomes active for all following actions. Update it, send notifications, or trigger other automations.

Record Not Found: Use this path to create a new record, alert your team, or stop the automation cleanly.

[SCREENSHOT: Automation builder showing Find Custom Record action with two branches labeled "Record Found" and "Record Not Found"]

Best Practices

  • Verify webhook data format: Make sure the external system sends clean, consistent values (proper text, numbers, true/false)
  • Normalize names and text: If you're matching on parent names or child names, ensure the sending system handles capitalization and spacing consistently
  • Test with sample data: Before going live, test your automation with example webhook payloads to confirm matching works correctly
  • Use specific filters: The more precise your filters, the fewer ambiguous matches you'll encounter

Real-World Examples

Example 1: Match Enrollment by External Reference

Scenario: Your payment processor sends a webhook with enrollment_id when a family pays tuition. You need to find that enrollment and update the payment status.

Setup:

  • Tie-Breaker: Latest Created Record
  • Filters: External Reference = {{inboundWebhookRequest.body.enrollment_id}}

Flow:

  1. Webhook arrives with enrollment reference
  2. Action finds the enrollment with that External Reference
  3. Record Found: Update payment status to "Paid", send confirmation email to parent
  4. Record Not Found: Alert your admin team to investigate the payment

Example 2: Find Parent by Email from Form Submission

Scenario: A parent fills out a tour request form on your website. The form service sends their email address via webhook. You want to find their existing record or create a new one.

Setup:

  • Tie-Breaker: Latest Created Record
  • Filters: Parent Email = {{inboundWebhookRequest.body.email}}

Flow:

  1. Webhook triggers with { "email": "parent@example.com", "tour_date": "2025-11-15" }
  2. Action searches for parent with that email
  3. Record Found: Add tour request to their profile, send confirmation
  4. Record Not Found: Create new prospective family record, schedule follow-up task

Example 3: Find Waitlist Entry by Child Name and Location

Scenario: An external scheduling system notifies you when a spot opens. It sends the child's name and your center location. You need to find the matching waitlist entry.

Setup:

  • Tie-Breaker: Earliest Created Record (prioritize families who've been waiting longest)
  • Filters:
    • Child Name = {{inboundWebhookRequest.body.childName}}
    • Location = {{inboundWebhookRequest.body.location}}
    • Status = "Active" (to exclude families who already enrolled)

Flow:

  1. Webhook arrives with child and location data
  2. Action finds the earliest active waitlist entry matching both criteria
  3. Record Found: Update status to "Offer Extended", send enrollment invitation to parent
  4. Record Not Found: Log the event for review, check if the spot was already filled

Common Questions

What happens if I don't have a webhook trigger?

This action won't appear in your automation builder. The Find Custom Record action specifically works with data from incoming webhooks.

Can I search by multiple fields?

Yes. Add as many filter rows as you need. All filters must match (AND logic) for a record to be found.

What if my webhook sends data differently than my records store it?

You may need to normalize the data in the sending system. For example, if your webhook sends "john smith" but your records store "John Smith", the match will fail. Work with your webhook provider to ensure consistent formatting.

When is this step skipped automatically?

If your automation trigger is already "Custom Record Created" or "Company Created" for the same record type you're trying to find, Enrollio skips this step. The record is already in context.