• Home

  • Automation with Zapier

  • Zapier feature guides

Zapier feature guides

15 min read

How to get the most out of Zapier search steps

By Krystina Martinez · October 19, 2022
The Zapier logo on an orange background

Detectives are good at finding information and patterns. Unfortunately, you can't hire them to dig through your CRM for a record or prevent duplicate data in your favorite apps. But if you're already using Zapier to automate your work, you have a data detective available to you—search steps. 

When you use a search step in a Zap—what we call our automated workflows—Zapier will automatically look for existing information in your favorite apps that you can use later. You don't have to do the detective work.  

This guide will walk you through how to find search steps, when to use them, and best practices for using them in your automated workflows.

What you'll find in this guide: 

  • What are search steps? 

  • How to use search steps successfully

  • When to use a search step

  • How to find search steps

  • How to create a search step

  • How to create follow-up actions with search results

Using search actions requires a multi-step Zap, which means you'll either need to be in your trial period or have a paid account to set it up. 

What are search steps?

In a standard, two-step Zap, a trigger starts your workflow, and your action follows.

You can also add more than one action with multi-step Zaps. One type of action you can add is a search. 

A search action—or search steps, as we'll refer to them throughout this guide—can look for existing information in your apps. When Zapier finds existing data, you can reference it later in your Zap. 

For example, let's say you're using a form for your business that customers sometimes fill out multiple times. If you're keeping track of form submissions elsewhere, this can mean duplicate info that you don't need. 

You can avoid that with a search step, which will look for existing form submissions for this customer first. If Zapier can't find anything in the search, you can decide what happens next. You can tell your Zap to stop or take a different course of action instead.

Search steps allow you to create even more intelligent workflows, so your Zaps can act without your intervention.

How to use search steps successfully

There are two parts to using search steps in your Zaps: 

  1. The search action: This is the actual search step in your Zap. This searches for information in an app.

  2. The follow-up action: What you want your Zap to do with the outcome of your search. Your follow-up action or actions will come after your search step.

When you pair a search with follow-up action, you unlock more automation possibilities within a Zap. It can update existing data, check for duplicate information, or even create new records when you need it. Search steps and follow-up actions automate your data entry on a new level. 

Things to keep in mind with search steps

Before we go any further, there are a few things you need to know about search steps:

  1. Searches are only available as actions. For example, you can't use a search as a trigger—the event that starts your Zap. 

  2. Not all apps support searches. You can use a search step if your app supports it. This depends on whether the developer made a search action available in their Zapier integration. We'll explain how you can find this out later.

  3. Some apps will allow you to create a record if it's unavailable in the same search step. It saves time when you're setting up a Zap. Not all search steps have this option. If they don't, you can always add an additional action step after your search step. 

  4. Each search step works a little differently, depending on the app. For example, if you're setting up a Zap and want it to search your email, you may have to enter search operators. But for spreadsheets, you may have to specify a row or a column. 

When to use a search step

Now that you know what you're working with, when should you use a search?

Signs you need a search step:

  1. You need to prevent adding duplicate information. For example, if you get a new lead from a social media ad, but you want to check your CRM first before creating a new entry.  

  2. You want to take a particular action depending on the information available. For example, if a task updates in a project management app and you need to update your personal to-do if the deadline changes. 

  3. When you want to update an existing item: For example, if an existing customer makes a purchase and you need to update their CRM record. 

How to find search steps

Nothing is more disappointing than getting started with a Zap only to realize you can't do the thing you want to do. You can check if your app supports searches to save you from heartache. 

First, go to our App Directory and search for the app you want to use. You can also use the main site search as well. 

Once you're on the app's profile page, scroll down to the Supported triggers and actions section. 

You'll see all triggers and actions by default, but you can toggle between them if you'd like. You can use search steps if an action has a Search or Search or write label. 

The "Search" or "Search or write" label will be located at the bottom-right corner of a listed action.

Note: Actions labeled Search or write in the App Directory can search for existing info and create new records in the same step. If your app supports searches but not search or write capabilities, don't worry—your Zap will just need an extra step to create a new record if you need it.

