Developer

SEARCH

IN THIS DOCS

Getting Started with API

Developer is where you create and manage the API keys used to send WhatsApp messages from your own systems.

Creating a key

Click + New API Key to generate a new key.

After you create it, your full key is shown once:
Click Copy to copy it to your clipboard, then Done once you’ve saved it somewhere safe. If you lose it, you can’t retrieve it again, you’ll need to revoke the key and create a new one.

Your API keys

The table lists every key created for your workspace:

ColumnWhat it shows
NameWhat you called the key when you created it
KeyThe key value (partially hidden for security)
CreatedWhen the key was generated
Last UsedThe most recent time it was used to make a request
StatusActive or Revoked

For any Active key, click Revoke at the end of the row to disable it. Once revoked, a key can’t be used again, you’ll need to generate a new one.

API documentation

Below the key table, you’ll find a link to the full API Docs, covering authentication, endpoints, rate limits, and everything else you need to integrate with the API.

Settings

Personal

Update your own account details.

Name: editable.
Email: read-only here, if it needs to change, ask an Owner.
Change password: enter your current password and a new one (at least 8 characters).

Company

Set your workspace-wide company details.

Company name

Time zone: used for report day boundaries and scheduling, so make sure it matches where your team actually operates.

Team & User

This is where Owners (and, in scope, Managers) manage who has access to the workspace.

Managing users

The user list shows everyone’s name, email, role, status (active or disabled), and when they last logged in.

Click + Add user to invite someone by email.

Use the Role dropdown next to their name to set them as Owner, Manager, or Agent. A workspace can have more than one Owner.
Click Disable to revoke a user’s access without deleting their record, or the trash icon to remove them entirely.

Managing teams

Further down, the Teams section lists every team as a card, showing its members and the WhatsApp channel(s) assigned to it.

Step 1: Name your team

Click + Add team, then give it a Team name and an optional Description.

Step 2: Assign a channel

Pick which connected number(s) this team can see. Members only see the numbers checked here, across Channel, Inbox, and Templates.

Step 3: Add members

Search and check the users who belong to this team and click Save

WhatsApp profile

Manage the public-facing profile customers see on WhatsApp.

If your workspace has more than one connected number, use the selector at the top to switch between them.

Display name is per-number, changing it goes through WhatsApp Manager and requires Meta’s review, same as changing it directly on Meta’s side.
Category, Description, Address, Email, and Website are shared fields, they can apply to every number at once.

Use Apply to all numbers to push the same details everywhere, or Save to update just the number you’re currently viewing.

Billing

SEARCH

IN THIS DOCS

Getting started with Billing

Billing shows your estimated WhatsApp usage cost, broken down by country and pricing category.

Use the date range buttons (7d, 30d, 90d, or Custom) to scope the period, and Export to download the breakdown. By default the data covers All channels, but you can filter it down to a specific connected number if you only want to see that one.

At the top, you’ll see:

Estimated cost: total across all rate bands for the period
Billable messages: outbound messages sent, excluding failures
One card per pricing category with billable messages in the period (e.g. Marketing, Utility, Authentication, or Service), showing that category’s cost

Below that, a table breaks the same data down by Country and Category, showing message count, rate, and cost for each combination.

These numbers are estimates only. Meta’s own invoice is the source of truth for what you’re actually billed.

Channels

Getting started with Channel

Channel is where you connect and manage the WhatsApp numbers your workspace sends from.

If no number is connected yet, you’ll see an empty state prompting you to connect one. Once connected, each number shows as a card with:

Its Quality rating (Green, Yellow, or Red)
Its WABA ID and Phone number ID
How many Conversations and Templates it has
When it was connected, and by whom

From each card, you can Manage template, Refresh its data, or Disconnect the number.

Connecting a channel

Click + Connect a number. You’ll see two options:

Connect a WhatsApp Business number: set up or bring across a real WhatsApp Business Platform account. This is what you’ll use in production.

