> For the complete documentation index, see [llms.txt](https://docs.inova.us/v1/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.inova.us/v1/twilio-in-browser-call-plugin/making-calls.md).

# Making Calls

## Making Calls

* [ ] Add the Twilio Client element to the app page
* [ ] Add phone elements like call and end-call buttons
* [ ] Create workflows for the buttons

### Add the plugin element to your page

1. Go to your Bubble **editor**
2. Under **Visual elements** › select **Twilio Client**
3. **Add** the element to the page
4. **Add** phone elements (inputs, buttons)
5. Create **workflows** (below)

### Twilio Client element properties

| Property                                             | Description                                                                                                                                           |
| ---------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| Agent Name                                           | The user/agent display name.                                                                                                                          |
| Agent Identifier                                     | Alphanumeric client identity used to route calls (must match your Twilio routing, e.g. `the_user_id`). Defaults to the current user id if left blank. |
| Allow Incoming Calls While Busy                      | Allow inbound calls to ring while already on a call (default yes).                                                                                    |
| Auto Reject (Beta)                                   | Automatically reject incoming calls when the user is busy (default no). Fires the **Auto Rejected Call** event.                                       |
| Sub Account Token                                    | Optional pre-generated access token to use instead of the token URL. See [Subaccounts](/v1/twilio-in-browser-call-plugin/subaccounts.md).             |
| Log Level                                            | Console log verbosity (0 TRACE – 5 SILENT). See [Getting Started › Log Level](/v1/twilio-in-browser-call-plugin/getting-started.md).                  |
| Selected input device id / Selected output device id | Chosen microphone/speaker. See [Audio Device Selection](/v1/twilio-in-browser-call-plugin/audio-device-selection.md).                                 |

### Call workflows

Add these from **Element Actions › Twilio Client** (full list in [Actions & Events](/v1/twilio-in-browser-call-plugin/actions-and-events.md)).

#### Start a call

Use the **Start Call** action:

* **Call Number** — the destination phone number (or client identity) to dial.
* **Caller Number (optional)** — the caller ID to present. Requires your voice function to read `event.appCallerId` if you use multiple numbers.

#### During a call

* **Hangup Call** — end the active call.
* **Mute** — toggle mute (see the **Muted** state).
* **Send Digits** — send DTMF tones (e.g. IVR input); input **Digits**.

{% hint style="info" %}
Read the **Call Status** and **Call Id** states to drive your UI, and use the **Call Status is Open** event to know when the call is answered.
{% endhint %}