If you only see actions with the label Write, the integration doesn't have search actions.

If an app does not support search steps, you'll only see the "Write" label on the bottom-right corner of a listed action.

If your app's integration doesn't have a search step available, don't lose hope. If you're comfortable with webhooks, check your app's API documentation for any GET endpoints that will accomplish what you're trying to do. Then, use Webhooks by Zapier to create your search step.

If you're not comfortable with webhooks, you can also make a feature request to the app developer or contact Zapier Support with your feature request. Even if your feature request isn't implemented right away, developers still pay attention to them. 

How to create a search step

  1. Select your search action and event 

  2. Set up the search criteria

  3. Decide what to do if no record is found

  4. Optional: Create a new record if your app allows it

  5. Test your search action

Select your search action and event

When you come to the point in your Zap where you need to add a search, click the plus sign (+) in the Zap editor to add another step. 

Then, search for and select the app you want to use in your action. In this example, we're using HubSpot. Once you've chosen your action app, select your event. Your app's search actions are listed beneath the Search subheading in the dropdown menu. 

A list of search-related actions beneath the "Search" subheading in the dropdown menu.

I want Zapier to search for an existing contact in HubSpot, so I've selected Find Contact. Click Continue

Set up the search criteria

Once you've connected your app account to Zapier, you'll set the search criteria. Remember: your search criteria may differ depending on the app you use. 

No matter the specific search criteria your app is requesting, Zapier will always ask for a search value—the actual thing to search for. 

In our HubSpot example, our search step requires we select a CRM property to pay attention to as well as the search value to check against. 

The search value can be static or dynamic. The type of value you use will affect how your search step runs.

When to use a static or dynamic value for search:

  • Static value: When you type in static text, your Zap will search for the exact text every time it runs. For example, if you type in "Out of office" as the search value for your calendar app, Zapier will always search for calendar events that contain "Out of office."  

  • Dynamic value: A dynamic value is any data from a previous Zap step that you've mapped to a field in the Zap editor. Zapier will send the information that the field contains every time your Zap runs. Field mapping dynamic values are how you pass data from one app to another. For example, if you map a Name field from your form app, your Zap will search for whatever that Name field contains.

For this example, I want Zapier to check the First Name property in HubSpot. I'll use a dynamic value from our Typeform submission—the Name field—because I want my search step to check if this name already exists in my CRM. You can add the dynamic value by clicking in the field and selecting it from the dropdown. 

Click on the "First search property value" field and select previous Zap step data from the dropdown to use as your search value.

Depending on the app you're using in your search step, it may ask you for a backup property and value to search. Think of backup properties like insurance for your search. 

For example, if Zapier doesn't find anything in the First Name field in HubSpot, I can ask it to search for my lead's email in the Email Address field. 

If you'd like to set this up, go ahead and do so. 

Decide what to do if no record is found

Once you've set up your search criteria, you'll see a field that says Should this step be considered a success when nothing is found? 

You can select "Yes" or "No" from the dropdown menu for "Should this step be considered a success when nothing is found?"

Zapier will ask you this question for any search action you set up. This is important because it will affect how you'll set up your follow-up action. 

If you select No, your Zap will stop if the search step doesn't find a record. Select this option if you want your Zap to only act on existing data.

If you select Yes, the next step in your Zap will proceed, regardless of the search outcome. There are a couple of reasons to select yes, such as if you want to create a conditional workflow with Paths. Available on Professional plans and up, Paths allow your Zap to perform different actions depending on the data available.    

For example, if a CRM record exists for a contact, maybe you want your Zap to update the record and bump up the priority in a task management app. But if the contact record doesn't exist, you'd like Zapier to create a new record, create a new task, and notify a specific channel in your team chat app.

You can also select Yes if the rest of your Zap doesn't depend on the outcome of your search. For example, if I added another search step that checked if a lead subscribed to an email newsletter. If it exists, I want to add this extra detail to a HubSpot record, but it's more "nice-to-have" info.

