• Instructions to Ask a Question

    Click on the "Ask a Question" button and select the application for which you would like to ask questions.

    We have 5 different products namely - Pabbly Connect, Pabbly Subscription Billing, Pabbly Email Marketing, Pabbly Form Builder, Pabbly Email Verification.

    The turnaround time is 24 hrs (Business Hours - 10.00 AM to 6.00 PM IST, Except Saturday and Sunday). So your kind patience will be highly appreciated!

    🚀🚀Exclusive Discount Offer

    Just in case you're looking for any ongoing offers on Pabbly, you can check the one-time offers listed below. You just need to pay once and use the application forever -
     

    🔥 Pabbly Connect One Time Plan for $249 (🏆Lifetime Access) -  View offer 

    🔥 Pabbly Subscription Billing One Time Plan for $149 (🏆Lifetime Access) - View offer

Pipedrive issue since latest API changes

Hi :)

There seems to be a problem with the Pipedrive API implementation, since it was updated last month.

In my workflow IjU3NjEwNTZjMDYzZjA0MzM1MjY1NTUzNyI_3D_pc I use the following endpoints:
  • #9 Find or Create a Person → returns Person ID
  • #10 Find or Create a Deal → returns Deal ID
  • #12 Update Person With Custom Fields → uses Person ID from #9 to select the person to update
  • #13 Update Deal → uses Deal ID from #10 to select the deal to update
  • #14 Create Activity → uses Person ID from #9 and Deal ID from #10 to assign activity to both
Red items don't work as expected. The Deal ID is definitely handed over, but step #13 throws error:


Don't know what I should do different. The required Deal ID is definitely valid, because in #10 it is either found or created. History shows it.

The history also shows, that the Deal ID is not passed to #13 anywhere, though I entered it in the workflow. I guess that's the problem.

For #14 this is similar, but here history shows, that the Deal ID from #10 is now empty. It seems to lose its value on the way. This produces no error, since the Deal ID is not required here.

I wouldn't rule it out, that the root cause for this behavior is #10, because this endpoint (as #9 also) was added last month, as far as I recognized it. As long as I used "Update Deal" and "Create Activity" with an ID from the older "Find Deal" or "Create Deal" instead of "Find or Create Deal", everything worked fine.
 

Supreme

Well-known member
Staff member
Hey @bkoessler

As we can see from the Pipedrive action steps to Find or Create a Person, if there is a person exists it shows the Id in different Res and if the person is now available the action event passes in different Res which is why the person Id got lost in some execution.

So, we would recommend you use the Router action step if the person exists and if the person doesn't exist you can set the individual route.

1670049742426.png
 
Well yes, this is exactly where I came from. It is very cumbersome. Find or Create Person / Deal should be the solution to make such complexity obsolete.

So would it be a solution, to put the resulting IDs from both Res into the next step's parameter? → [Res1:ID][Res2:ID]

If only one of both has a value, this should work...
 
So would it be a solution, to put the resulting IDs from both Res into the next step's parameter? → [Res1:ID][Res2:ID]

Doesn't work, it loses the connection to one of the values, as soon as the result is caught again to get the second value. Also the next API function throw an error, "unknown API function".

Here is a workaround, that does the job for the moment:

I use a Pabbly / Text / Default Value Action to return the first value from one data item, or the other data item as default value, if the first one is missing.

That way I get one single result value, based on what was returned.
 
Here is a workaround, that does the job for the moment:
That didn't work either. Text Formatter / Default Value also seems to forget data points, when they are no longer available.

Now I do this:
  1. Find or Create Person
  2. Find Person
  3. Find of Create Deal
  4. Find Deal
So in step 2 and 4 it finds a Person / Deal in any case and returns its ID in the same data field. This is where I take it from in further steps.

I don't like the solution too much, because it consumes 2 more tasks. But it's better than a more complex workflow through a router.
 
@Supreme But there is still something strange right now.

Update Person and Update Deal, now #14 and #15 in the workflow (see history IjU3NjcwNTZlMDYzNDA0MzE1MjY0NTUzMDUxMzQ1MTY0NTQzNiI_3D_pc) still throw the "missing ID" error, though I definitely pass the existing IDs along.

What's wrong there? 😳
 

Supreme

Well-known member
Staff member
Hey @bkoessler

Could you please share the name of the workflow where you have created the router action step?

So that we can check the mapping of the Ids and can guide you accordingly.
 
@Supreme The workflow is still
Code:
https://connect.pabbly.com/workflow/mapping/IjU3NjEwNTZjMDYzZjA0MzM1MjY1NTUzNyI_3D_pc
"Buch Kauf an Klick-Tipp und Pipedrive senden"

But there is no router. It's just a different set of follow-up actions, that should work much easier.
 

Supreme

Well-known member
Staff member
Hey @bkoessler

As per your use case, you would be needed to a separate route where you ought to pass the Res Id when a person exists and one where the Res Id doesn't exist.
 
@Supreme Okay, so I guess that's the only way.

But can you explain why this is necessary? Because since I now use Find Person in any case and this returns the Person ID in the same Res structure, no matter if the person was created or found in the step before, it seems not very logical.
 

Supreme

Well-known member
Staff member
Hey @bkoessler

The "Find Person" action steps response would show the ID with multiple action steps. It will only respond to you whether the person exists in your account or not.
 
@Supreme Yes, that's clear. But the person exists for 100% sure, because I executed Find or Create Person in the step before. So in the next step, Find Person, there is a 100% chance to find at least 1 result item. So there must always be a [Data Items 0 Item ID]!

Could this be a timing problem? Should I wait 1 minute after Find or Create Person, to ensure that Pipedrive has created the person (if necessary) and therefor will return it by Find Person in the next step?
 

Supreme

Well-known member
Staff member
Hey @bkoessler

You can use the Delay action step before the action step and also make sure that the person which you are trying to search must be present.
 
Alright, this now really seems to work.
  1. Find or Create Person
  2. Delay 1 minute
  3. Find Person
  4. Find of Create Deal
  5. Delay 1 minute
  6. Find Deal
  7. ... do other stuff with returned IDs from #3 and #6
 
Top