Try the shared sandbox number: send and receive on Elfo’s test number in a couple of minutes. No Meta account or business verification needed, useful for exploring the platform before you connect your own number.

Step 1: Choose your method

If you choose to connect a real number, pick whether you’re setting up a NEW WhatsApp Business Platform account or connecting an EXISTING one, or skip straight to Continue with Facebook if you already know what you’re doing.

Step 2: Authorize with Facebook

This opens Meta’s own login and consent screen, where you authorize elfo to manage your WhatsApp assets.

Step 3: Add your number

Meta walks you through adding your phone number, either entering a new number or selecting one already registered to your Business Portfolio.

Creating a template

Click + Add New Template.

Step 1: Choose a category

Pick Marketing, Utility, or Authentication. This changes what the rest of the form looks like, so choose the one that matches the message you’re sending.

Step 2: Fill in the content

Regardless of category (except Authentication, which has fixed content, see below), you’ll fill in:

Template Name: what identifies this template internally. Use lowercase letters and underscores (e.g. order_voucher_v3), this can’t be changed once submitted.
Language: the language you’re writing the message in. Meta reviews the template against this language.
Header (optional): the top of your message. Choose Text (a short line, up to 60 characters), or attach an Image, Video, or Document instead.
Body: the main message content, up to 1024 characters. Use B, I, S for bold, italic, and strikethrough, and click + Add Variable to insert a placeholder (e.g. {{1}}) that gets filled in per recipient when you send a broadcast.
Footer (optional): a small line of text below the body, up to 60 characters. Can’t contain variables.

Marketing

Up to 3 buttons:

ButtonWhat it doesNotes
Marketing Opt-OutA link contacts can tap to stop receiving marketing messagesRecommended for compliance
Visit WebsiteLinks out to a URL2 button maximum
Call Phone NumberLets contacts tap to call you1 button maximum
Copy Offer CodeLets contacts copy a promo code with one tap1 button maximum

Utility

ButtonWhat it doesNotes
Visit WebsiteLinks out to a URL2 button maximum
Call Phone NumberLets contacts tap to call you1 button maximum
Quick ReplyA simple button contacts can tap to send back a predefined response–

A Delivery section lets you set a custom validity period your message must be delivered within before it expires. Without one, WhatsApp’s standard 10-minute validity period applies. it.
If a message isn’t delivered in time, you won’t be charged and the customer won’t see

Authentication

Authentication (one-time passcodes and recovery codes)

Content isn’t freely editable here, it’s a fixed OTP format. You can toggle Add security recommendation and Add expiry time for the code (with an editable expiry duration in minutes), and set an Example Value for the code placeholder.
Authentication templates always get a copy-code button automatically (lets contacts copy the code with one tap), there’s no manual button configuration.
Also includes the same Delivery custom validity period option as Utility.

Step 3: Review the preview

A live Template Preview on the right shows exactly how the message will look on WhatsApp as you build it. Check it matches what you intend to send, then submit, this sends the template to Meta for review.

Step 4: Submit

Click Create Template to send it to Meta for review. Its status starts as Pending, once Meta makes a decision, it changes to Approved or Rejected.
Review usually takes anywhere from a few hours up to 48 hours, and you can check the status anytime from the template list under Manage template.
A template only becomes usable in a broadcast once it’s Approved.

Managing templates

Click Manage template on a channel’s card to see every template submitted for that number.

You can:

Search by name, or filter by Status, Category, or Language
Sort any column (Template ID, Template Name, Language, Status, Category, Last Edited)
Refresh to sync the latest status from Meta

Last Edited shows when the template was first submitted, or, if it’s been edited since, the date of the most recent edit.

Click Show Detail on any template to see its full content and preview.

Editing a template

Editing is only available for Approved and Rejected templates. While a template is Pending, you can’t edit it until Meta makes a decision on the current version.

To do it: Click Show Detail and click Edit button there.

The edit form is prefilled with the template’s current content. Template Name, Language, and Category stay locked, since Meta ties the template’s identity to these and they can’t be changed after creation.

Everything else (Header, Body, Footer, Buttons, and Delivery settings) is editable.

Saving your changes resubmits the template to Meta for review. Its status changes to Pending until Meta makes a decision, and it won’t be usable in broadcasts until then.

Channels

Getting started with Channel

Channel is where you connect and manage the WhatsApp numbers your workspace sends from.

If no number is connected yet, you’ll see an empty state prompting you to connect one. Once connected, each number shows as a card with:

Its Quality rating (Green, Yellow, or Red)
Its WABA ID and Phone number ID
How many Conversations and Templates it has
When it was connected, and by whom

From each card, you can Manage template, Refresh its data, or Disconnect the number.

Connecting a channel

Click + Connect a number. You’ll see two options:

Connect a WhatsApp Business number: set up or bring across a real WhatsApp Business Platform account. This is what you’ll use in production.
Try the shared sandbox number: send and receive on Elfo’s test number in a couple of minutes. No Meta account or business verification needed, useful for exploring the platform before you connect your own number.

Step 1: Choose your method

If you choose to connect a real number, pick whether you’re setting up a NEW WhatsApp Business Platform account or connecting an EXISTING one, or skip straight to Continue with Facebook if you already know what you’re doing.

Step 2: Authorize with Facebook

This opens Meta’s own login and consent screen, where you authorize elfo to manage your WhatsApp assets.

Step 3: Add your number

Meta walks you through adding your phone number, either entering a new number or selecting one already registered to your Business Portfolio.

Creating a template

Click + Add New Template.

Step 1: Choose a category

Pick Marketing, Utility, or Authentication. This changes what the rest of the form looks like, so choose the one that matches the message you’re sending.

Step 2: Fill in the content

Regardless of category (except Authentication, which has fixed content, see below), you’ll fill in:

Template Name: what identifies this template internally. Use lowercase letters and underscores (e.g. order_voucher_v3), this can’t be changed once submitted.
Language: the language you’re writing the message in. Meta reviews the template against this language.
Header (optional): the top of your message. Choose Text (a short line, up to 60 characters), or attach an Image, Video, or Document instead.
Body: the main message content, up to 1024 characters. Use B, I, S for bold, italic, and strikethrough, and click + Add Variable to insert a placeholder (e.g. {{1}}) that gets filled in per recipient when you send a broadcast.
Footer (optional): a small line of text below the body, up to 60 characters. Can’t contain variables.

Marketing

Up to 3 buttons:

ButtonWhat it doesNotes
Marketing Opt-OutA link contacts can tap to stop receiving marketing messagesRecommended for compliance
Visit WebsiteLinks out to a URL2 button maximum
Call Phone NumberLets contacts tap to call you1 button maximum
Copy Offer CodeLets contacts copy a promo code with one tap1 button maximum

Utility

ButtonWhat it doesNotes
Visit WebsiteLinks out to a URL2 button maximum
Call Phone NumberLets contacts tap to call you1 button maximum
Quick ReplyA simple button contacts can tap to send back a predefined response–

A Delivery section lets you set a custom validity period your message must be delivered within before it expires. Without one, WhatsApp’s standard 10-minute validity period applies. it.

If a message isn’t delivered in time, you won’t be charged and the customer won’t see

Authentication

Authentication (one-time passcodes and recovery codes)

Content isn’t freely editable here, it’s a fixed OTP format. You can toggle Add security recommendation and Add expiry time for the code (with an editable expiry duration in minutes), and set an Example Value for the code placeholder.
Authentication templates always get a copy-code button automatically (lets contacts copy the code with one tap), there’s no manual button configuration.
Also includes the same Delivery custom validity period option as Utility.

Step 3: Review the preview

A live Template Preview on the right shows exactly how the message will look on WhatsApp as you build it. Check it matches what you intend to send, then submit, this sends the template to Meta for review.

Step 4: Submit

Click Create Template to send it to Meta for review. Its status starts as Pending, once Meta makes a decision, it changes to Approved or Rejected.
Review usually takes anywhere from a few hours up to 48 hours, and you can check the status anytime from the template list under Manage template.
A template only becomes usable in a broadcast once it’s Approved.

Managing templates

Click Manage template on a channel’s card to see every template submitted for that number.

You can:

Search by name, or filter by Status, Category, or Language
Sort any column (Template ID, Template Name, Language, Status, Category, Last Edited)
Refresh to sync the latest status from Meta

Last Edited shows when the template was first submitted, or, if it’s been edited since, the date of the most recent edit.

Click Show Detail on any template to see its full content and preview.

Editing a template

Editing is only available for Approved and Rejected templates. While a template is Pending, you can’t edit it until Meta makes a decision on the current version.
To do it: Click Show Detail and click Edit button there.

The edit form is prefilled with the template’s current content. Template Name, Language, and Category stay locked, since Meta ties the template’s identity to these and they can’t be changed after creation.
Everything else (Header, Body, Footer, Buttons, and Delivery settings) is editable.

Saving your changes resubmits the template to Meta for review. Its status changes to Pending until Meta makes a decision, and it won’t be usable in broadcasts until then.

Reports

Getting started with Reports

Reports gives you visibility into conversation and broadcast performance. There are two views: Chats Report and Broadcast Report.

Use the date range buttons (7d, 30d, 90d, or Custom) and the All channels dropdown to scope the data, then Show data to refresh the view. Export downloads the current report.

Chats Report

Chats overview

Total chats: how many conversations opened in the selected range
New: how many were a contact’s first time on this thread
Returning: how many were a contact reopening an existing thread
Response rate: the percentage of chats that received a reply
Avg first response: the average time between a chat opening and the first reply

Below that, a Chat volume chart shows chats opened per day, and Chat status breaks down how many chats are currently Opened, Closed, or Unassigned.

Messages overview

While the Chats overview counts conversations, Messages overview counts individual messages within those conversations

Total messages: everything sent and received
Inbound: messages from customers
Outbound: messages you sent, with a delivery percentage

A Message volume chart shows inbound vs. outbound messages per day, and Message types breaks outbound messages down by WhatsApp pricing category: Service, Authentication, Marketing, and Utility.

Team Performance Overview

A table showing, per agent: how many chats they handled, messages sent and received, and their average reply time.

Broadcast Report

Like Chats Report, use the date range buttons (7d, 30d, 90d, or Custom) and the All channels dropdown to scope the data, and Export to download it.

At the top: Broadcasts Completed and Broadcasts Failed (each shown as a count and a percentage of total campaigns),
and Total Broadcasts started in the period. Below that, a chart shows campaigns started per day, colored by outcome.

The table above lists every broadcast in the period: initiated time, broadcast name, channel, template used, segment, total recipients, total messages sent, and status.

Click Download report on any row to get a CSV with per-recipient detail

Broadcast

Getting started with Broadcast

Broadcast is where you send an approved message template to a segment or a list of contacts.

The Broadcast page lists every broadcast you’ve sent, scheduled, or saved as a draft, with its status, broadcast time, name, segment, and recipient count.
Use the search bar to find a broadcast by name, and click any column header (Status, Broadcast Time, Name) to sort the list. Broadcast Time is sorted newest first by default.

Creating a broadcast

Click + Create Broadcast.

Step 1: Name it and pick your audience

Name your broadcast, then choose your audience: either From a segment (pick one of your saved segments) or Paste a list (paste numbers directly).

Step 2: Set your targeting

Optionally toggle Target previously engaged contacts only to limit the send to contacts who’ve already messaged this channel.

Turning this off includes new contacts too, only do this if they already expect to hear from you, since messaging people who haven’t opted in risks spam reports against your WABA number.

Step 3: Choose your message

Under Message, pick Send from (the channel to send from) and a Template. Only templates approved for that channel show up here.

Step 4: Fill in the placeholders

Templates often include placeholders, spots in the message that get replaced with something specific to each recipient, like their name or a voucher code. These show up as {{1}}, {{2}}, and so on in the template text.

For example, the order_voucher_v3 template reads:

Here, {{1}} is mapped to a Voucher Code contact field. Each recipient then sees their own voucher code in place of {{1}} when the message is sent.

Under Fill in the placeholders, choose which contact field feeds each numbered placeholder ({{1}}, {{2}}, and so on) in your template. Every placeholder needs a field mapped to it, if one is left unmapped, recipients see a dash where that content should be.

The Preview panel on the right shows exactly what recipients will see, and updates as you fill things in.

Step 5: Test and send

Optionally send a Test broadcast to one number, this sends the real template to that number and saves the broadcast as a draft first. The modal stays open on the same screen, so you can keep editing.

From here:

Click Save to save the broadcast as a Draft, to come back to later.
Click Next to continue, where you’ll choose between Send now

or Send later.

Broadcast statuses

StatusWhat it meansAvailable Actions
DraftSaved but not sent yetSend now, Clone, Continue editing, Delete
ScheduledSet to send at a future timeClone, Cancel (reverts it to Draft)
In ProgressCurrently sendingClone
CompletedFinished sendingClone, View Details
FailedFailed to sendClone, View Details

Viewing broadcast details

Click a broadcast to open its details.

Completed

Details: when it was initiated and completed, the segment used, recipient count, total messages, and who sent it.
Delivery: a breakdown of Sent, Delivered, Read, and Failed counts.
Recipients: every number the broadcast went to, with its individual status.

Draft

Drafts show the same Details section, but with Total messages marked as “available when completed”, plus quick access to Send now or Continue editing right from the detail view.

Failed broadcasts

For a failed broadcast, the Recipients list shows the failure reason next to each number, so you can see exactly what went wrong.

Contacts

Getting started with Contacts

Contacts is where you manage everyone your workspace can message: their details, tags, custom data, and the segments you build from them.

The Contacts page lists everyone in your workspace, with their WhatsApp number, name, connected channel, tags, and who last interacted with them. Use the search bar or the Tags, Channels, and Status filters to narrow the list down. The tabs above the table are your saved segments, more on those below.

Tags

Tags are simple labels you can attach to contacts (e.g. “VIP customers”, “Follow-up”). Manage them from Tags in the toolbar.

Renaming a tag keeps every segment that uses it working, since segments reference the tag itself, not its name. Renaming is always safe.
Deleting a tag permanently removes it from every contact that has it. This can’t be undone.

Contact fields
By default, a contact only has a WhatsApp number and Name. Everything else, like Status, Loan Amount, Due Date, Branch, or anything specific to your business, is a custom field your team defines. Manage these from Fields in the toolbar.

Each field has a Name, an optional Description (notes for your team on what to enter), and a Type: Text, Number, Date, or Select (a fixed list of options you define, e.g. Status: New, Contacted, Qualified, Rejected).
Deleting a field permanently removes its stored values from every contact, the contacts themselves stay, but their data for that field is gone. This can’t be undone.

Deleting or blocking a contact

Open a contact’s details (from Contacts or from within a conversation in Inbox) to delete or block them. Blocking stops them from messaging you; deleting removes their record entirely.

Adding a contact manually

Click + Add contact.

Only WhatsApp number is required, you can leave every other field (Name, Email, Tags, and any custom fields) blank and fill it in later.

Importing contacts

Click Import to bring in contacts from a CSV file.

Step 1: Purpose

Upload your file, and choose what the import should do:

Add & update contacts: updates existing contacts and creates profiles for numbers that aren’t in your workspace yet.
Add new contacts only: imports new contacts, skipping any numbers already in your workspace.
Update existing contacts only: updates existing contacts, skipping any numbers not yet registered.

Importing contacts

Click Import to bring in contacts from a CSV file.

Step 1: Purpose

Upload your file, and choose what the import should do:

Add & update contacts: updates existing contacts and creates profiles for numbers that aren’t in your workspace yet.
Add new contacts only: imports new contacts, skipping any numbers already in your workspace.
Update existing contacts only: updates existing contacts, skipping any numbers not yet registered.

Step 2: Tags

Optionally tag this whole batch (so you can find or undo the import later), and apply any existing tags to every row.

Step 3: Mapping

For each column in your file, choose which contact attribute it maps to (Phone Number, Full Name, Tags, or any custom field), or mark it Not imported. A live preview shows the first few rows of your file so you can confirm the mapping looks right.

Step 4: Review

Check a summary before you commit, showing how many contacts will be added, updated, or skipped.

Exporting contacts

Click Export to download your contact list as a CSV file, with all contact details included.

Segments

A segment is a saved filter, a way to group contacts that match certain conditions so you can target them later (e.g. for a broadcast).

Step 1: Name your segment
Click + Segment, give it a name and an optional description.

Step 2: Add your filters
Click + Add filter row. Each row lets you filter by:

TypeOperatorsValue Input
Textis equal to, is not equal to, contains, does not contain, exists, does not existFree text
Numberis equal to, is not equal to, greater than, less than, between, exists, does not existNumber input (two, for “between”)
Dateis equal to, before, after, between, exists, does not existDate picker (a range picker for “between”)
Selectis equal to, is not equal to, has any of, has none of, exists, does not existChecklist of the field’s predefined options

What each operator means:

is equal to / is not equal to: matches an exact value, or excludes it.
contains / does not contain: matches if the field’s text includes (or doesn’t include) what you type, useful for partial matches.
greater than / less than: matches numbers above or below a value.
before / after: matches dates earlier or later than a specific date.
between: matches values (numbers or dates) that fall within a range you set.
has any of / has all of / has none of: for a field or tag with multiple options checked, has any of matches contacts with at least one of them, has all of matches only if they have every one of them, and has none of matches contacts with none of them.
exists / does not exist: checks whether a contact has any value in that field at all, so these two don’t need a value input.

If you add a second filter row, a toggle appears so you can choose whether contacts need to match all rows or any row. With just one row, there’s nothing to combine, so the toggle stays hidden.

Step 3: Check the preview

As you build the filter, a live preview shows how many contacts match

Once a segment is saved, you can also export just its contacts, select the segment’s tab above the contact list, then click Export segment

Inbox

Getting started with Inbox

Inbox is where you handle conversations with your contacts. Most of what you’ll see here is inbound messages that come in through WhatsApp, but you can also start a new conversation yourself.

Every conversation shows up as a row in the conversation list, with the contact’s name, a preview of the last message, who it’s assigned to, and which channel it came in on.
Use the tabs above the list to filter what you see:

Open: conversations that are still active
Unassigned: conversations no agent has picked up yet
Mine: conversations currently assigned to you
Closed: conversations you’ve closed

Replying to a conversation

Open a conversation and use the tabs above the message box:

Reply: send a regular message.
AI assist: get help polishing what you’re about to send.
Internal note: leave a note your team can see, but the contact can’t.

Using AI assist
Type a draft, pick a tone (Professional, Concise, Friendly, or Simple), and click Rewrite to have it reworded for you before you send it.

Using internal notes
Switch to the Internal note tab to leave a note on the conversation that only your team can see, it’s never sent to the contact on WhatsApp This is useful for leaving context for whoever picks up the conversation next, flagging something that needs follow-up, or coordinating with a teammate without leaving the thread Internal notes show up inline in the conversation history, but styled differently from regular messages so it’s clear they’re internal-only.

Next to the message box, you’ll also find:

Attachment (paperclip icon): send a file, image, or document along with your message.
Template: send an approved message template. You’ll need this once the 24-hour conversation window closes, WhatsApp only allows template messages outside that window, so this is how you re-open the conversation.

Assigning conversations
Click the agent badge in the top right of a conversation to reassign it.

You can search for a teammate, use Assign to me, or Unassign to send it back to the unassigned queue. Only teammates with access to that conversation’s channel show up in the list.

Starting a new conversation

Click + Contact to add a new contact and, optionally, start a conversation with them right away.

WhatsApp number and Name (optional): the contact’s basic details.
Tags: apply any existing tags to this contact.
Open a chat now: when this is on, starting the conversation sends a template message. WhatsApp only lets businesses message a contact who hasn’t messaged them first if they use an approved template, so you’ll need to pick one from Template to send.

Contact details and attachments

Click a contact’s name inside a conversation to open their details on the right.

Contact details

WhatsApp number, name, tags, email, first/last seen, conversation count, and any custom fields your workspace has added (e.g. Status, Loan Amount, or Branch).
By default a contact only has WhatsApp number and Name, everything else is a custom field your team defines. You can edit any of these details directly from this panel, no need to leave the conversation and go to the Contacts page.

Attachments

Every file shared in that conversation, with a download button for each.

Quick Start

  • Home
  • >
  • Quick Start

Connecting your WhatsApp channel

Before you can send or receive a single message, you’ll need to bring a WhatsApp number into your workspace. Go to Channel and click Connect. You’ll see two options:

Connect a WhatsApp Business number: set up or bring across a real WhatsApp Business Platform account. This is what you’ll use in production.
Try the shared sandbox number: send and receive on Elfo’s test number in a couple of minutes. No Meta account or business verification needed, a good way to explore the platform before you connect your own number.

Step 1: Choose your method

If you’re connecting a real number, you’ll be asked whether you’re setting up a NEW WhatsApp Business Platform account or connecting an EXISTING one. If you already know what you’re doing, you can skip straight to Continue with Facebook.

Step 2: Authorize with Facebook

Clicking Continue with Facebook opens Meta’s own login and consent screen. Here, you authorize Elfo to manage your WhatsApp assets on your behalf.

Step 3: Add your number

From there, Meta walks you through adding your phone number, either entering a new number or selecting one already registered to your Business Portfolio.

Understanding your workspace

Everything in the platform lives inside a workspace. A workspace can connect multiple WhatsApp channels, and every user, team, contact, and broadcast belongs to that workspace.

Roles

There are three roles, each with a different level of access:

OwnerManagerAgent
InboxFull accessFull accessFull access
ContactsFull accessFull accessFull access
BroadcastFull accessFull accessNo access
ReportsFull accessFull accessNo access
ChannelFull accessSubmit & edit templates onlyNo access
BillingFull accessNo accessNo access
Company SettingsFull accessNo accessNo access
Team & UsersFull accessLimited to own teamNo access
Personal SettingsFull accessFull accessFull access

Owner: has full control over the workspace. Owners connect channels, manage billing, create teams, and manage everyone’s access.
Manager: runs day-to-day operations. Managers handle the inbox, contacts, broadcasts, and reports, and manage members within their own team.
Agent: handles conversations and contacts on the channel(s) their team has access to.

Teams
You can organize a workspace into teams (e.g. “CS Team”, “Sales Team”). Each team gets:
One or more WhatsApp channels
A set of members (Managers and Agents)

Members only see the channels assigned to their team, so a Sales agent won’t see CS conversations and vice versa. A single team isn’t limited to one channel, you can assign as many as you need.
Only the Owner can create teams and assign channels to them. Managers can add or remove Agents within their own team, but they can’t create new teams or reassign channels.

Inviting your Teammates

Step 1: Send the invite

Go to Settings > Team & Users and click + Add user. Enter the person’s email, they’ll receive an invitation to join your workspace.

Step 2: Set their role

Once they’ve accepted, use the Role dropdown next to their name to set them as Manager or Agent.

Step 3: Add them to a team

Scroll down to the Teams section and either create a new team or edit an existing one to include them. Click + Add team,

or the edit icon on a team card, then check off the teammate under Add team members.

A teammate only sees the channel(s) assigned to their team, so make sure they’re added to the right one.

Can't find what you're looking for? Talk to an expert here!

©2026 Elfo Sdn. Bhd.