Placeholder Contacts
A placeholder contact is a CRM contact created for a phone number that did not match an existing CRM record. The connector only creates it when the user or an auto-logging rule chooses to log against that unknown number.
Runtime Flow
flowchart TD
A[findContact returns no real contacts] --> B{Create contact?}
B -->|Manual user action| C[User enters/selects contact details]
B -->|Auto-logging rule| D[Core uses caller ID or configured placeholder name]
C --> E[createContact]
D --> E
E --> F[createCallLog or createMessageLog]
Connector Responsibilities
Implement createContact. It receives:
phoneNumbernewContactNamenewContactTypeadditionalSubmissionuserauthHeader
Return contactInfo with at least id and name.
Do Not Auto-Create In findContact
findContact runs for calls and messages the user may never log. Creating contacts there can pollute the CRM. Return no matches and let the configured logging flow decide whether to create a contact.
Manifest Contact Types
If users need to choose a CRM entity type, define contactTypes:
{
"contactTypes": [
{ "display": "Person", "value": "Person" },
{ "display": "Company", "value": "Company" }
]
}
The selected value is passed to createContact as newContactType.
Testing
- Call or message an unknown number.
- Log the communication and choose create contact.
- Verify
createContactcreates the CRM record. - Verify the log is created against the new contact.
- Test the auto-logging placeholder rule if your account uses it.