> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ruleinside.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Phone numbers

> Import a Twilio number, choose which agent answers it and which one calls out, release a number, and connect WhatsApp.

Open **Phone numbers** to bring your Twilio phone numbers into RuleInside, choose which agent answers calls to each
number and which agent places outbound calls from it, and manage your store's WhatsApp number. A
[campaign](/campaigns) needs a number here that can place outbound calls.

<Frame caption="The Phone numbers page: your numbers with their agents, and the WhatsApp card below.">
  <img src="https://mintcdn.com/ruleinside/KY_HxF97SL5TB96U/images/portal/10-phone-numbers.webp?fit=max&auto=format&n=KY_HxF97SL5TB96U&q=85&s=6c6fef56702595739bd5c8e16a86d39e" alt="The Phone numbers page with a table of numbers showing Label, Number, Provider, Inbound agent and Outbound agent, the Assign and Release buttons, and the WhatsApp card." width="1440" height="940" data-path="images/portal/10-phone-numbers.webp" />
</Frame>

## Who can change what

* **Every member** can see the page.
* **Only an owner** can import, assign or release a number, or change WhatsApp settings. A member sees **"Only
  account owners can manage this - ask an owner of your team."** in place of the **Import number** button, and
  **Assign** and **Release** are greyed out. If a member's request reaches the server anyway, it is refused with
  "Permission denied: this action requires an account owner (billing) permission." See [Who can do what](/roles).

The **Agent** bar at the top of the page changes nothing here: phone numbers belong to your store, not to one agent.

## Your numbers

The **Phone numbers** card has the subtitle **"Import a Twilio number, then assign the agent that answers inbound
calls and the one that places outbound calls."**

| Column | What it shows |
| - | - |
| **Label** | The name you gave the number. A dash if it has none. |
| **Number** | The phone number. |
| **Provider** | Where the number comes from, for example "Twilio". |
| **Inbound agent** | The agent that answers calls to this number. A dash means **no agent answers** calls to it. |
| **Outbound agent** | The agent that places outbound calls from this number, for example in a campaign. A dash if none. |
| (buttons) | **Assign** opens the agent choice for the number. **Release** (red) removes the number. |

| Message | What it means |
| - | - |
| **"No phone numbers yet. Import a Twilio number to get started."** | You have no numbers yet. |
| **"This workspace isn't linked to a store yet."** | Your account is not connected to a store, so **Import number** is greyed out. |
| **"We couldn't load your phone numbers right now. Please refresh - if it keeps happening, contact support. (Your numbers are safe; nothing was changed.)"** (red) | The list could not be loaded. Your numbers are still there: refresh rather than importing them again. |

## Import a number

Owners only. You need the number's **Account SID** and **Auth Token** from your Twilio console.

<Frame caption="The Import a Twilio number form.">
  <img src="https://mintcdn.com/ruleinside/KY_HxF97SL5TB96U/images/portal/10a-phone-import.webp?fit=max&auto=format&n=KY_HxF97SL5TB96U&q=85&s=7ed3ddb6214bcac278677b465cab448c" alt="The Import a Twilio number form with the fields Phone number (E.164), Label, Twilio Account SID, Twilio Auth Token and Inbound agent (optional)." width="384" height="505" data-path="images/portal/10a-phone-import.webp" />
</Frame>

<Steps>
  <Step title="Open the form">
    Press **Import number**. The form **Import a Twilio number** opens, with the note "Your Twilio SID and Auth Token
    are sent once to provision the number and are never stored by us. Find them in your Twilio console."
  </Step>

  <Step title="Fill in the fields">
    | Field | Required | What to enter |
    | - | - | - |
    | **Phone number (E.164)** | Yes | The number in international form: a plus sign, the country code and the number, for example `+15551234567`. Spaces are accepted and removed. It must be a valid phone number, or the import is refused before anything is created. |
    | **Label** | **Yes** | A name for the number, for example "Support line". The form does not mark it as required, but **Import** stays greyed out until it is filled. |
    | **Twilio Account SID** | Yes | From your Twilio console. Hidden as you type. |
    | **Twilio Auth Token** | Yes | From your Twilio console. Hidden as you type. |
    | **Inbound agent (optional)** | No | The agent that answers calls to the number. Default **Unassigned** (no agent answers). You can choose it later with **Assign**. |

    Spaces at the start and end of every field are removed.
  </Step>

  <Step title="Import">
    Press **Import**. It reads **Importing…** while working. When it finishes you see **"Phone number imported."** and
    the number appears in the list. Press **Cancel** to close the form without importing.
  </Step>
</Steps>

Your Twilio Account SID and Auth Token are sent once to set the number up. RuleInside never stores them or writes them
to a log.

If the import fails, nothing is left half-done and you see one of these messages:

| Message | What to do |
| - | - |
| A message that the number is not a valid phone number | Check the number and type it with a plus sign and the country code. |
| "That phone number is already linked to another client." | The number is already in use on another RuleInside account. Contact support. |
| "Could not verify phone-number ownership right now. Please retry." | Try again in a moment. |
| "Could not import the phone number." | The import did not complete. Check the number, the Account SID and the Auth Token, then try again. If it keeps happening, contact support. |

