Skipping a step/module

I am new to make. Previously I worked a lot with Zapier. I have a scenario I want to make, however, I can not skip a step. I have a step search client, if I find the client, then I want to skip creating the client. I know I can use a router, however I got a lot of these checks in my flow which makes it impossible to create it as I want.

Any help is appreciated.

Hi @JD1,

There are a few different ways to handle this, depending on things like whether that Search Persons module results in an error if no results are found.

One method:
You could try Create a Person → Search Persons
Create a Person would have an error route to Ignore if it runs into an error (because person already exists).
If creating the person succeeds, then search persons will be successful because you just created the person.
If creating the person fails (because already exists), then that error would be ignored. Search persons will be successful because the person already exists.

Something like this…

I don’t use Pipedrive often and have never tried, so you may want to check :slight_smile:


Welcome to the Make community!

That’s what the error directive Resume allows you to do. First, you use a Search module to see if it exists, then Create a new item if it doesn’t exist. In the Create field, you use an if-statement to “ignore” a required field if there are search results, throwing an error and allowing you to “skip” the creation module.

The if (not-exist-create-ignore) throws the error (ignore if exists), which the Resume directive can be used to return the item from the Search module (to check if it exists).

This goes into the create module’s “required” field. If there are records, it uses “ignore”, which is invalid, so it “skips” the module using the resume.


I explained this in a similar older post Can I skip a module based on a filter? - #3 by samliew

@Donald_Mitchell I don’t think you can use “Ignore” there, because OP wants to do something else after it. Ignore will Ignore (Mark as success) and terminate the cycle.


Oops, thanks! I guess I meant Resume rather than Ignore.

Your way is better though :slight_smile:


Hi Donald,

Thanks for you answer. The problem is that PipeDrive does not give you an error. Nor for the search nor for the creation. It just creates the same contact twice. That is exactly what I want not to happen, to have double contacts.

That’s why my method works. You throw your own error. Guaranteed to work 100% of the time instead of guessing.


I am really a newbie, how do I throw an error?

By making a required field invalid.



Here’s another way to approach it. Run a search, and take different routes based on the number of results returned.
0 Results - Create a person
2+ Results - Do what you need to do (Compose a string is a placeholder for this route)
Unfiltered route - Continue, but Search Persons again then use that result in Search Deals.

This isn’t great because you have to “Search Persons” twice.

Here’s another visual of Sam’s approach:

Sam’s is much better since there are no duplicate modules.

First, search persons.
Then, create a person. When creating a person, in the Name field, only specify a name if there were no results from the previous module.

If there was a result from the previous module, then use {{ignore}} which would cause an error on that module and take the Resume error route. In the Resume error route, you enter in the Person ID from the initial module (#7 in my case).

Normally, if #8 Create a Person were to succeed, it would output a Person ID. In this case, since it fails, the Resume module substitutes the output of #8 with whatever you enter, which is in this case the output from #7.

Hope that makes sense.

In this example I allowed Search Persons to return 3 results and in it found 2 Persons with the same email. To avoid this, set the Limit to 1 in the initial Search Persons module. Keep in mind that if you have duplicate Contacts, this will only catch one of them…