# Bugherd

BugHerd is a visual feedback and bug tracking tool for websites, allowing clients and teams to report issues directly on live sites.

- **Category:** project management
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 25
- **Triggers:** 0
- **Slug:** `BUGHERD`
- **Version:** 20260223_00

## Tools

### Add Guest to Project

**Slug:** `BUGHERD_ADD_GUEST_TO_PROJECT`

Tool to add a guest (client) to a project. Use when you want to add an existing client by ID or invite a new client by email.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | Email address to invite a new guest (client). Mutually exclusive with 'user_id'. |
| `user_id` | integer | No | ID of an existing guest (client) to add. Mutually exclusive with 'email'. |
| `project_id` | integer | Yes | ID of the project to add the guest (client) to. |

#### 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 Member to Project

**Slug:** `BUGHERD_ADD_MEMBER_TO_PROJECT`

Tool to add a member to a project in BugHerd. Use when you need to add an existing user to a specific project.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | integer | Yes | The ID of the existing user to add to the project. |
| `project_id` | integer | Yes | The ID of the project to which the member will be added. |

#### 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 Attachment

**Slug:** `BUGHERD_CREATE_ATTACHMENT`

Tool to add a new attachment to a task using an existing URL. Use when you have project and task IDs and the external file URL ready.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | Public URL of the file to attach. |
| `task_id` | integer | Yes | Unique identifier of the task to which the attachment will be added. |
| `file_name` | string | Yes | Name of the attachment file (e.g., 'resolution.gif'). |
| `project_id` | integer | Yes | Unique identifier of the project containing 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 Column

**Slug:** `BUGHERD_CREATE_COLUMN`

Tool to create a new column in a project. Use when you need to add a custom workflow column after identifying the project ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the new custom column. |
| `position` | integer | No | Zero-based position of the new column in the project's column list; defaults to appending if omitted. |
| `project_id` | integer | Yes | ID of the project to which the column will be added. |

#### 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 Comment

**Slug:** `BUGHERD_CREATE_COMMENT`

Tool to add a new comment to a task. Use when you need to record discussion or feedback on an existing task.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `text` | string | Yes | Content of the comment to add. |
| `email` | string | No | Email address of the commenter. Used if 'user_id' is not set. |
| `task_id` | integer | Yes | ID of the task to which the comment will be added. |
| `user_id` | integer | No | ID of an existing user adding the comment. Mutually exclusive with 'email'. |
| `project_id` | integer | Yes | ID of the project containing 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 Project

**Slug:** `BUGHERD_CREATE_PROJECT`

Tool to create a new project. Use when you need to initialize a project after gathering its name and URL. Example: "Create a new project named 'My Website' with URL 'http://www.example.com'."

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project` | object | Yes | Project fields for creating a new BugHerd project. |

#### 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 Task

**Slug:** `BUGHERD_CREATE_TASK`

Tool to add a new task in a project. Use when you have the project ID and full task details ready.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `status` | string | No | Status or column for the task. Use one of the default statuses ('backlog','todo','doing','done','closed') or for custom columns pass the column name. Omit or set to null to send to the Feedback panel. |
| `priority` | string ("not set" | "critical" | "important" | "normal" | "minor") | No | Priority of the task. Defaults to 'not set' if omitted. |
| `tag_names` | array | No | List of tag strings to associate with the new task. |
| `project_id` | integer | Yes | ID of the project to which the task will be added. |
| `description` | string | Yes | Text describing the task or bug to be logged. |
| `external_id` | string | No | API-only field for correlating with external systems. Cannot be set from the BugHerd UI. |
| `requester_id` | integer | No | ID of an existing requester user. Mutually exclusive with 'requester_email'. |
| `assigned_to_id` | integer | No | ID of a project member to assign this task to. Mutually exclusive with 'assigned_to_email'. |
| `requester_email` | string | No | Email address of the requester. Used if 'requester_id' is not set. |
| `assigned_to_email` | string | No | Email of a project member to assign this task to. Must correspond to an existing member in the given project. |

#### 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 Webhook

**Slug:** `BUGHERD_CREATE_WEBHOOK`

Tool to create a new webhook for real-time event notifications. Use when you need to configure a callback endpoint for task or comment events. Example: "Create a webhook for 'task_create' events to be sent to 'https://example.com/webhook'."

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event` | string ("task_create" | "task_update" | "comment" | "task_destroy") | Yes | Event that triggers the webhook. One of 'task_create', 'task_update', 'comment', or 'task_destroy'. |
| `project_id` | integer | No | ID of the project to apply the webhook to. If omitted, applies to all projects. |
| `target_url` | string | Yes | URL to which webhook payloads will be delivered. |

#### 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 |

### Delete Project

**Slug:** `BUGHERD_DELETE_PROJECT`

Tool to delete a project. Use when you need to permanently remove a project and its associated data. This action cannot be undone, so confirm the project ID before calling.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | integer | Yes | The ID of the project to delete. |

#### 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 Active Projects

**Slug:** `BUGHERD_LIST_ACTIVE_PROJECTS`

Tool to list all active projects in your BugHerd account. Use when you need to retrieve the active projects list (e.g., for syncing or reporting).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (1-based). BugHerd returns up to 100 records per page; omit to fetch 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 Attachments

**Slug:** `BUGHERD_LIST_ATTACHMENTS`

Tool to list all attachments for a task. Use when you need to retrieve file attachments after fetching task details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (each page returns up to 100 attachments). |
| `task_id` | integer | Yes | Global unique ID of the task to list attachments for (not the local_task_id). |
| `project_id` | integer | Yes | ID of the project containing 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 |

### List Columns

**Slug:** `BUGHERD_LIST_COLUMNS`

Tool to list all columns for a project. Use when you need the full set of default and custom columns for a project.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | integer | Yes | The unique identifier of the BugHerd project. Obtain this from the List Projects action. |

#### 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:** `BUGHERD_LIST_PROJECTS`

Retrieves a paginated list of all projects in your BugHerd account. Returns project details including ID, name, creation date, owner, task status, and associated website URLs. Results are paginated with up to 100 projects per page. Use the meta.count field to determine the total number of projects.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. Each page returns up to 100 projects. Defaults to 1 if not specified. |

#### 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:** `BUGHERD_LIST_PROJECT_TASKS`

