PPingloopDocs
Contacts

Contacts & companies

Identity resolution

Every channel identity (Messenger PSID, WhatsApp number, Telegram id, …) is stored in externalIds. A new conversation looks for a contact by that id, then email, then phone, and creates one if none matches.

Custom fields

Define fields for contacts, companies and tickets under Contacts → Custom fields. Types: text, number, date, select, boolean, URL.

Duplicate merging

The Duplicates tab groups contacts sharing an email, phone or full name. Choose the record to keep; conversations, tickets, ratings and the timeline of the others move onto it and missing fields are filled in. Merged records are hidden but retained.

CSV import

Import up to 7,500 rows per file. Columns are mapped automatically:

ColumnMapped to
name, first name, full nameFirst name (split into last name when needed)
last name, surnameLast name
emailEmail (used to update existing contacts)
phone, mobilePhone (normalised)
companyCompany (created if new)
tagsTags, separated by ; , or ``
anything elseA custom field

Existing contacts are updated by email or phone; new ones are created.

Activity timeline

Every contact has a timeline: conversations, tickets, notes, imports, field changes, merges, CSAT ratings and AI agent interactions.