In this example, I've selected Yes because I'm creating a path step next.

Optional: Create a new record (if your app allows it)

Remember: Some apps can search for existing data and create new items in the same step, saving you some setup time. HubSpot happens to be one of those apps.

If your search step has the same functionality, you'll see a checkbox asking if you want to create a new record if it doesn't exist. 

You can click the checkbox for "Create HubSpot Contact if it doesn't exist yet?" if you want your Zap to do so.

If you click the checkbox, the Zap editor will allow you to customize what should go in the new record.

Once you've configured your search, click Continue

If your app doesn't have this option, don't worry. If you want to create a record if one doesn't exist, finish creating and testing your search step. Then, add another step to your Zap, using an action like "Create task" or "Create record." Use the information from the prior steps in your Zap to create your new record.

Test your search action

Now, we need to test our action. It's crucial to ensure your search is working how you expect it to so you don't have any unpleasant surprises once you turn on your Zap. Click Test & review

Pay close attention to your search results. You'll see a field called _zap_data_was_found. If Zapier finds a record, the status will be true. If it's false, that means Zapier couldn't find anything that met your criteria. 

You can find the status of your search test within the sample data, located under the "Zap Data was Found" field.

If you're getting a status that doesn't line up with what you expected—for example, if you're receiving a false status and you know the data exists—go back to the previous step, adjust your search criteria, and re-test. 

A few things to keep in mind with the status of your search results:

  • If you search and create a new item in the same step, Zapier will still register the search status as false if the data didn't exist prior to the current Zap run. This helps Zapier better differentiate between existing information and new data. Plus, this is extra insurance so that the rest of your Zap doesn't perform actions on the wrong data. 

  • If your search status is false—and you expected that behavior—you can still use the data from this test to set up the rest of your Zap. A false status isn't necessarily a bad thing!

In our example, our search status was false. I expected this because I knew our CRM didn't have this record. And in the search step, I wanted Zapier to create a new contact record if it didn't exist. So this search step looks good to me. I'll check HubSpot just to ensure Zapier created the contact.  

The newly-created contact in HubSpot.

Since everything looks good with my search step, I'll move on to my follow-up action. Once you're satisfied with your search step, click Continue in the Zap editor. 

How to create follow-up actions with search results

Once you've set up your search action, you need to set up your follow-up action. 

Remember: the follow-up action (or actions) is what you want your Zap to do, depending on the outcome of your search. Search steps don't do us any good if we don't do something with them.

Earlier, we demonstrated how to search for records and create them if your Zap doesn't find anything. That's one type of follow-up action you can create.

But what if your search step finds a record? You can create all sorts of follow-up actions. For example, you could send an email with your search step results or create a new record in another app.

The possibilities are endless, so we'll cover two of the most common follow-up actions: updating existing data and conditional workflows. 

Jump ahead: 

How to update existing data

Once your search step finds existing information, now what? Most likely, you want to update that record with the latest information if there's a major change. 

This type of action requires another step in your Zap. It doesn't matter if it's after a filter, within a path, or in a multi-step Zap. The only requirement: It must come after your search step, so Zapier knows what to update. 

Steps to update existing data: 

  1. Check your search step configuration

  2. Add an update action

  3. Customize your updated record

  4. Test your update

Check your search step configuration

To reduce errors with your update action, make sure that your Zap is set up to only update on existing items. You don't want your Zap to update something that it's not supposed to!

There are two ways to ensure this:   

  1. If your Zap doesn't include a path: In your search step, ensure that you've selected No under Should this Zap be considered a success if nothing is found? This ensures your Zap will only continue if your search action finds existing data. 

  2. If you're using Paths: In one of your paths, make sure the boolean condition associated with your search step is set to (Boolean) Is true. This condition tells Zapier to continue the path if a search finds existing data. 

Once you've verified the above, you're ready to get started. 

Add an update action

Click on the plus-button in the Zap editor to add another step to your Zap. 

