Contacts and campaigns
Import contacts, respect do-not-call, and run outbound campaigns.
Contacts are the people your clients’ agents call. Campaigns dial a list of contacts with one agent, inside the hours and days you set, and retry the ones who didn’t pick up. Together they let you run reactivation, reminder and follow-up outreach for your clients.
Plan: Adding, importing and editing contacts, and running campaigns, require a plan that includes campaigns — by default Agency and Agency Pro.
Agency owners, agency admins and client admins can manage contacts and campaigns. Client members can view them. Clients see the Contacts page as “Leads & Contacts”.
Add contacts#
Add one contact
- Open Add contactGo to Contacts and click “Add contact”.
- Enter the details“Phone number” is required, in international E.164 format with the country code (for example
+14155550123). Name, Company and Email are optional. Separate multiple tags with commas. - SaveClick “Add”.
Import a CSV
- Switch into the clientUse the workspace switcher to open the client’s workspace.
- Choose the fileGo to Contacts, click “Import”, and pick your CSV. Format it as described below.
- Check the resultNumbers already in the workspace are updated; new ones are added; invalid rows are skipped.
You can also pull contacts from HubSpot or GoHighLevel and keep them in sync. See Import and sync CRM contacts.
CSV import format#
Files must be UTF-8 (a byte-order mark is fine), up to 5 MB and 10,000 rows. Split larger files. Column headers are not case-sensitive.
| Column | Rules |
|---|---|
| Phone (required) | The first column named phone, phone_number, e164, number or mobile. Numbers without a country code are read as US numbers on the Contacts page. Rows with an invalid phone are skipped. |
| Name | name or full_name. |
email. | |
| Company | company. |
| Tags | tags, with tags separated by | or ;. Not commas. |
| Do not call | dnc or do_not_call. 1, true, yes, y, x or dnc marks the contact do-not-call. Blank or no leaves it as it is: an import never clears an existing do-not-call mark. |
| Anything else | Every other non-empty column is saved as a custom field on the contact. |
- Duplicate numbers within the file are skipped.
- If a number already exists, non-empty values in the file overwrite its fields, and tags are added to the existing ones.
- For numbers outside the US, include the country code, or import from the campaign builder, which lets you choose the phone region.
dnc column to mark numbers that must not be called as you import them. You can also mark contacts afterwards with “Mark DNC”.Find and manage contacts#
Use the segments “All contacts”, “Contacted”, “Never contacted” and “Do-not-call”. Search by name, phone, email or company. Filter by Source (Manual, CSV, CRM, Inbound) or Tag, and sort by Newest, Name or Last called.
Bulk actions
Select contacts to see the bulk bar:
| Action | What it does |
|---|---|
| Add to campaign | Adds the selected contacts to a campaign. |
| “Add tags” | Adds tags to every selected contact. |
| “Remove tags” | Removes tags from every selected contact. |
| “Merge” | Two or more selected. Choose the record to keep; its calls, campaign membership, tags and missing fields are carried over from the others. |
| “Mark DNC” | Blocks outbound calls to the selected contacts. |
| “Delete” | Deletes the selected contacts. |
Contact profile
Click a contact to open its profile: the information captured on calls, a timeline and the call history. Use “Mark DNC” or “Allow calls again” here.
Do-not-call#
A contact marked do-not-call shows “Outbound calling is blocked.” Their history stays for reporting and compliance. Campaigns check do-not-call right before each dial, and blocked contacts are marked Skipped.
| Where it’s marked | What it blocks |
|---|---|
| Agency-level contact (added in agency-wide context) | The number, for every client in your agency. |
| Client contact (added inside a client’s workspace) | The number, for that client only. |
- GoHighLevel imports mark DND contacts as do-not-call. HubSpot imports never do, so mark those yourself.
- A CRM sync can add a do-not-call block but never removes one.
- Any team member who can manage contacts can mark or clear do-not-call, even without a plan that includes campaigns.
Export contacts#
Click “Export” to download contacts.csv (up to 10,000 rows) with the columns e164, name, email, company, tags and dnc. Tags are joined with |.
dnc column is read back on import, so do-not-call marks travel with an exported file.Before you run a campaign#
- A Wozena plan that includes campaigns, with an active subscription.
- A published agent in the client’s workspace. See Test and publish.
- A phone number assigned to that client to call from. See Phone numbers.
- An active subscription for the client. See Billing clients.
- Contacts with consent to be called, and a clear idea of the hours you’re allowed to call them.
Create a campaign#
Go to Campaigns and click “New campaign”. The builder has four steps: Setup, Audience, Schedule and Review.
1. Setup
| Field | What it does |
|---|---|
| “Campaign name” | A name your team will recognise, such as “Spring reactivation outreach”. |
| “Calling agent” | The agent that places the calls. The campaign belongs to this agent’s client. |
| “Caller ID” | Optional. “Automatic — pick for me” uses an available workspace number when the campaign starts, or pick a specific number. |
2. Audience
Either upload a CSV or select existing contacts.
- Upload: drop the file on “Drop your contact CSV here” (up to 5 MB and 10,000 rows). Under “Map your columns”, choose the column for Phone number (required), Full name, Email, Company, Tags and Do not call. Set the “Phone region” (US, CA, GB, AU, KE, ZA, NG or IN) used to read numbers without a country code, then check the “Data preview”.
- Existing contacts: select contacts from the client’s workspace. Do-not-call contacts and contacts from other clients aren’t eligible.
Uploaded contacts are saved into the client’s workspace when you continue past this step, even if you don’t finish the campaign.
3. Schedule
| Setting | What it does |
|---|---|
| “Calling window” | The local hours when calls may start. Presets: Business hours 9–5, Daytime 9–8, Evenings 5–9. The default is 9 AM–8 PM. Adjust with Start time and End time. A window that starts before 8 AM or ends after 9 PM shows a reminder to check local calling rules. |
| “When to start” | Either “As soon as I start it” or “At a scheduled time”, with a date and time in your local time. See below. |
| “Timezone” | Used for contacts whose local time can’t be worked out from their number. See below. |
| “Calling days” | The days calls may happen, with Weekdays and Every day shortcuts. None selected means every day. |
| “Simultaneous calls” | Maximum contacts ringing at once. Default 5. Also limited by the concurrency on your Retell account. |
| “Attempts per contact” | Total tries before a contact is exhausted. Default 3, maximum 10. |
| “Wait between retries” | Delay before another attempt, in minutes or hours. Default 1 hour. |
| “Recent-contact cooldown” | Skip contacts reached within this many hours. Default 24. |
4. Review
Check the summary, including when it starts, and click “Create draft”. Nothing dials until you start the campaign.
Scheduling a start time
With “At a scheduled time”, press “Start” on the campaign any time before the scheduled moment. It moves to Scheduled and begins dialing on its own at that time. Calls still only go out inside the calling window and on the calling days. To change the time, edit the campaign while it’s scheduled.
Calling hours and local time#
The calling window is applied in each contact’s own local time, with daylight saving handled. A window of 9 AM–8 PM means a call can start from 9:00 but not at or after 8:00 PM local time.
- For US and Canadian numbers, local time comes from the area code.
- For other numbers, or an area code we don’t recognise, the campaign’s “Timezone” is used.
- Before each dial we check the calling window, calling days, do-not-call and the recent-contact cooldown.
You and your clients are responsible for calling hours, consent and do-not-call rules in every place you call. Wozena does not force a legal calling window — it accepts any hours you set.
We recommend keeping calls between 8 AM and 9 PM in the contact’s local time as a minimum, only calling people who agreed to be contacted, and checking the laws that apply to your clients and their contacts (for example the TCPA in the US) before you start.
Start, pause and stop#
Open the campaign from Campaigns to see its status and actions.
| Status | Actions available |
|---|---|
| Draft or Scheduled | “Start” |
| Running | “Pause”, “Stop” |
| Paused | “Resume”, “Stop” |
| Completed | None. A campaign completes on its own once every contact is resolved. |
- “Edit” is available while a campaign is a draft, scheduled or paused.
- “Delete” is always available. Deleting a running campaign stops it first.
If a campaign won’t start#
| Message | Fix |
|---|---|
| “Add at least one contact before starting this campaign.” | Edit the campaign and add contacts. |
| “This campaign’s agent isn’t ready to place calls.” | Publish the agent, then start the campaign. See Test and publish. |
| “This campaign has no phone number to dial from.” | Buy or import a number and assign it to the client. See Phone numbers. |
| “Multiple phone numbers are available — choose which one this campaign should dial from before starting.” | Edit the campaign and pick a Caller ID. |
| “This campaign’s caller-ID number is no longer available” | The chosen number was released or moved. Edit the campaign and pick another. |
| “That phone number is assigned to a different client” | Pick a number that belongs to the campaign’s client. |
| “An active client subscription is required to run this campaign” | Activate the client’s plan. See Billing clients. |
| “An active subscription is required for this action” | Your own Wozena subscription isn’t active. See Your Wozena plan. |
| Cannot start a campaign that is completed (or similar) | That action isn’t allowed in the campaign’s current status. See the table above. |
A client’s plan limits, such as a free-plan quota or an overage cap, can also stop a campaign from starting or resuming.
Contact statuses and retries#
The campaign page shows a status breakdown, the share of contacts completed, the schedule and dialing settings, and a contacts table with each contact’s attempts, outcome and status.
| Status | Meaning |
|---|---|
| Pending | Waiting to be dialed. |
| Calling | A call is in progress. |
| Retry | The last attempt didn’t reach anyone. It will be tried again after the wait between retries. |
| Completed | The contact was reached. They aren’t called again. |
| Failed | The number can’t be called, or every attempt was used. |
| Skipped | Blocked at dial time, for example by do-not-call. |
Which outcomes are retried
| Outcome | Result |
|---|---|
| Hung up (by caller or agent), transferred, declined, reached the maximum duration, or ended for inactivity | Completed. Never redialed. |
| No answer, busy, voicemail, answering machine detected, dial failed, or provider unavailable | Retried until Attempts per contact is used up. |
| Invalid number, no valid payment, permission denied, or a routing error | Failed straight away. |
Tips#
- Run a small campaign of your own numbers first to hear the agent and check the calling window.
- Add post-call analysis fields such as
appointment_bookedso you can measure results. See Build an agent. - Send campaign outcomes to the client’s CRM with Post-call automations.
- Start with a modest Simultaneous calls value so the agent and your Retell concurrency aren’t overwhelmed.
- Keep the recent-contact cooldown on so people aren’t called by two campaigns on the same day.
- Review results in Calls and reports.