# Bandwidth integrations: messages and calls

> Send a message, create a call and create a credential in Bandwidth, and start a workflow when Bandwidth sends “Message received”.

**Canonical page:** https://tray.ai/connectors/bandwidth-integrations/
**Categories:** Communication
**Connects through:** HTTP Connector

## Overview

Bandwidth is a communications platform that runs its own phone network and offers APIs for voice calls, SMS and MMS messaging, phone numbers and emergency calling. Tray.ai connects to Bandwidth through the HTTP Connector, so your workflows can call the Bandwidth API alongside the rest of your stack.

## Use cases

### Messages

Read and create messages in Bandwidth from any Tray.ai workflow. The Bandwidth API covers calls such as send a message and list messages.

- Send a message
- List messages

### Calls

Create and update calls in Bandwidth from any Tray.ai workflow. The Bandwidth API covers calls such as create a call and update a call.

- Create a call
- Update a call

### API credentials

Create api credentials in Bandwidth from any Tray.ai workflow. The Bandwidth API covers calls such as create a credential and create a client secret.

- Create a credential
- Create a client secret

### Bandwidth events

Start a Tray.ai workflow the moment something happens in Bandwidth. Bandwidth sends events such as message received and message sent to a Tray.ai webhook trigger.

- Message received
- Message sent
- Message delivered

## Challenges Tray.ai solves

### Keeping Bandwidth credentials out of logs

A raw API call usually means pasting a key or token into the request, where it ends up in step inputs, logs, and screenshots.

**How Tray.ai helps:** Store Bandwidth credentials once as a Tray.ai authentication and reference them from the HTTP Connector. Tray.ai masks authentication values in logs, so the secret never shows up in a step's input or output.

### Going from the Bandwidth API docs to a working call

Translating an example request from API docs into a workflow step means copying the method, URL, headers, and body by hand.

**How Tray.ai helps:** Paste a cURL example from the Bandwidth API docs into the HTTP Connector and Tray.ai fills in the method, URL, headers, and body for you.

### Handling files and non-JSON responses

Not every API answers in JSON. Some return XML, files, or binary data, or expect a multipart upload.

**How Tray.ai helps:** The HTTP Connector parses JSON and XML responses, returns files you can pass to the next step, and sends multipart form data for uploads.

## Frequently asked questions

### Does Tray.ai connect to Bandwidth?

Yes. Tray.ai connects to Bandwidth through the HTTP Connector, which calls the Bandwidth API directly. Any call the Bandwidth API documents can run as a step in a Tray.ai workflow.

### How does Tray.ai authenticate with Bandwidth?

The Bandwidth API uses OAuth 2.0 and a bearer token. You save it once as a Tray.ai authentication, and the HTTP Connector adds it to every request.

### Can I get a dedicated Bandwidth connector?

Bandwidth runs through the HTTP Connector rather than a dedicated connector. If your team wants one, the Tray.ai connector SDK can build a dedicated Bandwidth connector from the Bandwidth API.

## Learn more

- Intelligent Integration: https://tray.ai/platform/intelligent-ipaas/
- Merlin Agent Builder: https://tray.ai/platform/merlin-agent-builder/
- Agent Gateway for MCP: https://tray.ai/platform/agent-gateway/
- Book a demo: https://tray.ai/contact/