Then, select your action app and the event. The event should include something like "Update" in the name. 

 In this example, HubSpot is my action app and the Event is Update Contact. Click Continue

In the Zap editor, once you select the app you want to use, elect an "update" action as your event.

Note: If your app doesn't have an "Update" action available—such as "Update task" or "Update row"—do not try to use a "Create" action as a workaround, such as "Create task." Your Zap will create duplicates, which you don't want! 

Instead, you may be able to use Webhooks as a workaround, depending on the app you want to update. Look for PUT or PATCH endpoints in your app's API documentation. 

Zapier will prompt you to connect your app account if you haven't done so before. Otherwise, select your app account from the dropdown menu and click Continue. 

For each app you connect, Zapier will ask for a general set of permissions which allows you to be flexible with your Zaps. The only actions Zapier takes on your app accounts are those a given Zap needs to accomplish what you've set up.

Customize your updated item

Now you'll set up your action. 

Every "update" action, no matter the app you're trying to connect, will require one or several pieces of data so Zapier knows what it should update. The required fields vary depending on the app; some require names, and others require an ID of some kind. 

Below, HubSpot requires an Object ID

HubSpot prompts for an Object ID within the Zap editor.

Now, map a dynamic value from your search step to the required field.

Click on a required field, click on the down caret next to your search step, and find the value you need. 

When you click on the required field for your app, select your search step from the dropdown menu.

Remember, dynamic values are how you pass information from one app to another. The value will change depending on the information your Zap receives. Do not enter static text in the required fields, unless you want your Zap to update the same record each time. 

Since HubSpot asks for an object ID, I'll map the ID value. 

Select the "ID" value from the dropdown menu.

Now you can customize the rest of this step according to what you want your updated record to look like. Usually, you only need to customize any fields you wish to update, but be sure to read any helper text in the Zap editor for any special instructions with your app.

In HubSpot, I want the status and lifecycle stage properties in my existing contact record updated to "Qualified." 

"Qualified" is selected for the "Lead Status" field.
"Sales Qualified Lead" is selected for the "Lifecycle Stage" field in HubSpot.

I don't need to bother with mapping the name or contact information again from my lead form unless I think this person will use a different email address. 

Once you've customized your action to your liking, click Continue

Test your update

Finally, we need to test our action to make sure we've set it up correctly. Zapier will update your record according to how you set it up. 

If you don't want Zapier to make changes to actual info, create a fake record—we recommend superhero names—and then test your action. 

Though you can skip testing this step, I highly recommend that you don't. Taking the extra time for testing will make it less likely that you'll have to clean up errors later. 

Click Test & Review

The Zap editor will ask to test and review, test and move on to the next step, or skip the test.

You'll see a message if your record was updated successfully. If your test didn't work, go back to the previous step, make your adjustments, and re-test. 

After the testing an action, the Zap editor will preview the list of data it updated, according to how you set it up earlier.

Then, once your test is successful, check the updated record in your app to make sure everything is correct. 

The updated contact record in HubSpot.

After that, set up the rest of your Zap. Now you have an automated workflow that will update data for you! 

Create a conditional workflow based on the search results

If you're tired of checking for duplicate information, remembering to update records, or following up on changes to your data, this type of follow-up action knocks out all of those tasks at once. 

How? Through Paths. Available on our Professional plans and higher, Paths are like a Zap within a Zap. They allow your Zap to perform specific actions depending on the data from your trigger. 

When you pair Paths with a search step, your Zap can make decisions on the data found (or not found) and take the right course of action—without your intervention. That way, you can use your brainpower for more important decisions.

I'll mostly cover how to set up path rules associated with search steps for this walkthrough. If you're new to using Paths, check out our guide on conditional workflows.

How to create a conditional workflow from search:

  1. Set up a path for existing data

  2. Set up a path for new data

How to set up a path for existing data

Click the plus sign (+) in the Zap editor to add another step. Remember that a path must be the last step of your Zap.

Click on the plus-sign located beneath an action to add another step to your Zap.

Then, select Path as your action app. 

Select "Path" as your action app, located at the top-right.

You'll see two empty paths created by default: Path A and Path B. I recommend renaming them, so you know what each path is doing. 

Path A is renamed "If lead exists" and Path B is renamed to "If lead doesn't exist."

Click the Edit button next to a path to start setting it up. I'll start with the path called If lead exists.

Next, set up the rules for this path. Your data must meet these rules for the path to proceed. First, we'll create a rule associated with our search step. 

There will be three dropdowns to set up a path rule. To add more rules, click the "+AND" or "+OR" buttons beneath the dropdown menus.

Click on the Choose field… dropdown on the far-left side, then click on the upside-down caret next to your search step. 

Click on the "field" dropdown and select the search step.

Select the field labeled Zap Data Was Found. This field is the outcome of your search step.

Select the "Zap Data Was Found" value.

 If you don't see Zap Data Was Found right away, you can click on Show all options or type in the search bar to find it. 

Click the "Show all options" button at the bottom of the dropdown menu to see all the data from the search step.

Next, click on the Choose condition dropdown to select your filter condition. You must use boolean conditions when setting up a rule for Zap Data Was Found. (Boolean is essentially true or false.) 

Select (Boolean) Is true. Zapier will run the path if the search step finds existing information. 

Select "(Boolean) Is true" from the condition dropdown menu.

From this point, you can add any extra conditions you'd like—and it doesn't have to be associated with your search step. For example, I could set up this path to continue if a CRM record exists and the new form submission lists the request as urgent if I wanted to. 

Once you've configured your filter, test it to ensure it behaves as you expected. Below, our search step doesn't match our rules, which I expected. 

Once the path rule is tested, the Zap editor will display a message whether or not the path would have continued.

Click Continue

Now you can proceed with setting up the rest of your path. It will be just like setting up a multi-step Zap

For example, here's how I set up my first path below:

A list of actions in the Zap editor for Path A. It includes the path rule, an action to update a HubSpot contact, and another action to create an Asana task.

In this example, if our new lead already exists in HubSpot, I want Zapier to update the contact record and create a new task in Asana. 

Once you're finished setting up your current path, click the x-button to exit and return to your path step in the editor. 

Now you'll set up your second path, which will take care of data your search step doesn't find. 

Click the "Edit" button located to the right of Path B.

Set up a path for new data

Click on the Edit button next to the path you want to set up. 

You'll set up your path rules again. Click on the Choose field… dropdown and select the Zap Data Was Found field from your search step. 

Click on the dropdown menu for "Choose field" and select the "Zap Data Was Found" value.

Then, click on the Choose condition… dropdown and select (Boolean) Is false.

Select "(Boolean) Is false" from the condition dropdown menu.

This tells Zapier to run the path if the search step doesn't find existing data. 

Your rule should look like this:

The final path rule should contain the field "Zap Data Was Found" and the condition "(Boolean) Is false."

Add any other rules you'd like, as well as any other actions you want to run in this path.

Here's how I set up my second path to handle any new leads without existing CRM records: 

The list of actions set up for Path B. It includes the path rule and action to send a Slack message.

In this example, if our new lead doesn't exist in our CRM yet, I want Zapier to create a new record—which I set up in the search step—and send a message in Slack. 

Once you've completely set up all the paths you want in your Zap, make sure it's on. Now you have an automated workflow that will handle data entry for you—and you won't have to worry about duplicates. 

Search steps: The data detective for your Zaps

With search steps, your Zaps can check for duplicate information, update existing items, and follow up on changes to your data. When you add search steps to your automation toolbox, you'll spend less time on data entry and fixing mistakes, freeing you up to focus on more important work.

New to Zapier? It's a tool that helps anyone connect apps and automate workflows—without any complicated code. Sign up for free.

Related reading:

Get productivity tips delivered straight to your inbox

We’ll email you 1-3 times per week—and never share your information.


Related articles

Improve your productivity automatically. Use Zapier to get your apps working together.

Sign up
A Zap with the trigger 'When I get a new lead from Facebook,' and the action 'Notify my team in Slack'