# CompanyCam integrations: projects and photos

> Create a project, add photo tags and create a customer in CompanyCam, and start a workflow when CompanyCam sends “Project created”.

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

## Overview

CompanyCam is a photo and project documentation app for contractors, letting crews capture job site photos, checklists, documents and proposals in one shared project record. Tray.ai connects to CompanyCam through the HTTP Connector, so your workflows can call the CompanyCam API alongside the rest of your stack.

## Use cases

### Projects

Read, create, update, and delete projects in CompanyCam from any Tray.ai workflow. The CompanyCam API covers calls such as list projects and search projects.

- List projects
- Search projects
- Create a project

### Photos

Read, create, update, and delete photos in CompanyCam from any Tray.ai workflow. The CompanyCam API covers calls such as list photos and upload a project photo.

- List photos
- Upload a project photo
- Update a photo

### Customers

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

- List customers
- Create a customer
- Update a customer

### Invoices

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

- List invoices
- Create an invoice
- Update an invoice

### Proposals

Read, create, and update proposals in CompanyCam from any Tray.ai workflow. The CompanyCam API covers calls such as list proposals and create a proposal.

- List proposals
- Create a proposal
- Update a proposal

### Webhooks

Read, create, update, and delete webhooks in CompanyCam from any Tray.ai workflow. The CompanyCam API covers calls such as list webhooks and create a webhook.

- List webhooks
- Create a webhook
- Update a webhook

## Challenges Tray.ai solves

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

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

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

The CompanyCam 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 CompanyCam connector?

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