---
title: Hive API Integration on Truto
slug: hive
category: Ticketing
canonical: "https://truto.one/integrations/detail/hive/"
---

# Hive API Integration on Truto



**Category:** Ticketing  
**Status:** Generally available

## Unified APIs

### Unified User Directory API

- **Groups** — Groups are a collection of users in the source application. In some applications, they might also be called Teams.
- **Users** — The User object represents a User.

### Unified Ticketing API

- **Attachments** — Attachments are the files associated with a ticket or a comment.
- **Collections** — Tickets and contacts can be grouped into Collections. Collection resource usually maps to the various grouping systems used in the underlying product. Some examples are lists, projects, epics, etc. You can differentiate between these grouping systems using the type attribute of a Collection.
- **Comments** — Comments represent the communication happening on a Ticket, both between a User and a Contact and the internal things like notes, private comments, etc. A Ticket can have one or more Comments.
- **Fields** — Fields represent the attributes defined for various entities in the underlying product. Depending on the underlying product, custom attributes can be defined by a User on various entities like Ticket, Contact, etc. is_user_defined attribute within Field can be used to differentiate between custom and system defined Fields.
- **Tags** — Tags represent a common classification approach used in various ticketing systems. A Ticket may have one or more Tags associated with them.
- **Teams** — Teams represent the grouping system used for Users. These are usually called groups, teams, agent groups, etc. in the underlying products. A User can belong to one or more Teams.
- **Tickets** — Core resource which represents some work that needs to be carried out. Tickets are usually mapped to issues, tasks, work items, etc. depending on the underlying product.
- **Users** — Users represent the people using the underlying ticketing system. They are usually called agents, team members, admins, etc.

## MCP-ready AI tools

Truto exposes 73 tools for Hive that AI agents can call directly.

- **list_all_hive_users** — Get a list of users filtered by email in Hive. Returns an array of user objects including id, fullName, email, and profile with firstName and lastName.
- **get_single_hive_user_by_id** — Get user by id in Hive. Returns id, profile with firstName and lastName, fullName, and email fields.
- **delete_a_hive_user_by_id** — Remove a user from a workspace in Hive. Requires workspace_id and userId. Returns no content on success.
- **create_a_hive_user** — Invite a new user to your workspace in Hive using workspace_id and email. Returns id and profile with firstName, lastName, fullName, and email of the invited user.
- **update_a_hive_user_by_id** — Update user profile by id in Hive. Returns id and updated profile fields: firstName, lastName, fullName, and email.
- **list_all_hive_workspaces** — Get all workspaces that the user with user_id is a member of in Hive. Returns workspace id, name, members, createdAt, modifiedAt, createdBy, and modifiedBy fields.
- **list_all_hive_groups** — Get all chat groups for a given workspace in Hive. Requires workspace_id. Returns groups with id, name, members, workspace, createdAt, createdBy, and modifiedBy fields.
- **list_all_hive_workspace_users** — Get all users for a given workspace in Hive. Requires workspace_id. Returns user id, profile with firstName and lastName, fullName, and email for each user.
- **list_all_hive_user_role_tags** — Get user role tag for workspace with workspace_id and user with id in Hive. Returns _id, workspace, name, createdBy, modifiedBy, createdAt, and modifiedAt fields.
- **update_a_hive_user_role_tag_by_id** — Update user role tag with workspace_id, user_id, and id in Hive. Returns _id, workspace, name, createdBy, modifiedBy, createdAt, and modifiedAt fields in the response.
- **list_all_hive_projects** — Get all projects for a given workspace in Hive. Requires workspace_id. Returns project id, name, description, startDate, endDate, accessOption, sharingType, members, template, createdAt, modifiedAt, createdBy, modifiedBy, projectCustomFields, color, parentProject, phases, budget, and resourcePlaceholderIds.
- **get_single_hive_project_by_id** — Get project by id in Hive. Returns project fields including id, name, description, startDate, endDate, accessOption, sharingType, members, template, createdAt, modifiedAt, createdBy, modifiedBy, projectCustomFields, color, parentProject, phases, budget, and resourcePlaceholderIds.
- **create_a_hive_project** — Create a new project in Hive with required workspace and name. Returns project id, name, workspace, description, startDate, endDate, accessOption, sharingType, members, template, createdAt, modifiedAt, createdBy, modifiedBy, and projectCustomFields.
- **update_a_hive_project_by_id** — Update a project by id in Hive. Requires id. Returns updated project fields including id, name, description, startDate, endDate, accessOption, sharingType, members, template, createdAt, modifiedAt, createdBy, modifiedBy, and projectCustomFields.
- **delete_a_hive_project_by_id** — Delete a project by id in Hive. Requires id of the project to delete. Returns status 200 on success.
- **list_all_hive_teams** — Get all teams for your workspace in Hive. Requires workspace_id. Returns an array of teams with fields _id (team id), name (team name), workspace (workspace id), and members (array of member ids).
- **create_a_hive_team** — Create a new team in Hive with required workspace, members, and name. Returns _id, name, members, workspace, deleted status, userId, createdBy, createdAt, modifiedAt, and isExternal fields in the response.
- **update_a_hive_team_by_id** — Update existing team with id in Hive by providing name and members. Returns updated team with fields _id, name, members, workspace, deleted, userId, createdBy, createdAt, modifiedAt, and isExternal.
- **delete_a_hive_team_by_id** — Delete a team by id in Hive. Returns status 200 on success or 400 on error.
- **list_all_hive_labels** — Get all labels for a workspace in Hive using workspace_id. Returns label fields _id, name, color, parent, createdBy, modifiedBy, createdAt, and modifiedAt.
- **get_single_hive_label_by_id** — Get label details by workspace_id and id in Hive. Returns _id, workspace, name, color, parent, createdBy, modifiedBy, createdAt, and modifiedAt fields.
- **update_a_hive_label_by_id** — Update an existing label in Hive with workspace_id and id. Returns _id, workspace, name, color, parent, createdBy, modifiedBy, createdAt, and modifiedAt fields in the response.
- **delete_a_hive_label_by_id** — Delete an existing label by workspace_id and id in Hive.
- **create_a_hive_label** — Create a new label in Hive with workspace_id, name, and color. Returns the created label with its _id, name, parent, and color fields.
- **list_all_hive_actions** — Get all actions for a given workspace in Hive. Requires workspace_id. Returns action fields including status, parent, archived, milestone, and deleted.
- **get_single_hive_action_by_id** — Get information about a specific action in Hive using id. Returns fields including estimate which is the estimated time for the action in seconds or null if not present.
- **create_a_hive_action** — Create a new action in Hive with workspace, title, and projectId. Returns id, title, workspace, assignees, projectId, customFields, createdAt, modifiedAt, createdBy, modifiedBy, status, deadline, scheduledDate, checkedDate, parent, root, hasSubactions, estimate, and loggedTime fields.
- **update_a_hive_action_by_id** — Update an action by id in Hive. Returns updated fields including id, title, workspace, assignees, projectId, customFields, status, deadline, scheduledDate, parent, archived, and other key action details.
- **delete_a_hive_action_by_id** — Delete action by id in Hive. Returns a message confirming the deletion.
- **list_all_hive_action_comments** — Get comments for an action in Hive using id. Returns fields id, attachments, workspace, body, mentions, createdBy, createdAt, and reactions for each comment.
- **create_a_hive_action_comment** — Create an action comment for the action identified by id in Hive. Returns the comment id, body, workspace, createdAt timestamp, createdBy user, attachments, reactions, and mentions.
- **list_all_hive_action_attachments** — Get all attachments for an action in Hive by actionId. Returns _id, name, workspace, url, createdAt, createdBy, modifiedAt, and modifiedBy for each attachment. Excludes attachments from 3rd party file stores or nested in comments.
- **get_single_hive_action_attachment_by_id** — Get attachment by attachmentId and actionId in Hive. Returns fields _id, name, workspace, url, createdAt, createdBy, modifiedAt, and modifiedBy of the file object. The file must exist on the corresponding action.
- **create_a_hive_action_attachment** — Create an action attachment for the action identified by id in Hive. Requires actionId and file URL. Returns a message confirming the attachment status.
- **hive_action_attachments_download** — Use this endpoint to download the actual file content of an attachment in Hive. The url for this request is obtained from the attachment metadata returned by the list or get attachment endpoints.
- **list_all_hive_me** — Use this endpoint to retrieve the profile information of a specific user in Hive.
- **list_all_hive_custom_fields** — Get custom fields for a workspace in Hive. Requires workspace_id. Returns fields including _id (field identifier), label (field name), type (field type), workspace (workspace ID), deleted (deletion status), modifiedAt (last modification date), modifiedBy (modifier ID), and attachedToObject (associated object).
- **get_single_hive_custom_field_by_id** — Get custom field by workspace_id and id in Hive. Returns _id, label, type, workspace, deleted, modifiedAt, modifiedBy, and attachedToObject fields.
- **create_a_hive_custom_field** — Create a custom field in Hive for workspace_id with label, type, and itemType. Returns _id, label, type, workspace, deleted, modifiedAt, modifiedBy, and attachedToObject fields in the response.
- **list_all_hive_action_templates** — Get all action templates for a given workspace in Hive. Requires workspace_id. Returns an array of action templates with fields id, name, createdAt, modifiedAt, createdBy, and modifiedBy.
- **hive_action_templates_apply** — Apply an action template to an existing action in Hive using action id and processId. Returns status 200 on success.
- **list_all_hive_action_history** — Get action history for a specific action in Hive. Requires id of the action. Returns the full history log including time, status, and user agent.
- **list_all_hive_custom_tags** — Get all custom tags of type user or project for workspace_id in Hive. Returns fields _id, workspace, name, type, options, isMulti, createdBy, modifiedBy, createdAt, and modifiedAt.
- **get_single_hive_custom_tag_by_id** — Get a custom tag by id in Hive with workspace_id and id. Returns _id, name, type, isMulti, options, createdAt, createdBy, modifiedAt, and modifiedBy fields.
- **create_a_hive_custom_tag** — Create a new custom tag in Hive with workspace_id, name, and type. Returns _id, name, type, isMulti, options, createdAt, createdBy, modifiedAt, and modifiedBy fields.
- **update_a_hive_custom_tag_by_id** — Update a custom tag by workspace_id and id in Hive. Returns _id, name, type, isMulti, options, createdAt, createdBy, modifiedAt, and modifiedBy fields.
- **delete_a_hive_custom_tag_by_id** — Delete a custom tag by workspace_id and id in Hive. Returns a message confirming deletion.
- **create_a_hive_message** — Create a new message in Hive with workspace, body, senderName, senderPicture, and containerId. Returns id, sender, workspace, containerId, body, senderPicture, senderFirstName, createdBy, modifiedBy, createdAt, and modifiedAt.
- **create_a_hive_project_custom_field** — Create a new custom field for a project in Hive using project_id. Returns the updated list of projectCustomFields including label, value, type, selectedValues, and hidden status.
- **update_a_hive_project_custom_field_by_id** — Update an existing custom field for a project in Hive using project_id and id. Returns the updated project object including id, name, description, startDate, endDate, accessOption, sharingType, members, createdAt, modifiedAt, createdBy, modifiedBy, and projectCustomFields with label, value, type, and other details.
- **list_all_hive_project_statuses** — Get project statuses for workspace_id in Hive. Returns edges array containing project status nodes with pagination info including totalCount, hasNextPage, and hasPreviousPage.
- **hive_project_statuses_set** — Set project status for a project in Hive using projectId and statusId. Returns _id, statusId, and description of the updated status.
- **list_all_hive_project_tags** — Get all project tags for workspace_id and project_id in Hive. Returns an array of tags with fields _id, projectId, name, options, selectedOptions, and isMulti indicating tag details and selection.
- **get_single_hive_project_tag_by_id** — Get a single project tag for a given workspace_id, project_id, and id in Hive. Returns _id, name, options, selectedOptions, and isMulti fields of the project tag.
- **update_a_hive_project_tag_by_id** — Update a project tag with id in Hive using workspace_id and project_id. Returns _id, name, options, selectedOptions, and isMulti fields reflecting the updated tag.
- **list_all_hive_resource_assignments** — Get resource assignments for workspace_id in Hive. Returns id, workspace, resourceId, projectId, startDate, endDate, allocationType, assignmentType, hoursPerDay, fixedHours, and fixedDisplayType fields.
- **get_single_hive_resource_assignment_by_id** — Get resource assignment by id in Hive. Returns the resource assignment object matching the specified id.
- **create_a_hive_resource_assignment** — Create a new resource assignment in Hive with workspace, resourceId, startDate, endDate, and assignmentType. Returns the created resource assignment details.
- **update_a_hive_resource_assignment_by_id** — Update resource assignment by id in Hive. Requires id and allows updating startDate, endDate, projectId, notes, assignmentType, allocationType, hoursPerDay, fixedHours, and fixedDisplayType. Returns updated resource assignment details.
- **delete_a_hive_resource_assignment_by_id** — Delete resource assignment by id in Hive. Returns status 200 on success.
- **list_all_hive_role_tags** — Get all role tags for a workspace in Hive. Requires workspace_id. Returns _id, workspace, name, createdBy, modifiedBy, createdAt, and modifiedAt for each role tag.
- **create_a_hive_role_tag** — Create a new role tag in Hive for workspace_id. Returns the created role tag with its name.
- **update_a_hive_role_tag_by_id** — Update an existing role tag with id in workspace_id in Hive. Returns _id, workspace, name, createdBy, modifiedBy, createdAt, and modifiedAt fields.
- **delete_a_hive_role_tag_by_id** — Delete an existing role tag by workspace_id and id in Hive.
- **get_single_hive_status_by_id** — Get status by id in Hive. Returns the status details for the specified id.
- **create_a_hive_status** — Create a status with name, color, and workspaceId in Hive. Returns _id, name, and color of the created status.
- **get_single_hive_user_setting_by_id** — Get user setting by workspace_id and id in Hive. Returns workspaceId, _id, userId, firstDayOfWork, lastDayOfWork, billRate, and costRate fields.
- **update_a_hive_user_setting_by_id** — Update user setting for workspace_id and id in Hive. Returns workspaceId, _id, userId, firstDayOfWork, lastDayOfWork, billRate, and costRate in the response.
- **list_all_hive_user_tags** — Get all user tags for a user in a workspace in Hive. Requires workspace_id and user_id. Returns an array of user tag objects including _id, userId, name, options, selectedOptions, and isMulti fields.
- **get_single_hive_user_tag_by_id** — Get a single user tag for a given workspace and user in Hive. Requires workspace_id, user_id, and id. Returns _id, name, options, selectedOptions, and isMulti fields.
- **update_a_hive_user_tag_by_id** — Update a specific user tag for user_id in workspace_id in Hive. Returns _id, name, options, selectedOptions, and isMulti fields representing the updated tag details.
- **create_a_hive_webhook** — Create a webhook in Hive with required parameters name, workspaceId, trigger, and url. Returns webhook details including _id, name, workspaceId, trigger, url, projectIds, fields, filters, createdAt, and modifiedAt.
- **delete_a_hive_webhook_by_id** — Delete webhook by id in Hive. Returns a message confirming the webhook deletion.

