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:
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:
The search action: This is the actual search step in your Zap. This searches for information in an app.
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:
Searches are only available as actions. For example, you can't use a search as a trigger—the event that starts your Zap.
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.
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.
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:
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.
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.
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.
Read more: What you can do in Zapier's App Directory.
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.
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 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
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.
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.
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?
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.
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.
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.
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:
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:
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.
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.
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.
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.
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.
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."
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.
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.
Then, once your test is successful, check the updated record in your app to make sure everything is correct.
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:
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.
Then, select Path as your action app.
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.
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.
Click on the Choose field… dropdown on the far-left side, then click on the upside-down caret next to your search step.
Select the field labeled Zap Data Was Found. This field is the outcome of your search step.
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.
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.
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.
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:
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.
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.
Then, click on the Choose condition… dropdown and select (Boolean) Is false.
This tells Zapier to run the path if the search step doesn't find existing data.
Your rule should look like this:
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:
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 workflow automation software that lets you focus on what matters. Combine user interfaces, data tables, and logic with thousands of apps to build and automate anything you can imagine. Sign up for free.
Related reading: