# BILL integrations: vendors, bills and payments

> Create a vendor, create a bill and create a payment in BILL, and start a workflow when BILL sends “Vendor created”.

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

## Overview

BILL is financial operations software for small and midsize businesses, handling accounts payable, accounts receivable, vendor payments, invoicing and spend management. Tray.ai connects to BILL through the HTTP Connector, so your workflows can call the BILL API alongside the rest of your stack.

## Use cases

### Vendors

Read, create, update, and delete vendors in BILL from any Tray.ai workflow. The BILL API covers calls such as list vendors and create a vendor.

- List vendors
- Create a vendor
- Update a vendor

### Bills

Read, create, update, and delete bills in BILL from any Tray.ai workflow. The BILL API covers calls such as list bills and create a bill.

- List bills
- Create a bill
- Update a bill

### Payments

Read and create payments in BILL from any Tray.ai workflow. The BILL API covers calls such as list payments and create a payment.

- List payments
- Create a payment
- Create a bulk payment

### Customers

Read, create, update, and delete customers in BILL from any Tray.ai workflow. The BILL API covers calls such as list customers and create a customer.

- List customers
- Create a customer
- Update a customer

### Invoices

Read, create, and update invoices in BILL from any Tray.ai workflow. The BILL API covers calls such as list invoices and create an invoice.

- List invoices
- Create an invoice
- Update an invoice

### BILL events

Start a Tray.ai workflow the moment something happens in BILL. BILL sends events such as vendor created and vendor updated to a Tray.ai webhook trigger.

- Vendor created
- Vendor updated
- Bill created

## Challenges Tray.ai solves

### Keeping BILL 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 BILL 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 BILL 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 BILL 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 BILL?

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

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

The BILL API uses an API key in a request header. You save it once as a Tray.ai authentication, and the HTTP Connector adds it to every request.

### Can I get a dedicated BILL connector?

BILL runs through the HTTP Connector rather than a dedicated connector. If your team wants one, the Tray.ai connector SDK can build a dedicated BILL connector from the BILL 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/
