Pipedrive Integration relying on retired endpoint - calls to start failing 12/13/2022

Your software
My Mautic version is: 4.4.4

Your problem
My problem is: I got this notice from Pipedrive this week.
Screen Shot 2022-12-01 at 10.56.33 PM

After searching in the source code, it appears we are, in fact, still using the /persons/find/ api endpoint (see findByEmail here)

Is there anyone working on updating the Pipedrive plugin to use the search endpoint instead of the find endpoint? I really don’t like the idea of 10% of my api calls failing in less than 2 weeks.

For anyone following this topic, Webmecanik is working on an entirely new Pipedrive sync plugin and hopes to have it done and released open source any moment now.

We are standing by and biting our nails from excitement. The deadline is coming closer and closer. Thank you Webmechanic.

Any news about the new Pipedrive sync plugin?

Always good to check on github:

Does anyone have the Webmecanik plugin working with vanilla Mautic 4? @joeyk do you have it up and running?

I get the following error when trying to run the sync command (mautic:integrations:sync Pipedrive2):

 [ERROR] Call to undefined method Mautic\IntegrationsBundle\Event\SyncEvent::getInputOptionsDAO()

I can’t find that function in Mautic source :frowning:

@kuzmany @npracht Is there any help you can offer? I recall reading about a patch I need to apply.

We need to get up and running on this new plugin as our clients’ Pipedreive and Mautic instances are falling further and further out of sync as requests are failing.

Quick update - I got the sync to run by applying PR 11255 and then adding the following function (a duplicate of getInputOptions()) to app/bundles/IntegrationsBundle/Event/SyncEvent.php:

public function getInputOptionsDAO(): InputOptionsDAO
    {
        return $this->inputOptionsDAO;
    }

I have fields syncing, but have not tested activities yet. I’d still appreciate some help pointing me in the right direction of any additional patch that should be correctly applied.

1 Like

Hey Steve,
Thank you for sharing this. I’m trying to get my hands durty with Pipedrive. You saved me a ton of time.

One more note: Out of the box, Pipedrive does not have the first and last name fields needed to sync with this plugin and you have to reach out to Pipedrive support to enable them if you have not done so already.

Simply start a support chat and ask, “Could you please enable first and last name default fields?” and they will happily do so.

@steverobinson are you using this plugin with M4 ?
I am trying to install it from the repository but it seems to interfere with the MauticCRMBundle and the old namespace for the pipedrive plugin.

Works for me just fine. We use it in production on M4.
If you use it under M4, make sure you install the 2 cherry picked PRs mentioned in the github repo.

1 Like

Same here. We are running this on two production instances with no problems as long as we keep those two PRs in place when we upgrade.

1 Like

Now I got it. I named the plugin “MauticPipedriveBundle” instead of “PipedriveBundle” after installing. That’s why it didn’t work at the beginnig.
Now it seems to work just fine :slight_smile:

I just encountered an error with the plugin in 4.4.10:
When I try to edit a company and click save I get a 500 error.
ChatGPT told me this:
The error message you provided indicates that there is an issue in the CompanyController.php file of your Mautic application. Specifically, it’s complaining about an undefined method called “getFormButton” in the CompanyController class at line 255.

But I can’t find the error regarding the form button inside the CompanyController.php

Did you encounter the same at some point? Or do you have any idea why this happens?

@steverobinson, @joeyk did you experience any problems with editing companies since using the plugin?
for me, as soon as I add the cherry picked CompanyController.php I can’t edit campanies anymore.

There is a problem with the getFormButton method. Which seems is not available in Mautic 4.
How did you solve this? Is there something you changed? Or did you use an older version of the PR’s?

EDIT:

For anybody who gets the same problem with the Pipedrive 2 Plugin on Mautic 4:
We found that the getFormButton method is not yet available in Mautic 4. So we changed all the lines in the CompanyController.php file which use the new method which looks like this

$this->getFormButton($form, ['buttons', 'save'])->isClicked()

back to the old method like this

$form->get('buttons')->get('save')->isClicked()

We’re testing it right now. If everything works, I can submit the changed files for ease of use if someone needs them.

Cheers guys and thanks for the help :slight_smile: