# Introduction Source: https://docs.coralmessaging.com/en/api-guide/introduction Provisioning Coral APIs Welcome to the Coral Messaging API provisioning guide. The Coral Messaging API allows your applications to interact with Coral’s messaging platform programmatically; you can send messages to customers, receive incoming messages in real time, manage contacts or templates, and integrate Coral’s messaging capabilities into your own products or workflows such as CRM, customer service platform, or analytics tools. For complete technical details of each endpoint – all the request/response fields, error codes, etc. – please refer to the Coral Messaging API Reference documentation at [https://platform.product.coralmessaging.com/docs#/](https://platform.product.coralmessaging.com/docs#/), which is an interactive Swagger UI. # OpenAPI Source: https://docs.coralmessaging.com/en/api-reference/index Coral Messaging OpenAPI specifications Stay tuned: we are updating this section to include an interactive OpenAPI spec. View the OpenAPI specification file # Broadcast Messaging Source: https://docs.coralmessaging.com/en/functionality/broadcast-messaging How to send broadcasts using WhatsApp templates Sending one message into many different chats at once (a “broadcast message”) can only be done over WhatsApp using what WhatsApp calls a “template”.  A template is a WhatsApp-approved, pre-written message that will be sent by your Coral API phone number (when sending into a group chat) or from your employees phone number (when sending into a direct chat) into a single chat or many chats at one time.  Note that WhatsApp will restrict deliverability of templates created for marketing purposes to ensure that some WhatsApp users don't receive too many marketing messages. You can read more about WhatsApp policies and templates [here](/en/whatsapp/sending-messages-from-the-api). Coral has built a proprietary feature that automatically maximizes deliverability and minimizes cost of each template send for your benefit. Templates are shared across your organization, so other users of your organization’s account can see the templates that you make and vice versa.  Templates can have dynamic variables which can be populated with a unique piece of content for each time you send a broadcast, so that you can reuse a well-structured template for recurring uses of the same use case. Common uses of variables are to insert a new image and event date and time details into an event invite template, or insert a new survey link into a customer feedback template.   Some explanations of the required fields when creating a template: * **Category**: You will need to choose your template category; most templates you will create on the fly will be considered a Marketing template by WhatsApp. * **Template Type**: the “Standard (text only)” template type is straightforward, but the “Media & Interactive” template type deserves more explanation.  Once you’ve selected this type, more options will display to the right.   * Header: Adding a header to your template is where you can attach an image, video, or other document.   * Buttons: Adding buttons can make it easier for your contacts to interact with your template message, and it usually has a bot or automations behind it to collect replies or take an action at scale when your contact responds by tapping a button in the template.  The maximum buttons that can be added to a template is 10.  The “Enter text” field is where you input what the button will say.  In the nearby dropdown, you can choose what you want the button to do when clicked:  * Quick Reply means the contact will simply reply to the bot’s question with that response,  * URL sends the contact to that URL when clicked,  * Phone Number opens up a WhatsApp chat with the phone number specified.   Create your first template that you can use to test broadcast messaging.  The simplest template to create is a “Standard (text only)” template type, of the Marketing category, with simple text like “Hello, and welcome to our service!” in the content section.  Once you hit submit, it will be approved by WhatsApp automatically, usually within seconds.   Contact your Coral rep to discuss creating templates for your account, and we can guide you. # WhatsApp Coexistence Functionality Source: https://docs.coralmessaging.com/en/functionality/coexistence-functionality WhatsApp Coexistence requirements, limitations, and feature behavior This page documents the requirements and known limitations of WhatsApp coexistence as it applies to numbers connected to Coral. It covers eligibility, device requirements, throughput, and the WhatsApp Business app features that change behavior once a number is onboarded to your Coral account in coexistence mode. Always confirm current behavior against Meta's WhatsApp Business Platform documentation before going to production. Meta updates the supported region list and feature behavior periodically. ## Regional eligibility As of February 1, 2026, WhatsApp Business numbers with country codes registered in Nigeria or South Africa can't be onboarded to coexistence. All other regions where the WhatsApp Business Platform is generally available, including the EU, UK, Australia, and the Americas, are supported. Check Meta's regional support list for the latest status. ## Device requirements * **WhatsApp Business app version 2.24.17 or later.** Earlier versions don't support the coexistence onboarding flow. * **The app must have been using the phone number for at least 1 week** before onboarding. * **The app must remain installed** on the original device. Uninstalling the WhatsApp Business app severs the coexistence link and the number will need to be re-onboarded. * **The app must be opened at least once every 13 days.** If the app stays closed beyond that window, the connection between the app and the Cloud API can drop. * **Companion devices are unlinked at onboarding.** WhatsApp Web, WhatsApp Desktop (macOS), and other linked sessions are signed out as part of the onboarding step. Supported companion clients can be re-linked afterward. * **WhatsApp for Windows and Wear OS aren't supported** in coexistence mode and won't function as companion clients after onboarding. ## Throughput Coexistence numbers have a **fixed Cloud API throughput of 20 messages per second** (TPS). This cap is set by Meta to keep the WhatsApp Business app and the Cloud API in sync, and applies regardless of the number's tier or messaging limit. Numbers that need higher TPS for outbound campaigns should not be onboarded via coexistence. ## Marketing Messages Lite API Numbers onboarded via coexistence are **not eligible for the Marketing Messages Lite API**. The Lite API is Meta's offering for specific marketing-only use cases and requires standard Cloud API onboarding rather than coexistence onboarding. ## Feature behavior in the WhatsApp Business app Once coexistence is active, several WhatsApp Business app features change behavior. The two tables below split them into (A) features that are disabled entirely and (B) features that continue to work in the app but don't synchronize with the Cloud API or surface in Coral. ### A. Features disabled in the WhatsApp Business app | Feature | Behavior after coexistence onboarding | | ----------------------------------------------- | ---------------------------------------------------------------------- | | Broadcast lists | Disabled. New lists can't be created. Existing lists become read-only. | | Disappearing messages (1:1 chats) | Disabled. The setting is unavailable in coexistence mode. | | Disappearing messages (auto-mode) | Force-disabled at onboarding. | | View once media | Disabled. View-once photos and videos can no longer be sent. | | Live location sharing (1:1 chats) | Disabled. | | Message edit | Disabled. Sent messages can't be edited. | | Delete for everyone (message revoke / "Unsend") | Disabled. Sent messages can't be deleted for the recipient. | ### B. Features that continue in the app but don't sync to the Cloud API | Feature | Behavior after coexistence onboarding | | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Group chats | Continue to work in the app. Not mirrored to the Cloud API and not visible in Coral. (Coral offers a separate group chat option that allows for visibility and automation in groups; contact the Coral team for details.) | | Voice calls and video calls | Continue to work in the app. Can't be initiated, controlled, or logged through the Cloud API. | | Number conceal (hiding the business phone number) | Continues to work in the app. Not exposed via the Cloud API and the API-side surface area shows the underlying number. | | Catalogs, orders, and in-app business tools | Continue to work in the app. Not synchronized to the Cloud API. Manage in the app, not in both places. | | Greeting messages and away messages | Continue to work in the app. Changes don't sync to the Cloud API. | | Quick replies | Continue to work in the app. Not synchronized. | | Labels | Continue to work in the app. Not synchronized. | ## Chat history import When a number is onboarded to coexistence, Meta imports a portion of existing WhatsApp Business app history into the Cloud API account. Coral surfaces the imported content in the inbox and writes it to the connected CRM. * **1:1 chat history:** Up to **6 months** of prior 1:1 messages are imported. * **Media (images, files, voice notes):** Approximately **2 weeks** of prior media are imported. * **Group chat history:** Not imported. Existing group threads remain accessible in the WhatsApp Business app only. * **Contacts:** Synchronized immediately at onboarding. * **Sync timing:** Recent messages from the last 24 hours sync in real time. Older 1:1 history backfills in the background, typically within minutes to hours depending on volume. The import runs once, at onboarding. If the import is skipped during the onboarding flow, it can't be triggered later — the number must be offboarded and re-onboarded to import history. ## Pricing * **WhatsApp Business app messages remain free**, including after coexistence onboarding. * **Messages sent by the API into the chat are billed by Meta** at standard Cloud API rates, by conversation category and country. * **24-hour reply windows** are opened only by inbound messages received from the client or contact, not by messages sent by the employee coexistence number, even if sent from the Business app. # WhatsApp Groups Functionality Source: https://docs.coralmessaging.com/en/functionality/groups-functionality WhatsApp groups functionality and Coral support ### Groups API functionality vs regular consumer groups functionality WhatsApp has its own policies and functionality constraints for the Groups API, which differ from regular WhatsApp groups that don’t have an API inside.  As Coral is built on top of the WhatsApp Groups API platform, these differences apply to the Coral product as well.  The vast majority of features and functionality in our WhatsApp groups are the same as regular WhatsApp groups, however.  Here are the differences: * The maximum number of participants in a group chat is 8, not including the API phone number. * You cannot loop in the API phone number to an existing group chat or direct chat; you must create a new chat. * You cannot add a contact into the group, you must pass on an *invite link* to the participants who must then click the link to join.   * A subject is required for the group chat.  * When a person is removed from a group chat, they cannot then re-join later.  However, if they remove themselves from the group chat, they can re-join at any time.  * Audio calls and video calls are disabled. * Deleting or editing messages is disabled. * Optional features like AI chat summaries is disabled. * Group chats currently cannot be viewed on the WhatsApp desktop app for Windows; they can be viewed on all other WhatsApp applications.  * More policies related to the API sending templates and messages into chats (either group or direct chat) is available in our API documentation. ### Coral support for WhatsApp functionality Coral supports most WhatsApp Groups API functionality and core direct chat functionality in our product, API, and webhooks.  If we don’t support an API functionality (like sending a Flow into a chat) then we don’t support the related webhooks processing either.  We support all WhatsApp groups functionality except for sending and webhooks processing of Contact and Location objects.   We only pass on in the Coral webhooks notifications that relate to happenings inside both group chats and direct chats, both ‘events’ and ‘messages’ (note that events don’t exist for direct chats). We don’t pass on webhooks that don’t relate to chat content, like for template creation as an example.   The term “user” in the table below means anyone using the consumer WhatsApp app, whether it’s a coraluser or a non\_coraluser. | Category | Chat type | Action taken by whom? | Type | Supported by Coral (groups and direct) | Supported by WhatsApp in direct chats | Supported by WhatsApp in group chats | | :------- | :---------------- | :-------------------- | :-------------------------------------------------------- | :------------------------------------- | :------------------------------------ | :----------------------------------- | | Event | Groups only | API | group\_create | Yes | n/a | Yes | | Event | Groups only | API | group\_delete | Yes | n/a | Yes | | Event | Groups only | API | group\_settings\_update | Yes | n/a | Yes | | Event | Groups only | WhatsApp | group\_suspend | Yes | n/a | Yes | | Event | Groups only | API or user | group\_participants\_add | Yes | n/a | Yes | | Event | Groups only | API or user | group\_participants\_remove | Yes | n/a | Yes | | Message | Groups and Direct | API or user | Media (Audio, Document, Image, Video, Sticker) | Yes | Yes | Yes | | Message | Groups and Direct | API or user | Text (replies and regular) | Yes | Yes | Yes | | Message | Groups and Direct | API | Template (all kinds) | Yes | Yes | Yes | | Message | Groups and Direct | API | Interactive / freeform (buttons) | Yes | Yes | No 4 | | Message | Groups and Direct | API | Interactive / freeform (everything but buttons, eg Flows) | No | Yes | No 4 | | Message | Groups and Direct | user | Reaction (replies and regular) | Yes | Yes | Yes | | Message | Groups and Direct | user | Button (quick reply from API message) | Yes | Yes | Yes | | Message | Groups and Direct | user | Button (phone number from API message) | No | ?? | ?? | | Message | Groups and Direct | user | Button (go to URL from API message) | No | No 3 | No 3 | | Message | Groups and Direct | API or user | Location | No | Yes | Yes | | Message | Groups and Direct | API or user | Contact | No | Yes | Yes | | Message | Groups and Direct | user | Event | No | No 1 | No 1 | | Message | Groups and Direct | user | Poll | No | No 1 | No 1 | | Message | Groups and Direct | user | Edit message | No | Sometimes 2 | Sometimes 2 | | Message | Groups and Direct | user | Delete message | No | Sometimes 2 | Sometimes 2 | | Message | Groups and Direct | WhatsApp or user | Status of API message (sent, delivered, read, failed) | Yes | Yes | Yes | Footnotes: 1. *These message types can be sent into the chat by a user, but webhooks from WhatsApp come back with no information about the message* 2. *WhatsApp makes it possible for the user to send this kind of message only in some WhatsApp surfaces; webhooks from WhatsApp come back with no information about the message* 3. *No webhooks sent by WhatsApp at all when this action is taken by the user in a chat thread* 4. *Interactive messages are always freeform (vs a template); WhatsApp does not allow them to be sent into the group chat currently, but they can be sent into a direct chat* # Groups Quick Tips Source: https://docs.coralmessaging.com/en/functionality/groups-quick-tips Let's create some group chats You can interact with the Coral Messaging features from your WhatsApp app, from our web dashboard, or using our APIs.  Most users will interact with the Coral product via their WhatsApp app, using the Coral commands (see more below).  ### Using Coral groups from the WhatsApp app When interacting with the Coral product from the WhatsApp app, note that group management features like creating a Coral group and adding and removing people work differently than a regular group chat among friends. This is because you as an individual participant cannot be the admin of a group chat, only your company is the chat admin. * **Create your first chat from within WhatsApp.** Start a direct chat in your WhatsApp app with your organization's Coral API phone number. We recommend you save the Coral API phone number into your contacts on your phone as “Coral Assistant” since you will be sending WhatsApps to it a lot going forward in order to control and access features of your Coral account. The most common command to use in a direct chat with your Coral Assistant is to create a new group chat: Send **“/new Your Chat Subject Here”** and wait for the group invite link and QR code to come back. You can join the chat by clicking on the link, and ask others to join the chat by sharing the QR code or link with them. Commands inside of direct chat * **Try some “slash commands” from inside of your group chat.** You can perform common functions from directly inside your Coral group chat: Send **“/invite”** into the group chat will generate the group invite link and QR code, which you can share with others so they can join the group. Send **“/subject New Subject Here”** into the group chat to change the chat subject. Send **"/remove @Phone Number"** into the group chat to remove a person from that chat. Commands inside of group chat Currently, changing the photo, changing the group description, or deleting a chat can only be done from the Coral web dashboard. Now you’re ready to use Coral Messaging with clients and contacts.  ### Using Coral groups from the dashboard Your organization's Coral account must have a [WhatsApp payment method](/en/whatsapp/whatsapp-billing) set up to create chats and add participants to an existing chat from the Coral dashboard. * **Create a chat.** From the Coral dashboard, you can create your chats one by one, or in bulk by uploading a CSV file in the Create Chat tab with phone numbers. * **Basic chat management.** Currently, changing the photo or the group description or deleting a chat can only be done from the Coral web dashboard. Log in to the Coral web dashboard, and navigate to the Chats tab, click on the chat where you want to change the settings, and click on the menu on the top right to open the Edit Chat window. When a chat is deleted, its history remains viewable in the WhatsApp app for all active participants, but sending further messages is disabled; a deleted chat cannot be reversed. deleted-chat IMPORTANT: if you remove a participant from a Coral chat, they can never again rejoin the chat. We suggest that they remove themselves from the group chat instead using their WhatsApp app as they normally would, which allows them to rejoin in the future. # Add Standard User Source: https://docs.coralmessaging.com/en/getting-started/add-standard-user How to add a standard Coral user In the Controls tab, Manage Users section, you can add more users to your organization’s Coral Messaging account.  To add a standard user, click the "Add User" button and in the pop-up window, you can choose if you want the user to have access to the Coral dashboard or not. If not, then once you hit the "Add" button then the process is complete and no action is needed from the new user. If you want to give them dashboard access, then you must also provide an email which will serve as their login email. The new user will then receive an email prompting them to complete the signup process and set a Coral password; user setup is not complete until this step is finished. New users will not have Admin level access like yourself, they will simply be “Users”. Ask your Coral rep if you want to convert any Users to Admins.  # Add Synced User Source: https://docs.coralmessaging.com/en/getting-started/add-synced-user How to add a Coral synched user With Coral, you have the ability to onboard and sync all direct chats for a user who is on the WhatsApp Business App (this functionality is also known as WhatsApp co-existence). You can add this functionality to an existing Coral user, or you can onboard a completely new Coral user so that their user account has this functionality from the start. Follow the process detailed below for both situations. ## Requirements * The process must be initiated in the Coral dashboard by a person who is both a Coral admin and an admin of your organization’s Meta Business Portfolio. * The person whose business phone number you want to sync must participate by being ready to receive a WhatsApp message to their phone number and verify that they approve. * The business phone number you want to sync must be on the WhatsApp Business App (not the regular WhatsApp app) and actively used on the WhatsApp Business App for at least a week before syncing. ## How to sync Click "Add Synched User" to setup syncing of direct chats of a completely new Coral user, or an existing Coral user. Complete the basic information, then click “Continue with Facebook”. This step will open a pop-up window on facebook.com. Do not close the pop-up window or navigate to a different Coral website or close the Coral page. Do not copy the URL of the pop-up window to send to another user as registration will fail. You must complete all of these steps using the same browser session in order for the data exchange between Meta and Coral to work properly and register you. Log into Facebook if you haven't already or click "Continue as \[your name]" if you're already signed in. Facebook will then ask you to allow Coral Messaging to manage your WhatsApp Business Account. Click "Get Started" to proceed. Log in to Facebook Enter the phone number that you want to sync to your Coral account and hit "Next". Confirm that the WhatsApp Business App profile that appears is the one that you want to connect. Enter your WhatsApp Business phone number Select your the Meta Business Portfolio for your business from the list, ensuring that you select the one that your Coral account is already associated with. You must be an admin of a Meta Business Portfolio for it to appear on this list. Select Meta Business Portfolio This phone number will immediately receive a WhatsApp chat with further instructions. Your screen will show a QR code while you wait. Once the WhatsApp Business App user is clicking through the prompts, they can complete the connection by either using the QR code on your screen, or you can provide them a code; either way works. Connect your existing WhatsApp Business App The person who uses the phone number you want to sync will have received a WhatsApp message to that number. Click through the prompts from this WhatsApp message, and choose to "Share chats" on the third screen. In the final screen, they must either scan the QR code on the Coral admin's screen who started this process, or can enter the code seen on the Coral admin's screen. Follow the prompts in the WhatsApp Business App Enter the time zone of the person whose WhatsApp Business Account is being synced, then click "Next", and then "Finish" on the final screen. There is no need to add a payment method. Confirm the WhatsApp Business Account # Configure Account Source: https://docs.coralmessaging.com/en/getting-started/configure-account Admin controls to customize your Coral product Configuring your organization's Coral account can be done by Admins only. * **Set group chat defaults.** *Only applicable to accounts with groups enabled*. One key difference between an Admin and a User is that Admins have access to the Controls tab, where you can set account-level defaults for new group chats.  You can set the default chat subject, description (we recommend a link to your company privacy policy if applicable), image (we recommend your company logo), group invite message template, and whether automations are on or off.   * **Your API phone number display name**.  When a chat is started with our product, participants will receive an invitation to join the chat from your organization's API phone number, and whenever you send a template into a chat, it comes from the API phone number. The API phone number name can be set so that your chat participants don’t just see a phone number in the chat invite and in the chat participants for the API, and instead they see your business’s name; this is called the display name.  To set your organization's display name, you will need to have Official Business Account (OBA) status from Meta; talk to your Coral rep to learn more about this.  * **Your API phone number image**. The API phone number’s thumbnail image can be configured by Coral for you to be your company logo or any other image you want, just let your Coral rep know. # Coral Dashboard Source: https://docs.coralmessaging.com/en/getting-started/coral-dashboard Visualize chats and get insights The users who will most commonly use our web dashboard are sales managers who want to use the Coral sales coaching and insights tools to monitor their team performance, and account Admins.  Admins can grant Users dashboard access. Note that you can’t write messages into the chat from the Coral web dashboard, but you can from the WhatsApp app as you usually do, and it will be visible here. Once you have many chats, the Filter section of the Chats tab can help to narrow down the list of chats to the one you’re looking for.   # Create an Account Source: https://docs.coralmessaging.com/en/getting-started/create-account Create a Coral account and a WhatsApp Business account ### Before you begin This is a two-step process, which must be completed one step after the other in the same browser session, so be sure you have the necessary information to complete both parts before you start on step 1. You will need two things ready before you start: A phone number that you want to use for your organization’s Coral API phone number. You must be able to verify it by receiving a PIN or phone call. There are some phone number types that WhatsApp [won't allow](https://faq.whatsapp.com/1344487902959714). If your organization doesn't have a Meta Business Portfolio account, you can [set one up](https://www.facebook.com/business/help/1710077379203657). If your organization already has one, it’s important that you use it, and Coral onboarding must be done by an admin of that account. ### Step 1: Create a Coral account The person completing this part will become the Admin of your organization’s Coral account. They can add more users later. Navigate to [https://product.coralmessaging.com/signup/](https://product.coralmessaging.com/signup/). Use the 4 digit code to start the process that was provided you by your Coral rep. The Coral product is still in closed beta and not widely available; please book time with Coral if you'd like to learn more and get access. IMPORTANT: when you provide your WhatsApp consumer app phone number, do not enter the phone number that your organization will use for your Coral API. This phone number will be needed for Part 2. Instead, enter the phone number that you normally use in WhatsApp chats with your work clients and contacts. Once this step is complete, click the button that says “Continue with Facebook” to move on to the next part. ### Step 2: Create a WhatsApp account The person completing this part must be an admin of your organization’s Meta Business Portfolio. You will need to have the phone number handy that you want to use for your organization’s Coral API phone number, and you’ll need to be able to receive a verification code on it. Click “Continue with Facebook”. This step will open a pop-up window on facebook.com. Do not close the pop-up window or navigate to a different Coral website or close the Coral page. You will need the Coral window for later steps in this guide. Do not copy the URL of the pop-up window to send to another user as registration will fail. You must complete all of these steps using the same browser session in order for the data exchange between Meta and Coral to work properly and register you. Log into Facebook if you haven't already or click Continue as \[your name] if you're already signed in. Facebook will then ask you to allow Coral Messaging to manage your WhatsApp Business Account. Click Get Started to proceed. Log in to Facebook Select your the Meta Business Portfolio for your business from the list. You must be an admin of a Meta Business Portfolio for it to appear on this list. If you don't have one, you may create a new one by selecting the option Create a Business Portfolio. Select Meta Business Portfolio Create your WhatsApp Business Account. IMPORTANT: DO NOT select a WhatsApp Business Account that already exists in the dropdown list. Instead, choose to create both a new WhatsApp Business Account and WhatsApp Business Profile. Create WhatsApp Business Account you will need to enter in the following information: 1. WhatsApp Business Account Name - This is only used for internal purposes and is not customer-facing. This might be fixed already and based on your Meta Business Portfolio name. 2. WhatsApp Business display name - This is what your customers will see. It MUST meet the requirements set by WhatsApp. We recommend using your company name as the display name, as WhatsApp will reject anything that does not match the company name in the linked Meta Business Portfolio. 3. Category - Select the category that best describes your business. This is shown to consumers when they view your profile and can be updated later by Coral as needed. 4. You may optionally click Show more options and fill out the below. These fields can be also be added or updated later by Coral as needed: * Business Description - This is also shown to consumers when viewing your profile in the WhatsApp application. * Website - This is also shown to consumers when viewing your profile in the WhatsApp application. Create WhatsApp business profile Select the second option, "Add a new number". Add your WhatsApp phone number Add in the phone number you want to use for your Coral API here. Meta requires you to verify phone number ownership as a part of the registration process. This is done by sending a verification code using either SMS or an automated voice call. Follow the instructions. Verify your phone number ### After account creation Now that you have created an account with WhatsApp, you should set up your payment method with WhatsApp through your Business Portfolio manager. Detailed instructions are in [WhatsApp Billing](/en/whatsapp/whatsapp-billing).  This is required to use our product.  Our product has [APIs](/en/api-guide/introduction) available, which allow you to use our product programmatically at scale. Talk with your Coral rep to get your API keys and design your use cases with our Coral WhatsApp experts.  Coral can also configure AI agents tailored to your own workflows, to improve the client and Coral user experience, and automate admin tasks.  These agents can interact with your Coral users and clients both in group chats or in direct private chats; they can take action unprompted based on the content of the conversation it’s seeing, or only based on commands from a Coral user.  You can find some examples of automations available on our website.  Let us know what you want to do, and we’ll design and configure it with you.   # Roles and Permissions Source: https://docs.coralmessaging.com/en/getting-started/roles-and-permissions Admins, Users, Observers, and Teams If you created your organization’s Coral account, then you are an Admin.  Any users that you invite to your account in the future you can designate as a User with WhatsApp only access, a User with dashboard access, or an Admin. The key differences are: | | **Admin** | **User with dashboard access** | **User with WhatsApp only access** | | :----------------------------- | :--------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------- | | **WhatsApp app functionality** | Same as Coral User with WhatsApp only access. | Same as Coral User with WhatsApp only access. | Can give commands inside the WhatsApp chat to the Coral Assistant to manage groups, perform tasks, and provide reminders and summaries. | | **Dashboard functionality** | Has access to all functionality, including the Controls tab where new Coral Users are added, and the Integrations tab. | Has access to only the Chats tab, Create Chat tab, Insights tab, and Broadcast messaging tab. | No dashboard access. | | **Dashboard visibility** | Can see all chats, audiences, and broadcast send history for the account. | Can only see the chats that they are in or created, or are specifically designated as an Observer for, in the Chats tab and Insights tab. Can see only the audiences and broadcast history they created. | No dashboard access. | Coral Users can be given visibility into chats in the Coral dashboard that they aren't actually a participant in inside the WhatsApp app by using the **Coral Observer** feature. The Observer status is granted at the chat level (group chats or direct chats). Team managers can be granted broader visibility permissions beyond just chats using the **Coral Teams** feature. By setting up teams in your organization, managers can automatically see all chats that their team members are in, and audiences and broadcast history that their team members created. # Media in CRM Source: https://docs.coralmessaging.com/en/integrations/crm-files-media Access controls for files and media from Coral chats in your CRM Coral CRM integrations includes links to media shared in WhatsApp chats when a daily transcript is synced to your CRM. For media messages, the transcript includes the original message line plus a media label such as `[image/jpeg]`, `[video/mp4]`, or `[application/pdf]` followed by a link to the file. Coral provides fine-grained access controls that allow administrators to manage media availability at the integration and file level. ## How media links work When a chat message contains media, Coral generates a unique media link associated with both the media file and the integration through which it is accessed. Each time a media link is accessed, Coral validates permissions to ensure the file remains authorized for viewing. This verification helps maintain secure access while supporting media visibility within CRM transcripts. ## Enablement and access controls CRM media links must be enabled for your account or CRM integration before they appear in transcript syncs. If you need to disable access to a specific media file, please contact your Coral representative and provide the media link. Access revocation is managed on a per-integration basis. If you have multiple integrations enabled (for example, HubSpot and Salesforce), the media access must be revoked separately for each integration. # Hubspot Source: https://docs.coralmessaging.com/en/integrations/hubspot How to connect to Hubspot and manage your integration Integrating HubSpot with your Coral account is simple and quick. Once set up, your Coral WhatsApp integration supports the following: * **Daily chat sync** - Transcripts from all chats will be uploaded in a daily batch to Hubspot, at midnight according to a timezone of your choosing. * **Automatic association with most objects** - Your chat transcripts can sync to any object of your choosing: Contacts, Companies, Deals, Tickets, Projects, and more. * **Contacts sync** - Your new contacts in WhatsApp can be added to Hubspot automatically, and details about your Hubspot Contacts can be added to your Coral account. Hubspot transcript example ## Integration Requirements * **Active HubSpot account** - Ensure your HubSpot account is set up and functioning properly. Both **free** and **paid** HubSpot plans support the Coral integration. You will need your Hubspot API keys with you when making the connection (given to you by your Hubspot admin). * **Required Coral permissions** - Only a Coral Admin user can set up Coral integrations. ## Set up the Integration Log in to your Coral Admin account, go to the Integrations tab. There you can choose your integration. Choose to send batched messages to Hubspot, and click Connect.\ In Hubspot you should: * Ensure that your record view settings in Hubspot are set to view WhatsApps (Activities tab --> Activity drop down --> select WhatsApp). * You must have your client's WhatsApp phone number populated in the WhatsApp Phone Number field of your Hubspot Contacts. * If you want chat transcripts to sync to objects other than Contacts, ensure that the Contact is associated to the Deal / Ticket / Project / Company object in Hubspot. Please provide your Coral rep with your Hubspot deal pipeline names associated to these objects. You're done! The chat transcript sync will take place as long as there is any activity in a Coral chat where there is also one of your Hubspot Contacts in the chat. Hubspot activities settings Optional steps: * Your Coral WhatsApp chat transcripts will be uploaded to Hubspot daily around midnight, according to the timezone that you choose. To select your timezone, navigate to the Controls tab in your Coral Admin account. * Coral can configure your setup to accomodate a Contact presence in multiple records of the same object, where the record that the sync attaches the chat transcript to is determined by the Coral user inside the chat. Talk to your Coral rep to learn more. # Salesforce Source: https://docs.coralmessaging.com/en/integrations/salesforce How to connect to Salesforce and manage your integration Integrating Salesforce with your Coral account is simple and quick. One set up, your Coral WhatsApp integration supports the following: * **Daily chat sync** - Transcripts from all chats will be uploaded in a daily batch to Salesforce, at midnight according to a timezone of your choosing. * **Automatic association with Contacts and Opportunities** - Your chat transcripts can sync to both Contact records and Opportunity records. * **Contacts sync** - Your new contacts in WhatsApp can be added to Salesforce automatically, and details about your Salesforce Contacts can be added to your Coral account. Salesforce transcript example ## Integration Requirements * **Active Salesforce account** - Ensure your Salesforce account is set up. Only Enterprise tier Salesforce plans, or Professional tier plans with the Web Services API add-on, support the Coral integration. * **Required Coral permissions** - Only a Coral Admin user can set up Coral integrations. ## Set up the Integration You must take action in both your Coral account and your Salesforce account to set up the integration. You must have your Contact's phone number used in WhatsApp entered into the Mobile Phone Number, Home Phone Number, Other Phone Number, or Phone Number field in order for the integration to see that your Contact is in an active Coral chat and attach the chat transcript. Log in to your Coral dashboard as an Admin, go to the Integrations tab, click Connect, and follow the prompts. As a final step, you need to adjust the default display for your Contact records and/or Opportunities records for all users or your Salesforce account so that the chat transcripts can be viewed. 1. Go to your Contact page, and on the top-right corner, click on the Cog icon, and select “Edit Page” Edit Page 2. On the left-hand side, you’ll see a list of available components. Search for Chat Transcripts component. Grab and drop it anywhere on the page that you want it to appear to your users, and click Save. Select components 3. OPTIONAL - If you want to place the component as a new tab on the Contact page, click on the main Tabs component, and add a new Tab. Grab and drag the component in the content section of the new tab you just created. Add new tab Add new tab Repeat for Opportunities if you want the transcripts to appear on Opportunity records as well. * Your Coral WhatsApp chat transcripts will be uploaded to Salesforce daily around midnight, according to the timezone that you choose. To select your timezone, navigate to the Controls tab in your Coral Admin account. * To sync Coral chats to Opportunities in addition to Contacts, please provide your Coral rep with your Salesforce pipeline or Record Type names. # Welcome Source: https://docs.coralmessaging.com/en/welcome A better way for employees to communicate with clients and contacts over WhatsApp. Welcome to the Coral Messaging documentation site, where you can find instructions for common tasks and processes, guides for using the Coral product, Coral policies, and details about WhatsApp functionality and policies relevant to the Coral product. # Official Business Account (OBA) Source: https://docs.coralmessaging.com/en/whatsapp/official-business-account OBA status from WhatsApp and how to secure it An Official Business Account ("OBA") is a business phone number owned by a business that has been verified as an authentic and notable brand according to specific WhatsApp criteria. Official Business Account business phone numbers have a blue checkmark / blue badge beside their display name while in WhatsApp, and is often referred to as 'Blue Badge' or 'Blue checkmark'. The promotion of WhatsApp Business Accounts (WABAs) to OBA status is entirely controlled by Meta. However, we will make our best efforts to support your OBA application. Official Business Account blue check ## **Criteria** To be eligible for OBA, the following criteria must be met: * The business must comply with the WhatsApp Business Messaging Policy. * The business must be registered on the WhatsApp Business Platform for at least 30 days. * The business represents a notable, well-known, and frequently searched for business, brand, or entity - see Notability and Guidelines to Strengthen Your OBA Application below for more details. * The business portfolio that owns the number has been verified through [Business Verification](https://www.facebook.com/business/help/2058515294227817). * The business phone number has enabled two-step verification. * The business phone number's display name has been approved. * The number is not using Coexistence / Coex. OBA is not supported for coexistence accounts. Coexistence accounts must apply for [Meta Verified for Business](https://faq.whatsapp.com/2115625802107717) instead of using OBA. This is a Meta limitation, and is applicable to all WhatsApp partners. ## **Notability** Notability requires a business to represent a well-known or frequently searched brand or entity. It does not indicate the authenticity of a business. Notability is assessed based on the business’s presence in online news articles from publications with sizable audiences. Paid or promotional content, including business or app listings, is not considered. Official Business Account (OBA) status is issued at the business phone number and display name level. Notability is evaluated for the display name associated with the business phone number requesting OBA status. ## **Guidelines to Strengthen Your OBA Application** * Provide clear and complete information about your products or services on your website, including your display name, address, and phone number. * Your display name should match the name presented on your website. * Include at least five external media links from reputable newspapers, magazines, or similar publications. * Do not use links to your own website, social media pages, or articles older than 12 months. * Random or irrelevant articles are not valid. * All links should be from the past 12 months. * Paid or sponsored content is not accepted. Meta continuously updates its evaluation criteria, so such sources should not be included in your application. * Links to social media accounts are also not considered valid support. * Additional information, such as a high number of likes on your Facebook page, employee count, or profitability, can help demonstrate the relevance of your business. ## **Denied Requests** If your OBA request has been denied, it means the Meta team has carefully reviewed your account, and unfortunately, your account is not eligible for the OBA status. Currently, these decisions cannot be appealed. Businesses can continue to grow their presence and wait 30 days before submitting another Official Business Account request. It may take time to build the business's presence in news articles as described above. In the meantime, this decision doesn't limit your ability to share your business details. Each phone number also has a business profile, which includes a profile picture, email, website, and business description. These are fields that you can edit at any time. ## **Changing OBA Display Name** If the display name is changed after an account has received OBA status, Meta will need to reassess the new display name for notability and compliance. As a result, OBA status is not guaranteed to remain after a display name change. We therefore recommend choosing a long-term display name before submitting an OBA request. ## **How to Request an OBA** Access **WhatsApp Manager** > **Account Tools** > **Phone Numbers,** and select the phone number you would like to submit an OBA request for Official Business Account in WhatsApp Manager Click the **Profile** tab, and look for a **Submit Request** button under **Official business account**: * If the **Submit Request** button is available in WhatsApp Manager, proceed to **Step 3**. * If the **Submit Request** button is not available (i.e. the button is grayed out), it indicates that an OBA request cannot be submitted from WhatsApp Manager at this time.\ \ If you are certain that the business meets the criteria for an OBA but the button is disabled, please contact your Coral rep and we can review your case and submit your OBA request to Meta for you if applicable.\ \ Please note that requests submitted by us to Meta are reviewed by Meta's Trust & Safety team. Meta does not provide an SLA for OBA requests; we will let you know as soon as we receive updates from Meta. Click on the **Submit Request** button and fill out the form. * You may submit up to five supporting links, preferably from renowned publications (for example, India Today, Economic Times, Wall Street Journal, Reuters, Wikipedia, or Business Insider) to demonstrate that the business is notable. These links help establish notability during the review process. * Providing additional details such as the countries of operation, parent business or brand (particularly if it is a well-known brand), and the primary language also helps us better understand the brand and assess eligibility for OBA. # Sending Messages from the API Source: https://docs.coralmessaging.com/en/whatsapp/sending-messages-from-the-api WhatsApp policies for message sending If you want to send any kind of message into a chat from the API phone number (and use our API to do so), you'll first need to understand WhatsApp policies for API messaging, and build your feature to ensure that these rules are followed or else your feature won't work. The policies below apply the same to both direct chats and group chats. You can find more from WhatsApp on the topic [here](https://developers.facebook.com/docs/whatsapp/cloud-api/guides/send-messages/). WhatsApp will bill you directly for sending messages from the API, this will not go through your Coral bill. There are two message types that an API can send into the chat: a template (specific preset content and structure, which has been approved and categorized by WhatsApp), and a freeform message. Most of the broadcast messages you will want to send will use a template message, and will be categorized by WhatsApp into a "Marketing template" or "Utility template"; most templates you will want to send will be considered a Marketing template by WhatsApp, such as a message that contains products for sale, has an event invitation, or even simply says “Hello!”.  You can read more about the different template categories [here](https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/template-categorization).  If WhatsApp believes you miscategorized your template after you create it, they will automatically re-categorize it for you as part of the template approval process.   Depending on the activity state of the chat and how many Marketing templates some potential recipients have received recently (whether in your chat or in another unrelated WhatsApp chat), WhatsApp may apply a frequency cap and choose to not deliver some of your Marketing templates to that recipient. If a message is being sent into a group chat and the frequency cap has been reached for even one person in that group, then the message won't be sent to anyone in the group chat. Coral has developed proprietary tooling to increase deliverability of your Marketing messages while staying within WhatsApp policy; please talk to your Coral rep for more information. | Type | If no activity in the chat in the last 24 hours | If activity in the chat in the last 24 hours | | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Template (Utility category) | Permitted: **YES**

Cost: **YES.** Priced based on template category and recipient country. Charged per recipient.

Frequency cap: **NONE** | Permitted: **YES**

Cost: **YES**. Priced based on template category and recipient country. Charged per recipient.

Frequency cap: **NONE** | | Template (Marketing category) | Permitted: **YES**

Cost: **YES**. Priced based on template category and recipient country. Charged per recipient.

Frequency cap: **YES**. WhatsApp caps the number of Marketing templates an individual can receive in a given period, from any WA API account (not just your account). If any individual in the chat has hit this cap, the template will not be delivered. | Permitted: **YES**

Cost: **YES**. Priced based on template category and recipient country. Charged per recipient.

Frequency cap: **NONE** | | Freeform | Permitted: **NO** | Permitted: **YES**

Cost: **YES**. Free for the first 1,000 messages per business phone number, regular template message cost thereafter.

Frequency cap: **NONE** | Due to the 24 hour rule, historically freeform messages are most often used in customer service or bot use cases, where they are responding to a customer inbound. Note that our API will respond with a success message if our software did its job in sending the message to WhatsApp to be delivered, even if WhatsApp failed to deliver the message. Instead, Coral will notify you by email to the Coral user account who created the API keys if a template fails to be delivered into a chat; currently we do not send an email notification if a freeform message failed to be delivered into a chat. # WhatsApp Billing Source: https://docs.coralmessaging.com/en/whatsapp/whatsapp-billing WhatsApp pricing and setting up a payment method ### WhatsApp pricing **WhatsApp charges for your usage of their underlying platform to send *most* template messages into your chats**.  WhatsApp’s pricing per template send depends on the type of template, and the price is charged for each person / recipient that is in your group chat.  Pricing for per template and recipient country is the same for direct chats and group chats.  Whenever you invite a person to join a group with the Coral product, you will be sending them a Utility template and will therefore be charged for this.  There is no cost to send a template into a chat for any chats that have had a message sent by any participant in the past 24 hours, since it’s considered part of an open conversation.  You will be charged directly by WhatsApp to the credit card that you have associated to your Meta Business Portfolio account.  Below are the prices per template sent per recipient country/region, to give you a rough idea of cost.  Charges are based on the country in which the recipient is based, according to their phone number country code.  In most markets, the price per template delivered is comparable to SMS message send rates.   | Type | North America (USD) | United Kingdom (GBP) | Europe (EUR) | Brazil (BRL) | | :-------------------------------------------------------------------------- | :------------------ | :------------------- | :----------- | :----------- | | Marketing (eg “You’re invited to XYZ event”) | 0.025 | 0.0509 | 0.1186 | 0.356 | | Service (eg “We’ve looked into your issue and have done XYZ”) | free | free | free | free | | Utility (eg “Your order has been shipped”, or invites to a new Coral group) | 0.004 | 0.0159 | 0.0248 | 0.0456 | More information on pricing is available from WhatsApp [here](https://developers.facebook.com/docs/whatsapp/pricing/).   ### Setting up a payment method In order to send template messages into any chat, you need to have a credit card added to your WhatsApp Business account (the account your organization’s Admin created when they signed up for Coral Messaging) so that the charge can be triggered by WhatsApp to your organization’s WhatsApp Business account.  You can add a credit card by having your Meta Business Portfolio admin go to [Meta Billing & Payments](https://business.facebook.com/billing_hub).  Navigate to the Payment methods tab.  Here is what the screen should look like: Payments Image 1 Now navigate to the Accounts tab and choose the relevant WhatsApp Business account, and click into it.  Your screen should look like this: Payments Image 2