## Assign agents

Owners only. Press **Assign** on a number's row.

<Frame caption="The Assign agents form for one number.">
  <img src="https://mintcdn.com/ruleinside/KY_HxF97SL5TB96U/images/portal/10b-phone-assign.webp?fit=max&auto=format&n=KY_HxF97SL5TB96U&q=85&s=a93bc2b61187750e28118fb93dcf2488" alt="The Assign agents form with the fields Label, Inbound agent and Outbound agent, and the Cancel and Save buttons." width="384" height="357" data-path="images/portal/10b-phone-assign.webp" />
</Frame>

The form **Assign agents** opens with the number and the text "choose which agent answers inbound calls and which
places outbound calls."

| Field | What it does |
| - | - |
| **Label** | The number's name, filled in with the current one. Empty it to remove the label. |
| **Inbound agent** | **Unassigned** or one of your agents. The change applies **immediately** when you save: calls to the number are answered by the new agent, or by none if you choose **Unassigned**. Greyed out, with **"This number does not support inbound calls."**, if the number cannot receive calls. |
| **Outbound agent** | **Unassigned** or one of your agents. This is the agent that places outbound calls from the number. Greyed out, with **"This number does not support outbound calls."**, if the number cannot place calls. |

Press **Save** to apply your changes (greyed out until you change something; it reads **Saving…** while working).
On success you see **"Phone number updated."**; otherwise **"Could not update the phone number."** or the reason. Only
your own agents can be chosen: any other is refused with "Cannot assign the phone number to an agent outside this
client." Press **Cancel** to close without saving.

## Release a number

Owners only. Press **Release** (red) on a number's row. A confirmation asks **"Release this phone number?"** and
explains that the number "will be removed from your workspace and will stop routing calls. This cannot be undone."

* Press **Release** to confirm. On success you see **"Phone number released."**
* Press **Cancel** to keep the number.

<Warning>
  **Releasing cannot be undone.** The number stops answering and placing calls, and its agents and label are removed.
  To use it again, you must import it again with your Twilio Account SID and Auth Token.
</Warning>

If the release fails, you see **"Could not release the phone number."** (or the reason) and the number stays in your
list, so you can press **Release** again.

## WhatsApp

The **WhatsApp** card, below your numbers, shows your store's WhatsApp number. Its description reads "WhatsApp
Business accounts are connected during onboarding. Here you can reassign the agent and turn messaging on or off." An
owner can also connect a number directly from this card, as described below. For templates, sending and the send log,
see [WhatsApp](/whatsapp).

### What the card can show

| What you see | What it means |
| - | - |
| **"No WhatsApp accounts are connected to your agents yet."** | No number is connected. Owners see the **Connect WhatsApp** block. |
| **"This workspace isn't linked to a store yet."** | Your account is not connected to a store. |
| **"We couldn't load your WhatsApp accounts right now. Please refresh - if it keeps happening, contact support."** (red) | The card could not be loaded. Refresh the page. |
| Red text beginning "Your WhatsApp connection is recorded but incomplete, so we can't use it to send or receive anything yet." | A connection exists but cannot be used, and nothing can be sent or received. An owner can reconnect the number with **Connect WhatsApp**, or contact support. A member sees "A workspace owner can reconnect the number, or contact support and we'll sort it out for you." |

### A number connected through Meta

The card shows the number, the badge **Connected through Meta** and the note "This number is connected directly to
Meta. Its settings are managed by us, so there is nothing to change here. To disconnect, use Settings > Account >
Business Platform in your WhatsApp Business app."

Underneath, it shows what WhatsApp reports about sending from the number:

| Status | What you see |
| - | - |
| Can send (green) | **"WhatsApp lets this number send messages."** |
| Can send with a limit (amber) | **"This number can send messages, with a limit:"** followed by Meta's notes, for example that your display name is not yet approved. |
| Blocked (red) | **"WhatsApp is blocking messages from this number. Until it is fixed, the messages you send wait here and are not sent:"** followed by Meta's reasons and how to fix them. |
| Not known (grey) | **"We couldn't check this number's status with WhatsApp right now."** |

While WhatsApp blocks the number, your messages are held and go out once the problem is fixed.

### A number you can edit

For other connected numbers, the card shows the number, the business name, and a red **Token expired** badge when the
connection needs renewing. An owner can change:

| Setting | What it does |
| - | - |
| **Agent** | Which of your agents handles WhatsApp. You must choose an agent: there is no "Unassigned" option. |
| **Messaging enabled** | Switch WhatsApp messaging on or off. |
| **Voice-note replies** | Switch on to have the agent reply with voice notes. |

Press **Save** (greyed out until you change something; **Saving…** while working). You see **"WhatsApp account
updated."** or **"Could not update the WhatsApp account."**

### Connect WhatsApp

Owners only. The **Connect your WhatsApp number** block appears when no number is connected yet, or when the existing
connection is incomplete. If it is not available for your account, the card reads "WhatsApp self-connection isn't
switched on for this environment yet. Contact support and we'll connect your number for you."

The block explains: "Sign in with the Meta account that owns your WhatsApp Business number. You'll pick the number
yourself, and we never see your Meta password." Read the four points shown before the button:

* **"You keep using the WhatsApp Business app on your phone, and it has to be opened at least once every 13 days. If
  you uninstall it, the connection drops."**
* **"Some things change on your phone for good: disappearing messages and view-once are turned off in one-to-one
  chats, live location sharing stops, broadcast lists become read-only, group chats are not carried over, and your
  profile photo can no longer be changed."**
* **"Keep the app open for a few minutes after you connect while your existing conversations sync."**
* **"After connecting, add a payment method to your WhatsApp Business Account in Meta. Meta bills you directly for the
  messages you start, and blocks them until a payment method is added."**

<Steps>
  <Step title="Press Connect WhatsApp">
    A Meta window opens and the button reads **Connecting…**. Allow pop-ups for the portal if your browser blocks the
    window. Do not reload the portal page while the Meta window is open: the attempt would be lost and you would need
    to start again.
  </Step>

  <Step title="Sign in to Meta and pick your number">
    Sign in with the Meta account that owns your WhatsApp Business number and choose the number. When you finish, the
    Meta window shows "Finishing up. This window will close on its own." and closes.
  </Step>

  <Step title="Confirm the number, if asked">
    If your Meta login manages more than one WhatsApp Business account, the portal asks **"Which WhatsApp number is
    this store’s?"**. Pick the number your customers message this store on (an account without a name shows as
    **Unnamed WhatsApp account**) and press **Connect this number**, or **Cancel**. Nothing is connected until you
    confirm.
  </Step>

  <Step title="Add a payment method in Meta">
    When you see **"WhatsApp connected."**, add a payment method to your WhatsApp Business account in Meta.
  </Step>
</Steps>

While the Meta window is open, **Start over** lets you abandon the attempt and begin again.

| Message | What it means |
| - | - |
| **"WhatsApp connected."** | Your number is connected. |
| **"You closed the Meta window before finishing. Nothing was changed."** | Press **Connect WhatsApp** to try again. |
| **"Your browser blocked the Meta window. Allow pop-ups for this site, then press Connect WhatsApp again."** | Allow pop-ups for the portal and try again. |
| **"Meta didn't finish the sign-in, so nothing was connected. You can try again."** | Press **Connect WhatsApp** again. |
| **"You had started over, so the connection you just finished in the Meta window was not saved. Press Connect WhatsApp to do it again."** | You pressed **Start over** before the Meta window finished. Connect again. |
| **"Could not complete the WhatsApp connection."** | The connection did not complete. Try again, or contact support. |
| "This page was opened on its own, so there is nothing to finish here. Go back to Phone numbers and press Connect WhatsApp." | You opened the Meta return page directly. Go back to **Phone numbers** and press **Connect WhatsApp**. |

## Common questions

<AccordionGroup>
  <Accordion title="Why can't I press Import number?">
    Only owners can import numbers. If you are an owner and the button is still greyed out, your account is not yet
    connected to a store.
  </Accordion>

  <Accordion title="Why is Label required when I import a number?">
    The **Label** field is required even though the form does not mark it: **Import** stays greyed out until it is
    filled. Enter any name that helps you recognise the number, for example "Support line".
  </Accordion>

  <Accordion title="Do you keep my Twilio Auth Token?">
    No. Your Account SID and Auth Token are sent once to set the number up, and RuleInside never stores them or writes
    them to a log.
  </Accordion>

  <Accordion title="My number is refused as invalid.">
    It must be a real, valid phone number. Type it with a plus sign and the country code, for example `+15551234567`.
  </Accordion>

  <Accordion title="Calls to my number are not answered.">
    Check the number's **Inbound agent**. A dash means no agent answers it: press **Assign** and choose one.
  </Accordion>

  <Accordion title="Why can't I choose an outbound agent?">
    The number cannot place outbound calls; the form shows "This number does not support outbound calls."
  </Accordion>

  <Accordion title="My campaign has no number to call from.">
    None of your numbers can place outbound calls. Import a number that can, or contact RuleInside.
  </Accordion>

  <Accordion title="Can I undo a release?">
    No. Import the number again with your Twilio Account SID and Auth Token.
  </Accordion>

  <Accordion title="Why can't I edit my WhatsApp number?">
    It is connected through Meta, and its settings are managed by us. To disconnect it, use Settings > Account >
    Business Platform in your WhatsApp Business app.
  </Accordion>

  <Accordion title="WhatsApp says my number is blocked.">
    Follow the reason shown on the card; a missing payment method in Meta is a common one. Your messages wait in
    RuleInside and go out once it is fixed.
  </Accordion>

  <Accordion title="The card says WhatsApp is connected during onboarding, but I see a Connect button.">
    Both are possible: our team can connect your number during onboarding, and an owner can also connect it from this
    card with **Connect WhatsApp**.
  </Accordion>
</AccordionGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.