Filter setting to prevent dupilcate Pipedrive -> Notion

Hello Together.

I created a Scenario with a Webhook in Pipedrive CRM. The Trigger is “Deal created”. This Part is working so far.
In the next Pipedrive Modul i List Deal Only in Stage 3. These is the Trigger for me. I want only this deals in Stage 3 to be triggered. This is what i get.

Now i want to create New Items in my Notion Database, but i dont want duplicates in my database. Sometimes it happens that the deals in Pipedrive have to moved back and forth.
The scenario needs to check, wether the deal id exists or not.
I addes a Notion Modul for showing me the Database Items in my database.
Id did this, to have the possibility to set a Filter to compare the Deal ID from Pipedrive with Notion

For me it looks like the filter works. Beacause the filter found the Only Deal ID Number not existing in my Notion Database.

In this Case there is 1 Deal ID arrived new in Pipedrive CRM in Stage 3.
the filter lets the entry through, because the deal id is not existing in my notion database.

Now The Problem is, Notion is starting to create as many new Entries, as there are existing Database Pages in my Notion Database with the same name the filter lets the entry through.

How can i set up the filter to prevent duplicates?
I want to check wether the deal id number existis or not.

Thank you

Hi @Paul_Seemann,
Looking at the filter results, bundle 3 did not pass and all the others DID PASS the filter, so you will create a new entry for each of these bundles…

I would try the following:

  1. Add a filter after the “list deals” module from Pipedrive, to only continue if the Stage ID is 3
  2. Limit the Notion ‘Search Objects’ module to only search for your Deal ID. That way you will limit the output from the Notion search to only give output if the deal exists.
  3. Add a filter after the search module from Notion with the setting “Deal ID” Does not exist, like this:

Hope this helps.


Hello, thank you for your reply.

to 2. does it mean, i have to enter the deal id everytime manually?

Thank you

no, you can map to the Pipedrive output. Something like this:

1 → Select the column in your Notion database (what you already have in your print screen)
2 → Select the ‘Number equals’ condition. Make sure that you match this with the property in your Notion Database (so if Notion property is Number, you select Number: Equals, if the property is a Text field, select Text: Equals)
3 → Map to the output value of your Pipedrive that you want to look for
4 → Set the limit to 1, since you only need the one (and only) record that exists


Hello and Thank you again :slight_smile:

I will try this ASAP.
I´ve got a question to this part you explained above.

What exactly does is it mean. “Does not exist”

Does the Filter check either the Page ID exist or not in the database and lets the data through if the Page ID does not exist in the database?

OR does it mean, the page ID exists in the bundles in the current operation?
because that would indicate, that the filter in my case would not let any data pass through.
Because my items have allways either a DEAL ID oder PAGE ID number.

Thank you for your help

The filter checks if it can find an Item in your Notion Database where Deal ID (notion) = Deal ID (from pipedrive).
If it cannot find this item, the module will output 0 bundles, i.e. the page does not exist yet


Hello Hello

It took me a while to try out your tips. but now my scenario works :slight_smile: Thank you

would it work too, if i set my filter like this?

the filter should finde the entries that are not equal with the deal id from pipedrive.
and then create a new database item in notion?

thank you

This filter will select all the pages from Notion that do not have the Deal ID, and then process each page for the rest of your scenario.
E.g. when you have 100 items in the database, of which 1 has the deal ID from Pipedrive, this setting will continue with 99 bundles and create 99 new items in Notion in the next module… As per my understanding of the previous posts that is not what you want to achieve :wink:

1 Like

Hello again :slight_smile:
my scenario is workin pretty well.
I also created a new zapier account and built a new scenario for my needs.
I have to say, in my case for my little needs, it wokrs better and is more efficient.
Because: in make i edited my API Trigger, it is now “New Deal Evenet - Deal updated”
Because in when choose the Deal added Event, my deals remain in Stage 1, where i created them. when i manually drag my deals into stage 3, they stay in this stage until a new deal is added to trigger my scenario.

This is why i choose “deal updated” but now my scenario runs pretty often :slight_smile:
when i work in deal in my PD account in different stages, the trigger gets activated.

imo here zapier works slighty better, beacause of the simply trigger “Deal gets in a stage” and then runs immediately.

but maybe i didnt found a way, to how set up filters correctly,to prevent the other modules from beeing activeted unnecessarily.

The filter are set up like you told me in the beginning of this topic.

thank you :slight_smile:

I’m assuming that “3” is the name of your Deal stage rather than the Stage ID.

If you can find the Stage ID that corresponds with that Stage name, then you could remove the “List Deals in a Stage” module and place a filter on the path from the first module that continues only when the right Stage ID is present.

An easy way to see the Stage IDs is in the List Deals in a Stage module UI - it’s the number inside the brackets when you open the Stage dropdown

Okay, i will try this. The Pipedrive Modul "“List Deals in a Stage” was mainly for getting some informations out of the Deals in Stage 3.
But i do still need a second Notion Modul for preventing creating Double entries in my Notion Database.
my scenario looks like this: