---
canonical_url: "https://docs.composio.dev/toolkits/companycam"
markdown_url: "https://docs.composio.dev/toolkits/companycam.md"
product: "platform"
version: null
last_updated: null
---

# CompanyCam

CompanyCam is a photo-first jobsite management platform for documenting projects, coordinating teams, and sharing project updates.

- **Category:** project management
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 24
- **Triggers:** 0
- **Slug:** `COMPANYCAM`
- **Version:** 00000000_00

## Tools

### Add Comment

**Slug:** `COMPANYCAM_ADD_COMMENT`

Add a comment to either a CompanyCam project or photo.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `content` | string | Yes | Comment text. |
| `target_id` | string | Yes | CompanyCam project or photo ID matching target_type. |
| `target_type` | string ("project" | "photo") | Yes | Resource type to comment on. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Photo Tags

**Slug:** `COMPANYCAM_ADD_PHOTO_TAGS`

Attach media tags by display name. CompanyCam reuses matching media tags and creates reusable media tags for names that do not exist.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `photo_id` | string | Yes | CompanyCam photo ID. |
| `tag_names` | array | Yes | One or more media tag display names. CompanyCam reuses matching tags and creates reusable media tags for new names. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Project Labels

**Slug:** `COMPANYCAM_ADD_PROJECT_LABELS`

Attach project labels by display name. CompanyCam reuses matching global labels and creates reusable global labels for names that do not exist.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | CompanyCam project ID. |
| `label_names` | array | Yes | One or more project label display names. CompanyCam reuses matching global labels and creates reusable global labels for new names. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Project Photo From URL

**Slug:** `COMPANYCAM_ADD_PROJECT_PHOTO_FROM_URL`

Add a photo to a CompanyCam project by having CompanyCam fetch a publicly reachable HTTPS image URL.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `photo_url` | string | Yes | Publicly reachable HTTPS image URL for CompanyCam to fetch. |
| `tag_names` | array | No | Media tag display names to attach. CompanyCam reuses existing tags by name and creates reusable tags for new names; do not pass tag IDs. |
| `project_id` | string | Yes | CompanyCam project ID. |
| `captured_at` | integer | No | Unix timestamp in seconds when the photo was captured. |
| `coordinates` | object | No | Capture coordinates; both latitude and longitude are required when supplied. |
| `description` | string | No | Optional photo description. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Customer

**Slug:** `COMPANYCAM_CREATE_CUSTOMER`

Create a CompanyCam customer with optional contact details, company status, notes, address, and initial contacts.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Customer name. |
| `email` | string | No | Customer email address. |
| `notes` | string | No | Customer notes. |
| `address` | object | No | Customer address. Street address, city, and state are required when supplied. |
| `contacts` | array | No | Initial contacts to create for the customer. |
| `is_company` | boolean | No | Whether the customer represents a company. |
| `phone_number` | string | No | Customer phone number. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Project

**Slug:** `COMPANYCAM_CREATE_PROJECT`

Create a CompanyCam project with its required address and optional contact, customer, location, and template details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `city` | string | Yes | Project city. |
| `name` | string | Yes | Project name. |
| `state` | string | Yes | Project state or region. |
| `country` | string | Yes | Project country code or name accepted by CompanyCam. |
| `geofence` | array | No | Optional ordered geofence points. |
| `coordinates` | object | No | Optional project coordinates; both latitude and longitude are required when supplied. |
| `customer_id` | string | No | Existing CompanyCam customer ID to associate with the project. |
| `postal_code` | string | Yes | Project postal code. |
| `primary_contact` | object | No | Optional primary contact; name, email, and phone number are required when supplied. |
| `street_address_1` | string | Yes | Primary street address. |
| `project_template_id` | string | No | CompanyCam project template ID to apply. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Project Task

**Slug:** `COMPANYCAM_CREATE_PROJECT_TASK`

Create a task on a CompanyCam project with task details and optional assignees.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `details` | string | Yes | Task details. |
| `project_id` | string | Yes | CompanyCam project ID. |
| `assignee_ids` | array | No | CompanyCam user IDs to assign when creating the task. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Photo Tag

**Slug:** `COMPANYCAM_CREATE_TAG`

Create a reusable CompanyCam media tag for organizing photos.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `display_value` | string | Yes | Human-readable tag name. CompanyCam derives the normalized value. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Account Context

**Slug:** `COMPANYCAM_GET_ACCOUNT_CONTEXT`

Return the connected CompanyCam user and company so an agent can identify the account, role, and company before acting.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Photo

**Slug:** `COMPANYCAM_GET_PHOTO`

Get one CompanyCam photo by ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `photo_id` | string | Yes | CompanyCam photo ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Project

**Slug:** `COMPANYCAM_GET_PROJECT`

Get one CompanyCam project by ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | CompanyCam project ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Comments

**Slug:** `COMPANYCAM_LIST_COMMENTS`

List comments attached to either a CompanyCam project or photo.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `target_id` | string | Yes | CompanyCam project or photo ID matching target_type. |
| `target_type` | string ("project" | "photo") | Yes | Resource type whose comments to list: project or photo. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Customers

**Slug:** `COMPANYCAM_LIST_CUSTOMERS`

List or search CompanyCam customers by name or contact text.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | string | No | Optional text to match against customer names and contact details. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Project Labels

**Slug:** `COMPANYCAM_LIST_LABELS`

List reusable CompanyCam project labels that can be attached to projects.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum labels in this page (1-100). |
| `cursor` | string | No | Opaque next_cursor from a previous response; omit for the first page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Project Photos

**Slug:** `COMPANYCAM_LIST_PROJECT_PHOTOS`

List and filter photos in a CompanyCam project by tags, users, or groups, one cursor page at a time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum photos in this page (1-100). |
| `cursor` | string | No | Opaque next_cursor from a previous response; omit for the first page. |
| `tag_ids` | array | No | Only return photos with any of these media tag IDs. |
| `user_ids` | array | No | Only return photos created by any of these CompanyCam user IDs. |
| `group_ids` | array | No | Only return photos associated with any of these CompanyCam group IDs. |
| `project_id` | string | Yes | CompanyCam project ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Projects

**Slug:** `COMPANYCAM_LIST_PROJECTS`

List projects with optional lifecycle and assigned-user filters, one cursor page at a time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum projects to return in this page (1-100). |
| `cursor` | string | No | Opaque next_cursor from a previous response; omit for the first page. |
| `archived` | boolean | No | Filter projects by archived state. |
| `include_total` | boolean | No | Include the total number of matching projects in the response. |
| `assigned_user_ids` | array | No | Only return projects assigned to any of these CompanyCam user IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Project Tasks

**Slug:** `COMPANYCAM_LIST_PROJECT_TASKS`

List tasks for a CompanyCam project, including status, completion, assignees, and attached media.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | CompanyCam project ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Photo Tags

**Slug:** `COMPANYCAM_LIST_TAGS`

List reusable CompanyCam media tags and return an opaque cursor for the next page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum tags in this page (1-100). |
| `cursor` | string | No | Opaque next_cursor from a previous response; omit for the first page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Users

**Slug:** `COMPANYCAM_LIST_USERS`

List CompanyCam users available for task assignment and project workflows.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum users in this page (1-100). |
| `cursor` | string | No | Opaque next_cursor from a previous response; omit for the first page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Projects

**Slug:** `COMPANYCAM_SEARCH_PROJECTS`

Search CompanyCam projects by a free-text query when project list filters are insufficient.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | string | Yes | Text to match against CompanyCam projects. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set Photo Description

**Slug:** `COMPANYCAM_SET_PHOTO_DESCRIPTION`

Create or replace the description attached to a CompanyCam photo. Setting a description replaces the photo's existing description rather than appending to it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `content` | string | Yes | New description content. This replaces any existing photo description. |
| `photo_id` | string | Yes | CompanyCam photo ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Customer

**Slug:** `COMPANYCAM_UPDATE_CUSTOMER`

Update the name, notes, city, or postal code of an existing CompanyCam customer.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | New customer name. |
| `notes` | string | No | New customer notes. |
| `address` | object | No | Supported customer address updates: city and/or postal code. |
| `customer_id` | string | Yes | CompanyCam customer ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Project

**Slug:** `COMPANYCAM_UPDATE_PROJECT`

Update editable project identity, address, or primary-contact fields without changing archive state.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `city` | string | No | New city. |
| `name` | string | No | New project name. |
| `state` | string | No | New state or region. |
| `project_id` | string | Yes | CompanyCam project ID. |
| `primary_contact` | object | No | Replacement primary contact. The contact name is required when supplied. |
| `street_address_1` | string | No | New primary street address. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Project Task

**Slug:** `COMPANYCAM_UPDATE_PROJECT_TASK`

Update a CompanyCam project task's details or add and retain assignees. This tool cannot remove existing assignees because removal requires provider-specific assignee-removal records that this tool does not expose.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `details` | string | No | New task details. |
| `task_id` | string | Yes | CompanyCam project task ID. |
| `project_id` | string | Yes | CompanyCam project ID containing the task. |
| `assignee_ids` | array | No | CompanyCam user IDs to add or retain. This cannot remove existing assignees; omitted users are retained because this tool never sends the provider's assignee-removal records. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
