External Contact match

Hi Team,

Can someone explain the external contact to me?

I have uploaded 200 external contacts via the API, I can see them in the external contacts in the UI, and they are also marked as Curated. But when I make a call in it does not match the incoming call to the contact, only when an agent associates with the external contact then it will appear on the next call.

Surely the fact that I am adding these manually to the external contact should mean that they are verified and should match straight away?

If this is expected behaviour, can I verify these in the call flow so that when it lands on the agent, it will show the External Contact details?

This is a new client and I know they won't want to have to associate all of these contacts one by one

Thanks

Hi paulsmith3,

Only e164 phone numbers will be matched from conversations. If the contacts uploaded could not be converted to e164, then they will not match what comes through on the conversation.

To clarify a bit: when a conversation starts the external participants are looked up by claimed identifiers. That lookup process will only work with e164 phone numbers, so if the contacts you uploaded via the API did not have e164 phone numbers associated to them then the lookup would not return anything and a new identified contact would be generated instead.

Without more information it's difficult to say for sure what's going on here, but checking to see if the phone numbers are claimable is the best place to start. If a phone number is in e164 format, the phone number object will have a value in the e164 field when the contact is read from the API:

"workPhone": {
    "display": "+1 555-618-7341",
    "userInput": "15556187341",
    "e164": "+15556187341",            <--- like this
    "countryCode": "US"
}

HI Taylor,

Yes when I uploaded the contact I did so with the E164 number this is the response when I use the API to upload a contact

Just a thought, I have been making test calls into the system before I uploaded my contact into the external contacts, would that explain why my number is not matching? maybe as I have called in before there is already a "contact" and it needs to be merged?

{'address': None,
'canonical_contact': None,
'cell_phone': None,
'create_date': datetime.datetime(2023, 3, 13, 21, 47, 32, tzinfo=tzutc()),
'custom_fields': {'account_number_text': '{Removed}',
'company_text': 'ALBANY TIMBER (TRUSS A/C)',
'pryda_nz_checkbox': True},
'external_data_sources': None,
'external_organization': None,
'external_system_url': None,
'facebook_id': None,
'first_name': 'Paul Smith',
'home_phone': None,
'id': '{Removed}',
'last_name': None,
'line_id': None,
'merge_operation': None,
'merge_set': None,
'middle_name': None,
'modify_date': datetime.datetime(2023, 3, 13, 21, 47, 32, tzinfo=tzutc()),
'other_email': None,
'other_phone': None,
'personal_email': None,
'salutation': None,
'schema': {'applies_to': None,
'created_by': None,
'date_created': None,
'enabled': None,
'id': '{Removed}',
'json_schema': None,
'name': None,
'self_uri': '{Removed}',
'version': 4},
'self_uri': '{Removed}',
'survey_opt_out': None,
'title': None,
'twitter_id': None,
'type': 'Curated',
'whats_app_id': None,
'work_email': '{Removed}',
'work_phone': {'accepts_sms': False,
'country_code': 'AU',
'display': '+61 2 8879 6897',
'e164': '+61288796897',
'extension': None,
'user_input': '+61288796897'}}
All contacts added.

Yes, that certainly could be the cause. If you have the externalContacts:identity:merge permission, the UI will give you an option to merge autogenerated contacts into an existing contact. Once a contact is merged into another, a new contact will be created with the combined information and identifiers from the source contacts. The identifier was used to automatically associated the autogenerated contact to the conversation will now be owned by the merged contact and future conversations using that identifier should be automatically associated to it.

More info about the different types of contacts and how merging works is available on the developer center. There are also some API endpoints that might be useful if you'd like to manually claim/release identifiers or clean up the autogenerated contacts rather than merge them:

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.