## How it works

1. **Link your customer's Hive account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Hive.** The Proxy API is a 1-to-1 mapping of the Hive API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Sync onboarding milestones into your customers' Hive workspaces** — Client onboarding platforms can automatically create Hive Projects and Actions for each onboarding milestone, then update statuses in real time as clients complete tasks — keeping internal delivery teams aligned without manual data entry.
- **Escalate support tickets into Hive for engineering follow-up** — Helpdesk and customer support platforms can convert escalated issues into Hive Actions with full context — attachments, comments, and custom field mappings — and use webhooks to get notified when the engineering team resolves the issue.
- **Push bug reports and QA findings directly into Hive projects** — QA and bug-tracking tools can let testers select a destination Hive project, then create Actions with screenshots, logs, and labels attached — so engineering teams receive fully contextualized bug reports in their existing workflow.
- **Build agency profitability dashboards from Hive resource data** — Analytics and BI platforms can pull user settings (bill rates, cost rates), resource assignments, and logged time from Hive to calculate real-time utilization and margin metrics across the agency's project portfolio.
- **Automate project creation from CRM deal closures** — Revenue operations tools can trigger the creation of Hive Projects and apply Action Templates when deals close, ensuring standardized delivery kickoff workflows without manual setup by project managers.

## What you can build

- **Two-way ticket sync between your product and Hive** — Create, update, and track Hive Actions (tickets) bi-directionally using the Unified Ticketing API for Tickets, Comments, and Attachments, keeping both systems in lockstep.
- **Custom field and tag mapping interface** — Dynamically fetch Hive Custom Fields and Custom Tags so your users can map their data to the exact fields their team has configured in Hive, without hardcoding schemas.
- **Webhook-driven status change notifications** — Register Hive webhooks programmatically to subscribe to Action status changes and trigger downstream workflows in your product in real time, eliminating polling.
- **Automated project scaffolding with Action Templates** — Apply your customers' pre-built Hive Action Templates to new projects via API, respecting their existing internal processes instead of recreating task hierarchies from scratch.
- **Team and user directory sync** — Pull Hive users, teams, groups, and role tags into your product using the Unified User Directory API to power assignment dropdowns, permission models, and org-chart views.
- **Resource assignment and capacity view** — Read and write Hive Resource Assignments — including allocation type and hours per day — to surface team capacity data or push scheduling decisions from your workforce planning tool.

## FAQs

### What authentication method does the Hive integration use?

Truto handles Hive's API authentication for you. Your end users connect their Hive accounts through Truto's managed auth flow, so you never need to store or refresh credentials yourself.

### Can I read and write Hive Custom Fields and Custom Tags through Truto?

Yes. You can list, create, read, and update Custom Fields at both the Action and Project level, and fully manage Custom Tags (create, read, update, delete). This lets you dynamically map your data model to each customer's Hive configuration.

### Does Truto support real-time event notifications from Hive?

Yes. You can programmatically create and delete Hive webhooks using the create_a_hive_webhook and delete_a_hive_webhook_by_id tools, allowing you to subscribe to events like Action status changes instead of relying on polling.

### Which Unified APIs map to Hive resources?

Hive is covered by the Unified Ticketing API (Tickets, Comments, Attachments, Fields, Tags, Teams, Collections, Users) and the Unified User Directory API (Users, Groups). This means you can use the same normalized schema to integrate Hive alongside other ticketing tools.

### Can I manage file attachments on Hive Actions?

Yes. You can list, get, create, and download attachments on Actions using the dedicated attachment tools. This is useful for syncing screenshots, documents, or logs from your product into Hive tickets.

### How does Truto handle pagination and rate limits for the Hive API?

Truto manages pagination automatically when listing resources like Actions, Projects, or Users, so you receive complete result sets without implementing cursor logic. Rate limit handling and retries are built in at the platform level.
