Contact management
Import, organize and manage the people your agents talk to and your campaigns call.
Overview
Contacts are the people your agents talk to. Anyone who calls or writes to your agents is added on their own; you can also import a file, add someone by hand or create contacts through the API. A phone number belongs to one contact in a workspace.
- Imports
- CSV or Excel files, mapped column by column. Large files import into a list or a campaign in the background.
- Contact lists
- Reusable groups of contacts that a campaign can call.
- Filters and views
- Find people by any detail or field, and save the filters you use as a view.
Contact fields
Each contact can store the following information:
| Field | Type | Required | Description |
|---|---|---|---|
phone_number | string | Yes | International number with the country code, e.g. +15551234567 (E.164). |
first_name | string | No | First name. |
last_name | string | No | Last name. |
display_name | string | No | A name to show instead of first and last name. |
email | string | No | Email address. |
company | string | No | Company or organization name. |
notes | string | No | Internal notes. |
tags | array | No | Tags for grouping and filtering. |
fields | object | No | Your workspace's own fields, by key (below). |
Your own fields
Add the data your business needs, such as interest, budget or account number, in Settings → Contact fields: text, number, date, choice, email, phone or link fields, up to 200 per workspace. Importing a file can create them from its columns.
Messages, WhatsApp templates and campaign steps read a field as a variable: {{contact.interest}} for a field named Interest, with a fallback for an empty value after a bar: {{contact.interest | our plans}}.
Importing contacts
Import a file
Open Contacts
Go to Contacts in the sidebar.
Choose the file
Click Import and select a CSV or XLSX file with a column of phone numbers.
Map the columns
Choose what each column becomes: a contact detail, a contact field (an existing one or a new one), or nothing.
Import
Review the preview and click Import. A contact that already exists gets the values your file has; blank cells change nothing, and duplicate rows in the file are skipped.
name,phone,email,company,tags,interest John Smith,+15551234567,john@example.com,Acme Corp,"lead,enterprise",Pro plan Jane Doe,+15559876543,jane@example.com,TechStart,"lead,startup",Starter plan Bob Wilson,+15555555555,bob@example.com,BigCo,"customer,vip",Renewal
Create contacts through the API
Add contacts from your own code with an API key that has the contacts:write scope. The number must include its country code:
curl -X POST https://www.nutalk.ai/v1/contacts \
-H "Authorization: Bearer $NUTALK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"phone_number": "+14155551234",
"first_name": "Jane",
"last_name": "Smith",
"email": "jane@example.com",
"company": "Tech Startup",
"tags": [
"prospect",
"inbound"
],
"fields": {
"interes": "Departamento"
}
}'Contact lists
A list is a group of people a campaign calls or writes to, such as enterprise leads, trial users, churned customers or VIP accounts. A contact can be in several lists.
Create the list
Open Campaigns → Contact lists and click New list.
Name it
Give it a name and, if you want, a description.
Add people
On Contacts, filter and select people and choose Add to list; or import a file into the list; or add people one by one.
Link a list to a campaign in the campaign's Settings → General: its members are enrolled, and so are the people you add to the list later. Members marked do-not-contact are skipped.
Finding contacts
Search
The search box finds contacts by name, phone number or email.
Filters
Quick filters for list, tag, channel and last contact sit above the table, and Filter adds any other detail or field:
| Filter | Example |
|---|---|
| Tag | has any of “enterprise” |
| Added | in the last 30 days |
| Source | is HubSpot |
| Campaign | is in no campaign |
| Last contact | never |
Save the filters and columns you use often as a view.
Managing contacts
- Edit contacts
- Open a contact to change its details and fields. A field saves when you press Enter or leave it.
- Bulk actions
- Select contacts to add them to a list or a campaign, add or remove tags, export them as CSV, or delete them.
- Duplicates
- A phone number belongs to one contact, so a call or an import from a known number lands on the same contact.
- Delete contacts
- Delete one contact or many. Contacts with calls, chats, appointments or campaigns are kept, so their history stays whole; the rest are deleted for good.
When someone on a campaign call asks not to be called again, the AI reads it from the call afterwards: the attempt ends, the contact is marked do-not-contact and their pending attempts stop in every campaign. Calls placed by hand or through the API, and calls the AI can't read, mark no one, so mark those people yourself: the Campaign calls & messages switch on the contact's page turns campaigns off for that person, and you can switch it back on later. To mark many numbers at once, upload them in Contacts → More → Do-not-call list.
CRM integrations
Bring leads in from your CRM, and write each call's result back with the campaign's CRM steps:
API reference
Manage contacts from your own code with the Contacts API:
| Endpoint | What it does |
|---|---|
GET /v1/contacts | List contacts, with search and tag filters |
POST /v1/contacts | Create a contact |
GET /v1/contacts/:id | Get a contact |
PATCH /v1/contacts/:id | Update a contact |
DELETE /v1/contacts/:id | Delete a contact |
Fields, lists, large imports and the do-not-call list have their own endpoints: see Contact lists, Contact imports and POST /v1/exclusions.
Best practices
- Write numbers with the country code
- Use E.164 (+ and the country code, like +15551234567). NuTalk normalizes what it can and refuses numbers it can't read; the API never guesses a country.
- Use tags strategically
- Keep a consistent tagging scheme. Use tags for lead status, source, industry or anything you want to filter by.
- Keep data clean
- Remove disconnected numbers and numbers that never connect, so your campaigns call people who can answer.
- Use your fields
- Keep what your messages and campaign steps need in contact fields, and insert them as variables to personalize each conversation.