Tool to list tasks within a specific BugHerd project with optional server-side filters (status/column, assignee, tag, priority, date filters) and pagination. Use when you need to retrieve tasks scoped to a single project.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag` | string | No | Filter by tag name. |
| `page` | integer | No | Page number for pagination. Each page returns up to 100 tasks. Defaults to 1 if not specified. |
| `status` | string | No | Filter by status or column name (e.g., 'backlog', 'todo', 'doing', 'done', 'closed', or custom column name). |
| `priority` | string | No | Filter by priority level (e.g., 'critical', 'important', 'normal', 'minor', 'not set'). |
| `project_id` | integer | Yes | ID of the project to list tasks from. |
| `external_id` | string | No | Filter by external ID for integration with external systems. |
| `created_since` | string | No | Filter tasks created since this timestamp (ISO8601 format). |
| `updated_since` | string | No | Filter tasks updated since this timestamp (ISO8601 format). |
| `assigned_to_id` | integer | No | Filter by assigned user 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 Users

**Slug:** `BUGHERD_LIST_USERS`

Tool to list all users in your account. Use after authenticating to fetch the current user roster. Supports pagination via the `page` parameter.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number (1-based) to retrieve. |

#### 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 Webhooks

**Slug:** `BUGHERD_LIST_WEBHOOKS`

Tool to list all installed webhooks. Use when you need to audit or verify existing webhooks after setup.

#### 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 |

### Show Attachment

**Slug:** `BUGHERD_SHOW_ATTACHMENT`

Tool to retrieve details of a specific attachment. Use after you have project_id, task_id, and attachment_id to get filename, URL, and timestamps.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | integer | Yes | Unique identifier of the task containing the attachment. |
| `project_id` | integer | Yes | Unique identifier of the project containing the task. |
| `attachment_id` | integer | Yes | Unique identifier of the attachment to retrieve. |

#### 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 |

### Show Column

**Slug:** `BUGHERD_SHOW_COLUMN`

Tool to show details of a specific column. Use when you need metadata for a particular column within a project.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `column_id` | integer | Yes | Unique identifier of the column to retrieve |
| `project_id` | integer | Yes | ID of the project containing the column |

#### 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 |

### Show Organization

**Slug:** `BUGHERD_SHOW_ORGANIZATION`

Tool to retrieve your BugHerd organization details. Use after authenticating to fetch account metadata.

#### 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 |

### Show Project Details

**Slug:** `BUGHERD_SHOW_PROJECT`

Retrieves full details of a specific BugHerd project by ID. Returns comprehensive project information including name, settings, team members, guests, and kanban columns. Use this when you need detailed project data such as member lists, workflow columns, or project configuration settings. Requires a valid project_id obtained from list_projects or another source.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | integer | Yes | The unique identifier of the project to retrieve |

#### 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 |

### Show User Projects

**Slug:** `BUGHERD_SHOW_USER_PROJECTS`

Tool to list all projects a specific user has access to. Use after obtaining the user's ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | integer | Yes | The unique ID of the user whose accessible projects you want to list. |

#### 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 |

### Show User Tasks

**Slug:** `BUGHERD_SHOW_USER_TASKS`

Retrieves all tasks created by or assigned to a specific user, grouped by project. Returns task details including ID, description, priority, status, timestamps, and tags. Requires a valid user_id (obtain from List Users action). Supports pagination via page parameter.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Pagination page number (each page returns up to 100 tasks). |
| `user_id` | integer | Yes | Globally unique ID of the user whose tasks to list. |

#### 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 Column

**Slug:** `BUGHERD_UPDATE_COLUMN`

Tool to update a column in a project. Use when you have the project and column IDs and need to rename a column. Use after confirming the correct IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `column` | object | Yes | Column fields to update |
| `column_id` | integer | Yes | ID of the column to update |
| `project_id` | integer | Yes | ID of the project containing the column |

#### 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:** `BUGHERD_UPDATE_PROJECT`

Update settings for an existing BugHerd project. Use this to modify a project's name, URL, visibility settings, or guest permissions. Prerequisites: You need a valid project_id. Use list_projects to find existing project IDs, or create_project to create a new one. Note: Only include fields you want to change - omitted fields will retain their current values.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project` | object | Yes | Object containing the fields to update. Only include the fields you want to change. |
| `project_id` | integer | Yes | The unique numeric ID of the project to update. Get this from list_projects or create_project. |

#### 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 Task

**Slug:** `BUGHERD_UPDATE_TASK`

Tool to update a task in a project. Use after confirming the project and task IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task` | object | Yes | Fields to update for the task |
| `task_id` | integer | Yes | Global ID of the task to update (not the local_task_id) |
| `project_id` | integer | Yes | ID of the project containing 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 |

### Upload Attachment

**Slug:** `BUGHERD_UPLOAD_ATTACHMENT`

Tool to upload a new attachment and add it to a specific task. Use when you have binary file content ready and need to attach it to a BugHerd task.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | integer | Yes | ID of the task to attach the file to. |
| `file_name` | string | Yes | Name of the attachment file including extension (e.g., 'screenshot.png', 'report.pdf'). |
| `project_id` | integer | Yes | ID of the project containing the task. |
| `file_content` | string | Yes | Raw binary content of the file to be uploaded. For text files, encode the content as bytes. |

#### 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 |
