Hi! Please please please help. I know it’s a long question but I have tried to trouble shoot on my own and I’ve seen variations of this question but not any answers that have been applicable to my use case. And I’m not a developer so if the answer is ‘just code it’ or ‘loop it’ - please provide a lot of detail!
Sorry if the screenshots have slightly different Step info than what I listed below - was trying to make this as simple to understand as possible.
What I’m trying to do using Zapier for Pipedrive:
Trigger: A new event gets schedule in Calendly→ Action: Pipedrive finds or creates a person
1. Find all the deals associated with the provided Person ID. - this step works
2. Format the data from each of those deals into separate line items so that we can filter off of the data in next step. - this is the step that I have tried a bunch of different ways (details below) and all seem to work but then the next step fails
3. Filter the Deals to only include the specific Deals that meet both of the criteria of ‘Pipeline ID’ equals ‘18’ and ‘Deal Status’ equals ‘lost’ - this is the step that keeps failing in testing
4. Add an Activity to each of the Deals that made it through the filtering step above - this step isn’t working because step 3 isn’t working, but also need help knowing how to say which Deal ID I should put an activity on
Step 1:
Pretty straight forward. Using ‘Find deals associated with a person’ it correctly returns 3 deals. There’s a lot of other data associated with each deal but I cut it out as I’m trying to filter on only Pipeline Id and Deal Status. (Would eventually like to filter on more fields but I need it to work first.)
I used bullets to show the indentations of data.
- Deals
- 1
- Deals ID 2439
- Deals Status lost
- Deals Pipeline Id 18
- 2
- Deals ID 2440
- Deals Status open
- Deals Pipeline Id 18
- 3
-
Deals ID 2450
- Deals Status open
- Deals Pipeline Id 17
-
- 1
- Deals Count 3
- Zap Search Was Found Status true
**First thing I tried was going straight to a filter and the reason why I went down the formatting path to begin with was when I went straight to filtering it didn’t work and I thought it was because this data showed up looking like comma delimited text. so I added a Step 2 formatter in first. See the original step 3 filter without a formatter results below:
Filter: Only continue if:
-
Step 1. Deals Status → (Text) Contains → lost
Testing - Data Out: Your Zap would have continued for this test data
Test Record
Created: 2025-04-17 09:32:28
Matched items
Deals2]status:lost,open,open
(Tried the negative filter version of does not contain too.)
Step 2 and Step 3:
My Step 3 filtering on the data above wouldn’t work so I added a formatting step 2. Below are a few of the Step 2 and Step 3 results that I tried. (For clarity of which formatting resulted in which filtering, I will add a letter to Step 2 and 3 info - if I make an error in labeling this here, I made sure I didn’t in the app.)
What it looks like to me is that I’m usually getting the correct outputs from Step 2 as line items, but then in Step 3 when I try to filter it’s as if the inputs are all back to the original text format from Step 1 instead of Step 2. I tried a bunch of combos of formatting and filtering and could never get it to work. Details on what I tried below:
Step 2a: Text to Line-item
Formatter -> Utilities → Transform: Text to Line-item →
Values:
Input: 1. Deals Status: lost,open,open
(This input is dynamic. I selected the ‘Deals Status’ from the ‘Find deals associated with a person’ in Step 1.)
Testing - Data In:
transform util.string_to_lineitem
inputs lost,open,open
Testing - Data Out:
- Output
- 1
- 1 lost
- 2
- 1 open
- 3
- 1 open
- 1
Step 3a: tried negative filtering - didn’t work
Filter: Only continue if:
- Step 2a. Output → (Text) Does not contain → open
Testing - Data Out: Your Zap would not have continued for this test data
Test Record
Created: 2025-04-17 09:32:28
Items that didn’t match
Output:lost,open,open
Also tried Exactly and Does not Exactly and both didn’t work
Step 3a1: tried positive filtering - didn’t work
Filter: Only continue if:
- Step 2a. Output → (Text) Contains → lost
Testing - Data Out: Your Zap would have continued for this test data
Test Record
Created: 2025-04-17 09:32:28
Matched items
Output:lost,open,open
Step 2b: Line Itemizer (Create/Append/Prepend)
Formatter -> Utilities → Transform: Line Itemizer (Create/Append/Prepend) →
Line-item(s) Group Name:
Deals 2.0
Line-item Properties
Deal ID: 1. Deals ID: 2439,2440,2450
Status: 1. Deals Status: lost,open,open
Pipeline: 1. Deals Pipeline Id: 18,18,17
(These inputs are dynamic and selected from the ‘Find deals associated with a person’ in Step 1.)
Create Subtotal Property? No
Decimal Places for Subtotal Values 2
Testing - Data In:
- transform util.line_itemizer
- subtotal_toggle no
- decimals 2
- my_dict
- Deal ID 2439,2440,2450
- Status lost,open,open
- Pipeline 18,18,17
- inputs Deal 2.0
Testing - Data Out:
- output
- Deal 2.0
- 1
- Output Deal 2 0 Deal ID 2439
- Output Deal 2 0 Pipeline 18
- Output Deal 2 0 Status lost
- 2
- Output Deal 2 0 Deal ID 2440
- Output Deal 2 0 Pipeline 18
- Output Deal 2 0 Status open
- 3
- Output Deal 2 0 Deal ID 2450
- Output Deal 2 0 Pipeline 17
- Output Deal 2 0 Status open
- 1
- Deal 2.0
Step 3b:
Filter: Only continue if:
- Step 2b. Output → (Text) Contains → 18
- Step 2b. Output → (Text) Does not contain → open
Testing - Data Out: Your Zap would not have continued for this test data
Test Record
Created: 2025-04-17 09:32:28
Items that didn’t match
Output:lost,2439,18,open,2440,18
Also tried all versions of this filter: removing fields so only filtering on one field, switching the contains filtering, trying Exactly Matches instead, etc.
Step 2c: Split Text
Formatter -> Text → Transform: Split Text →
Values:
Input: 1. Deals Status: lost,open,open
Separator ,
Segment Index All (as Line-items)(This input is dynamic and from the ‘Find deals associated with a person’ in Step 1.)
Testing - Data In:
transform string.split
separator ,
inputs lost,open,open
index fields
Testing - Data Out:
- Output
- 1
- 1 lost
- 2
- 1 open
- 3
- 1 open
- 1
Also tried Segment Index All (as Separate Fields) and the only difference was that the Data Out was labeled as Output Item 1 instead of just 1
- Output
- 1
- Output Item 1 lost
- 1
Step 3c: tried filtering - didn’t work
Filter: Only continue if:
- Step 2c. Output → (Text) Does not contain → open
Testing - Data Out: Your Zap would not have continued for this test data
Test Record
Created: 2025-04-17 09:32:28
Items that didn’t match
Output:lost,open,open
Also tried positive filtering, Exactly and Does not Exactly and both didn’t work
Step 2d:
Tried AI and kept spitting out the example data even though the AI bot wrote it.