Hello Everyone,
I require assistance with the following scenario.
I am attempting to monitor incoming calls from OpenPhone via webhook. The goal is to search HubSpot for an existing phone number. There are two filters: one for existing contacts and one for new contacts. If a contact does not exist, it should be added to HubSpot with the phone number as its name, and the phone number should also be saved. With OpenPhone, if the caller selects a different IVR option, it triggers another process, which can lead to duplicate entries and additional records. How can I prevent this from happening?
Hi,
Could you please clarify your question? I'm not sure I understand your message: 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 the IVR create a duplicate entry, and where exactly? Are there any other scenarios or integrations connected to OpenPhone?
Please, follow these steps when asking a question, and you’ll be more likely to receive a helpful answer:
Provide a detailed explanation of what you are trying to achieve.
Tell us about any steps you have attempted so far.
Include screenshots of:
-
Your scenario flow and setup (functions, mappings, variables, etc.)
-
Module configurations and their outputs
-
Any error messages you are encountering
Share the blueprint of the scenario you are asking about. (This does not contain any connection or personal information)
Henk
Certified callin.io Expert and Partner
Book a consult with me
Hello,
Are you suggesting that when a caller chooses a different IVR option during the same call, it's treated as a new call, thus re-triggering your scenario? And because it's HubSpot, when you add a contact and then query your contacts shortly after, HubSpot hasn't yet registered the newly added contact? Consequently, by the time it attempts to add the contact again, it either results in an error indicating the contact already exists, or you end up with duplicate contacts?
Hi Donald! You've got it right! That's exactly what's happening.
I attempted to use the data store and add record features, but they aren't functioning correctly. I spent some time experimenting with it this morning, and it keeps adding duplicate contacts.
Here's an example of a duplicate contact that was created after a person called and selected an IVR option during the same call:
Here are the OpenPhone webhook details:
Main Line: Triggers when a person dials our number:
It will trigger again when you select an option on the IVR:
Here is my filter:
I discovered that when a caller is added to HubSpot for the first time, it saves the mobile and phone numbers using the phone number parser:
It saves like this in HubSpot:
However, I need to manually go into the HubSpot record and format the number to a US number. Only then does it filter as "CONTACT EXISTS".
After saving it in HubSpot as a US number, it processes as a contact existing:
Here is my blueprint:
OpenPhone New Call Blueprint.json (305.9 KB)
There are many components involved here.
One approach could be to check if the scope of the OpenPhone trigger module can be updated. See if you can configure it to not activate on initial calls, but only when an IVR selection is made.
Alternatively, consider using the Phone Number parser immediately after the OpenPhone trigger module. Then, reformat your number to include parentheses around the area code. Format it like this:
+{{Country calling code}} {{National Format}}
Subsequently, query HubSpot with this formatted number and add the contact if it doesn't already exist.
Thanks!
I understand it can be frustrating. I previously used Aircall, and my workflow was already set up. Since my team is accustomed to Slack notifications, I need to rebuild it now that we've recently switched to openphone.
I'll give your approach a try, but the openphone webhook capabilities are quite restricted.
If this isn’t time-sensitive, even though automations involving live calls often are, you could just implement a delay before querying HubSpot. This might provide it with more time to check if the contact already exists.
Another approach is to duplicate your existing HubSpot data into a Data Store and utilize that Data Store as an intermediary between OpenPhone and HubSpot.
This involves writing the phone number to HubSpot first, then writing it to the Data Store along with the HubSpot ID.
When verifying if a contact exists by phone number, query solely the Data Store.
Hope this explanation is clear!
Yes, that makes sense.
However, there's another issue. For those contacts, I edited the phone number in HubSpot to a US format, but now it's showing as non-existent because the phone number format differs from the parsed number.
Is there a way to query two different formats? Similar to what's shown in this screenshot?
I don't have enough experience with HubSpot to be certain, but I suspect the answer is no.
You might consider expanding the search query or leaving it empty and utilizing two "Filter search results" nodes with an OR condition.
Alternatively, if HubSpot doesn't find any matches with one search version, you could employ a router to search again using the alternative phone number version. If that also yields no results, then proceed to create a new contact.
No problem!
I really appreciate your assistance!
It took me two weeks to resolve this with your help!