# Karbon integrations: contacts and work items

> Create a contact, create a work item and create a manual payment in Karbon, and start a workflow when Karbon sends “Contact changed”.

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

## Overview

Karbon is practice management software for accounting firms, tracking clients, work items, time, invoices and team collaboration in one place. Tray.ai connects to Karbon through the HTTP Connector, so your workflows can call the Karbon API alongside the rest of your stack.

## Use cases

### Contacts

Read, create, and update contacts in Karbon from any Tray.ai workflow. The Karbon API covers calls such as list contacts and get a contact.

- List contacts
- Get a contact
- Create a contact

### Organizations

Read, create, and update organizations in Karbon from any Tray.ai workflow. The Karbon API covers calls such as list organizations and get an organization.

- List organizations
- Get an organization
- Create an organization

### Work items

Read, create, and update work items in Karbon from any Tray.ai workflow. The Karbon API covers calls such as list work items and get a work item.

- List work items
- Get a work item
- Create a work item

### Invoices

Read invoices in Karbon from any Tray.ai workflow. The Karbon API covers calls such as list invoices and get an invoice.

- List invoices
- Get an invoice

### Manual payments

Create and delete manual payments in Karbon from any Tray.ai workflow. The Karbon API covers calls such as create a manual payment and reverse a manual payment.

- Create a manual payment
- Reverse a manual payment
- Delete a manual payment

### Notes

Read and create notes in Karbon from any Tray.ai workflow. The Karbon API covers calls such as get a note and create a note.

- Get a note
- Create a note

## Challenges Tray.ai solves

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

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

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

The Karbon API uses a bearer token and 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 Karbon connector?

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