OpenPhone calls to hubspot for existing and add non-existing contacts

Hello Everyone, I need help with this scenario.

I’m trying to watch the incoming call from OpenPhone via webhook, search on hubspot if phone number already exists, there’s 2 filters one for existing and doesn’t exist. If it doesn’t exist, it will add it to hubspot with the phone number as it’s name and save the phone number as well. With open phone, if the caller selected another IVR option it will throw another process, but this will create a duplicate entry and add another record. How can i try to prevent that?

Hi @ER_Fukuda,

Could you clarify your question? I don’t follow your message here: With open phone, if the caller selected another IVR option it will throw another process, but this will create a duplicate entry and add another record. How can I try to prevent that?

Why would IVR create a duplicate entry, and where? Are there other scenario’s or integrations connected to OpenPhone?

Please, follow these steps when asking a question, and you’ll be more likely to get a helpful answer:

:writing_hand: Give us a detailed explanation of what you’re trying to achieve

:footprints: Tell us about any steps you’ve tried so far

:camera_flash: Include screenshots of:

  • your scenario flow and setup (functions, mappings, variables, etc.)

  • module configurations and outputs

  • any error messages you are getting

:card_file_box: Share the blueprint of the scenario you are asking a question about. (this does not contain any connection or personal information)

Certified Make Expert and Partner
Book a consult with me


Hello @ER_Fukuda,

Do you mean that when the caller selects another IVR in the same call, it is considered a new call which triggers your scenario again?
And because it’s HubSpot, when you add a contact and query your contacts shortly thereafter, HubSpot does not yet recognize your newly-added contact?
So by the time it goes to try and add it, it either returns an error that the contact already exists or you end up with duplicate contacts?


Hi Donald! You got it right! That’s what’s happening.

I tried the data store and add record but it doesn’t work, i tired playing with it this morning and it just keeps on adding duplicate contacts.

Here’s an example duplicate contact that happened after the person calls and on the same call chose an option on the IVR:

Here’s the openphone webhook details:
Main Line: Triggers when a person dialed our number:

It will trigger again when you choose an option on the IVR:

Here’s my filter:

I found out that when a caller was added to hubspot the first time it will save the mobile and phone number using the phone number parser:

It will save like this on hubspot:

But I have to go in to the hubspot record and format it to US number that’s the only time that it will filer as “CONTACT EXISTS”

After saving it on Hubspot as US number it process as contact exist:

Here’s my blueprint @Henk-Operative
OpenPhone New Call Blueprint.json (305.9 KB)

There’s a lot of moving parts here.

One thing you might do is see if it’s possible to update the scope on the OpenPhone trigger module.
See if you can configure it such that it doesn’t fire on initial calls only when an IVR selection is made.

Another thing, maybe use the Phone Number parser immediately after the OpenPhone trigger module.
Then, reformat your number with the parenthesis around the area code.
Format it as this:
+{{Country calling code}} {{National Format}}
Then, query HubSpot with that formatted number and if it doesn’t exist, add it.


Thank you!

I know it’s annoying. I was using Aircall before and my scenario was already built in. Now my team is used to the notification from Slack so I have to re-create it since we moved to openphone recently.

Let me try your method, but the openphone webhook is very limited.

OMG it worked!!!

Thank you so much!!! I’ll be checking with more calls to see if it’s stable


If this isn’t time-sensitive, even though automations involving live calls often are, you could just put a sleep timer in before querying HubSpot, that may give it more time check if the contact already exists.

Yet another option is to copy your existing HubSpot data to a Data Store and use that Data Store as an intermediary between OpenPhone and HubSpot.
This means when writing the phone number, first write it to HubSpot then write it to the Data Store along with the HubSpot ID.
When checking if the contact exists by phone number, query only the Data Store.
Hope that makes sense!

Yes that makes sense.

But there’s another problem, so for those contacts, I edited as US phone number on hubspot now it’s showing non-existent because the phone number format is different from the parse number.

Is there a way I can query 2 different formats? LIke on this screenshot?

I am not familiar enough with HubSpot to confidently answer that question, but I’m guessing no.

You could try to broaden the query or leave it completely blank and just use two “Filter search results” with an OR rule/condition.

Or, if HubSpot returns no matches from one version of the search, you could use a router and filter to search again with the other version of the phone number. If that one doesn’t return any result either, then create a new contact.

1 Like

No worries!

I really appreciate your help! @Donald_Mitchell

Took me 2 weeks to figure this out with your help!