> ## Documentation Index
> Fetch the complete documentation index at: https://docs.thena.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Activities

> Complete guide to workflow activities in the Thena platform

Activities are the building blocks of workflows in the Thena platform. They represent the actual operations to be performed when a workflow executes, enabling automation of various business processes.

## Understanding activities

<CardGroup cols={1}>
  <Card title="Core purpose" icon="play">
    Activities provide a structured way to define and execute operations within workflows. Each activity represents a discrete, reusable operation that can be configured, secured, and monitored.
  </Card>
</CardGroup>

## Activity types

<CardGroup cols={2}>
  <Card title="System activities" icon="gear">
    • Data manipulation: Transform, filter, format <br />
    • Flow control: Branch, delay <br />
  </Card>

  <Card title="App activities" icon="puzzle-piece">
    • Ticket activities: Create, update, assign <br />
    • User activities: Create, update, permissions <br />
    • Integration activities: API calls, webhooks <br />
  </Card>
</CardGroup>

## Activity anatomy

### Core properties

<CardGroup cols={2}>
  <Card title="Identifiers" icon="id-badge">
    • **uid**: Unique system identifier<br />
    • **name**: Human-readable name<br />
    • **uniqueIdentifier**: Machine-readable identifier (e.g., `tickets:create-ticket-platform`)<br />
    • **version**: Activity version number<br />
    • **source**: Origin application
  </Card>

  <Card title="Metadata" icon="circle-info">
    • **description**: Purpose description<br />
    • **throttler**: Rate limiting configuration<br />
    • **metadata**: Additional configuration data
  </Card>
</CardGroup>

### Schema structure

<AccordionGroup>
  <Accordion title="Request schema" icon="arrow-right">
    Input parameters definition:

    * Required fields
    * Optional fields
    * Data types and validation
    * Nested object structures
  </Accordion>

  <Accordion title="Response schema" icon="arrow-left">
    Output data definition:

    * Required response fields
    * Optional response fields
    * Success/failure indicators
    * Return data structure
  </Accordion>

  <Accordion title="Throttling" icon="gauge-high">
    Rate limiting configuration:

    * Time window (TTL)
    * Request limits
    * Key definition
    * Enable/disable flag
  </Accordion>
</AccordionGroup>

## Core platform activities

### Ticket management

<AccordionGroup>
  <Accordion title="Create ticket" icon="plus">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Creates a new ticket

    **Request payload**:

    ```json theme={null}
    {
          "title": {
            "type": "string",
            "required": true,
            "description": "Title of the ticket"
          },
          "requestorEmail": {
            "type": "string",
            "required": true,
            "description": "Email of the person requesting the ticket"
          },
          "teamId": {
            "type": "string",
            "required": true,
            "description": "ID of the team to assign the ticket to"
          },
          "description": {
            "type": "string",
            "optional": true,
            "description": "Detailed description of the ticket"
          },
          "accountId": {
            "type": "string",
            "optional": true,
            "description": "ID of the associated account"
          },
          "typeId": {
            "type": "string",
            "optional": true,
            "description": "Type of the ticket"
          },
          "statusId": {
            "type": "string",
            "optional": true,
            "description": "Status of the ticket"
          },
          "priorityId": {
            "type": "string",
            "optional": true,
            "description": "Priority of the ticket"
          },
          "assignedAgentId": {
            "type": "string",
            "optional": true,
            "description": "ID of the agent to assign the ticket to"
          },
          "isPrivate": {
            "type": "boolean",
            "optional": true,
            "description": "Whether the ticket is private"
          },
          "dueDate": {
            "type": "string",
            "optional": true,
            "description": "Due date for the ticket"
          },
          "source": {
            "type": "string",
            "optional": true,
            "description": "Source of the ticket"
          },
          "attachmentUrls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "optional": true,
            "description": "URLs of attached files"
          },
          "customFieldValues": {
            "type": "array",
            "items": {
        "type": "object",
        "properties": {
                "customFieldId": {
                  "type": "string",
                  "required": true
                },
                "data": {
                  "type": "object",
                  "required": true
                }
              }
            },
            "optional": true,
            "description": "Custom field values"
          }
        }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string",
        "required": true,
        "description": "Unique identifier of the created ticket"
      },
      "title": {
        "type": "string",
        "required": true,
        "description": "Title of the ticket"
      },
      "ticketId": {
        "type": "number",
        "required": true,
        "description": "Numeric ID of the ticket"
      },
      "teamId": {
        "type": "string",
        "required": true,
        "description": "Team ID"
      },
      "teamName": {
        "type": "string",
        "required": true,
        "description": "Team name"
      },
      "requestorEmail": {
        "type": "string",
        "required": true,
        "description": "Email of the requestor"
      },
      "status": {
        "type": "string",
        "optional": true,
        "description": "Current status"
      },
      "priority": {
        "type": "string",
        "optional": true,
        "description": "Current priority"
      },
      "description": {
        "type": "string",
        "optional": true,
        "description": "Ticket description"
      },
      "assignedAgent": {
        "type": "string",
        "optional": true,
        "description": "Name of assigned agent"
      },
      "assignedAgentId": {
        "type": "string",
        "optional": true,
        "description": "ID of assigned agent"
      },
      "assignedAgentEmail": {
        "type": "string",
        "optional": true,
        "description": "Assigned agent email"
      },
      "accountId": {
        "type": "string",
        "optional": true,
        "description": "Associated account ID"
      },
      "isPrivate": {
        "type": "boolean",
        "required": true,
        "description": "Whether the ticket is private"
      },
      "createdAt": {
        "type": "string",
        "required": true,
        "description": "Ticket creation timestamp"
      },
      "updatedAt": {
        "type": "string",
        "required": true,
        "description": "Last update timestamp"
      }
    }
    ```
  </Accordion>

  <Accordion title="Update ticket" icon="pen">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Updates an existing ticket

    **Request payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string",
        "required": true,
        "description": "ID of the ticket to update"
      },
      "title": {
        "type": "string",
        "optional": true,
        "description": "New title for the ticket"
      },
      "description": {
        "type": "string",
        "optional": true,
        "description": "New description for the ticket"
      },
      "teamId": {
        "type": "string",
        "optional": true,
        "description": "New team ID"
      },
      "typeId": {
        "type": "string",
        "optional": true,
        "description": "New type ID"
      },
      "statusId": {
        "type": "string",
        "optional": true,
        "description": "New status ID"
      },
      "priorityId": {
        "type": "string",
        "optional": true,
        "description": "New priority ID"
      },
      "accountId": {
        "type": "string",
        "optional": true,
        "description": "New account ID"
      },
      "assignedAgentId": {
        "type": "string",
        "optional": true,
        "description": "New assigned agent ID"
      },
      "isPrivate": {
        "type": "boolean",
        "optional": true,
        "description": "Whether the ticket is private"
      },
      "dueDate": {
        "type": "string",
        "optional": true,
        "description": "New due date"
      },
      "attachmentUrls": {
        "type": "array",
        "optional": true,
        "items": {
          "type": "string"
        },
        "description": "List of attachment URLs"
      },
      "customFieldValues": {
        "type": "array",
        "optional": true,
        "items": {
          "type": "object",
          "properties": {
            "customFieldId": {
              "type": "string",
              "required": true
            },
            "data": {
              "type": "object",
              "required": true
            }
          }
        },
        "description": "Custom field values"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string",
        "required": true
      },
      "title": {
        "type": "string",
        "required": true
      },
      "ticketId": {
        "type": "number",
        "required": true
      },
      "teamId": {
        "type": "string",
        "required": true
      },
      "teamName": {
        "type": "string",
        "required": true
      },
      "requestorEmail": {
        "type": "string",
        "required": true
      },
      "status": {
        "type": "string",
        "optional": true
      },
      "type": {
        "type": "string",
        "optional": true
      },
      "priority": {
        "type": "string",
        "optional": true
      },
      "description": {
        "type": "string",
        "optional": true
      },
      "assignedAgent": {
        "type": "string",
        "optional": true
      },
      "assignedAgentId": {
        "type": "string",
        "optional": true
      },
      "assignedAgentEmail": {
        "type": "string",
        "optional": true,
        "description": "Assigned agent email"
      },
      "accountId": {
        "type": "string",
        "optional": true
      },
      "isPrivate": {
        "type": "boolean",
        "required": true
      },
      "createdAt": {
        "type": "string",
        "required": true
      },
      "updatedAt": {
        "type": "string",
        "required": true
      }
    }
    ```
  </Accordion>

  <Accordion title="Assign ticket" icon="user-plus">
    **Scope**: Team\
    **Source**: Platform\
    **Compensation**: Compensate assign ticket\
    **Description**: Assigns a ticket to an agent

    **Request payload**:

    ```json theme={null}
    {
      "ticketId": {
        "type": "string",
        "required": true,
        "description": "ID of the ticket to assign"
      },
      "agentId": {
        "type": "string",
        "required": true,
        "description": "ID of the agent to assign the ticket to"
      },
      "unassign": {
        "type": "boolean",
        "optional": true,
        "description": "Whether to unassign the ticket instead"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "success": {
        "type": "boolean",
        "required": true,
        "description": "Whether the assignment was successful"
      },
      "ticket": {
        "type": "object",
        "required": true,
        "description": "The updated ticket object",
        "properties": {
          "id": {
            "type": "string",
            "required": true,
            "description": "Ticket ID"
          },
          "title": {
            "type": "string",
            "required": true,
            "description": "Ticket title"
          },
          "ticketId": {
            "type": "number",
            "required": true,
            "description": "Numeric ticket identifier"
          },
          "teamId": {
            "type": "string",
            "required": true,
            "description": "Team ID"
          },
          "teamName": {
            "type": "string",
            "required": true,
            "description": "Team name"
          },
          "requestorEmail": {
            "type": "string",
            "required": true,
            "description": "Email of the ticket requestor"
          },
          "assignedAgent": {
            "type": "string",
            "optional": true,
            "description": "Name of the assigned agent"
          },
          "assignedAgentId": {
            "type": "string",
            "optional": true,
            "description": "ID of the assigned agent"
          },
          "assignedAgentEmail": {
            "type": "string",
            "optional": true,
            "description": "Email of the assigned agent"
          },
          "status": {
            "type": "string",
            "optional": true,
            "description": "Ticket status"
          },
          "priority": {
            "type": "string",
            "optional": true,
            "description": "Ticket priority"
          },
          "description": {
            "type": "string",
            "optional": true,
            "description": "Ticket description"
          },
          "accountId": {
            "type": "string",
            "optional": true,
            "description": "Associated account ID"
          },
          "isPrivate": {
            "type": "boolean",
            "required": true,
            "description": "Whether the ticket is private"
          },
          "createdAt": {
            "type": "string",
            "required": true,
            "description": "Ticket creation timestamp"
          },
          "updatedAt": {
            "type": "string",
            "required": true,
            "description": "Last update timestamp"
          }
        }
      }
    }
    ```

    **Connection details**: Platform API
  </Accordion>

  <Accordion title="Escalate ticket" icon="arrow-up">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Escalates a ticket

    **Request payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string",
        "required": true,
        "description": "ID of the ticket to escalate"
      },
      "reason": {
        "type": "string",
        "required": true,
        "description": "Reason for escalation"
      },
      "details": {
        "type": "string",
        "required": true,
        "description": "Detailed explanation of the escalation"
      },
      "impact": {
        "type": "string",
        "required": true,
        "description": "Impact level of the escalation"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string",
        "required": true,
        "description": "Ticket ID"
      },
      "title": {
        "type": "string",
        "required": true,
        "description": "Ticket title"
      },
      "ticketId": {
        "type": "number",
        "required": true,
        "description": "Numeric ticket identifier"
      },
      "teamId": {
        "type": "string",
        "required": true,
        "description": "Team ID"
      },
      "teamName": {
        "type": "string",
        "required": true,
        "description": "Team name"
      },
      "requestorEmail": {
        "type": "string",
        "required": true,
        "description": "Email of the ticket requestor"
      },
      "description": {
        "type": "string",
        "optional": true,
        "description": "Ticket description"
      },
      "status": {
        "type": "string",
        "optional": true,
        "description": "Ticket status"
      },
      "priority": {
        "type": "string",
        "optional": true,
        "description": "Ticket priority"
      },
      "assignedAgent": {
        "type": "string",
        "optional": true,
        "description": "Name of the assigned agent"
      },
      "assignedAgentId": {
        "type": "string",
        "optional": true,
        "description": "ID of the assigned agent"
      },
      "assignedAgentEmail": {
        "type": "string",
        "optional": true,
        "description": "Email of the assigned agent"
      },
      "accountId": {
        "type": "string",
        "optional": true,
        "description": "Associated account ID"
      },
      "isPrivate": {
        "type": "boolean",
        "required": true,
        "description": "Whether the ticket is private"
      },
      "createdAt": {
        "type": "string",
        "required": true,
        "description": "Ticket creation timestamp"
      },
      "updatedAt": {
        "type": "string",
        "required": true,
        "description": "Last update timestamp"
      }
    }
    ```

    **Connection details**: Platform API
  </Accordion>

  <Accordion title="Archive ticket" icon="box-archive">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Archives a ticket

    **Request payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string",
        "required": true,
        "description": "ID of the ticket to archive"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string",
        "required": true,
        "description": "Ticket ID"
      },
      "title": {
        "type": "string",
        "required": true,
        "description": "Ticket title"
      },
      "ticketId": {
        "type": "number",
        "required": true,
        "description": "Numeric ticket identifier"
      },
      "teamId": {
        "type": "string",
        "required": true,
        "description": "Team ID"
      },
      "teamName": {
        "type": "string",
        "required": true,
        "description": "Team name"
      },
      "requestorEmail": {
        "type": "string",
        "required": true,
        "description": "Email of the ticket requestor"
      },
      "description": {
        "type": "string",
        "optional": true,
        "description": "Ticket description"
      },
      "status": {
        "type": "string",
        "optional": true,
        "description": "Ticket status"
      },
      "priority": {
        "type": "string",
        "optional": true,
        "description": "Ticket priority"
      },
      "assignedAgent": {
        "type": "string",
        "optional": true,
        "description": "Name of the assigned agent"
      },
      "assignedAgentId": {
        "type": "string",
        "optional": true,
        "description": "ID of the assigned agent"
      },
      "assignedAgentEmail": {
        "type": "string",
        "optional": true,
        "description": "Email of the assigned agent"
      },
      "accountId": {
        "type": "string",
        "optional": true,
        "description": "Associated account ID"
      },
      "isPrivate": {
        "type": "boolean",
        "required": true,
        "description": "Whether the ticket is private"
      },
      "archivedAt": {
        "type": "string",
        "optional": true,
        "description": "Timestamp when the ticket was archived"
      },
      "createdAt": {
        "type": "string",
        "required": true,
        "description": "Ticket creation timestamp"
      },
      "updatedAt": {
        "type": "string",
        "required": true,
        "description": "Last update timestamp"
      }
    }
    ```

    **Connection details**: Platform API
  </Accordion>

  <Accordion title="Get ticket" icon="ticket">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Gets a ticket by ID

    **Request payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string",
        "required": true,
        "description": "ID of the ticket to retrieve"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string",
        "required": true,
        "description": "Ticket ID"
      },
      "title": {
        "type": "string",
        "required": true,
        "description": "Ticket title"
      },
      "ticketId": {
        "type": "number",
        "required": true,
        "description": "Numeric ticket identifier"
      },
      "teamId": {
        "type": "string",
        "required": true,
        "description": "Team ID"
      },
      "teamName": {
        "type": "string",
        "required": true,
        "description": "Team name"
      },
      "requestorEmail": {
        "type": "string",
        "required": true,
        "description": "Email of the ticket requestor"
      },
      "description": {
        "type": "string",
        "optional": true,
        "description": "Ticket description"
      },
      "status": {
        "type": "string",
        "optional": true,
        "description": "Ticket status"
      },
      "priority": {
        "type": "string",
        "optional": true,
        "description": "Ticket priority"
      },
      "assignedAgent": {
        "type": "string",
        "optional": true,
        "description": "Assigned agent name"
      },
      "assignedAgentId": {
        "type": "string",
        "optional": true,
        "description": "Assigned agent ID"
      },
      "assignedAgentEmail": {
        "type": "string",
        "optional": true,
        "description": "Assigned agent email"
      },
      "accountId": {
        "type": "string",
        "optional": true,
        "description": "Associated account ID"
      },
      "isPrivate": {
        "type": "boolean",
        "required": true,
        "description": "Whether the ticket is private"
      },
      "createdAt": {
        "type": "string",
        "required": true,
        "description": "Ticket creation timestamp"
      },
      "updatedAt": {
        "type": "string",
        "required": true,
        "description": "Last update timestamp"
      }
    }
    ```
  </Accordion>
</AccordionGroup>

### Comment management

<AccordionGroup>
  <Accordion title="Create comment" icon="comment">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Creates a comment on an entity

    **Request payload**:

    ```json theme={null}
    {
      "content": {
        "type": "string",
        "required": true,
        "description": "Content of the comment"
      },
      "entityType": {
        "type": "string",
        "required": true,
        "description": "Type of entity the comment is for (e.g., 'ticket')"
      },
      "entityId": {
        "type": "string",
        "required": true,
        "description": "ID of the entity the comment is for"
      },
      "metadata": {
        "type": "string",
        "required": false,
        "description": "Additional metadata for the comment"
      },
      "threadName": {
        "type": "string",
        "required": false,
        "description": "Name of the thread this comment belongs to"
      },
      "commentType": {
        "type": "string",
        "required": false,
        "description": "Type of comment"
      },
      "attachmentUrls": {
        "type": "array",
        "required": false,
        "description": "Array of attachment URLs",
              "items": {
          "type": "string"
        }
      },
      "parentCommentId": {
        "type": "string",
        "required": false,
        "description": "ID of parent comment if this is a reply"
      },
      "commentVisibility": {
        "type": "string",
        "required": false,
        "description": "Visibility setting for the comment"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string",
        "required": true,
        "description": "Comment ID"
      },
      "content": {
        "type": "string",
        "required": true,
        "description": "Comment content"
      },
      "contentHtml": {
        "type": "string",
        "required": true,
        "description": "Comment content in HTML format"
      },
      "contentMarkdown": {
        "type": "string",
        "required": true,
        "description": "Comment content in Markdown format"
      },
      "author": {
        "type": "string",
        "required": true,
        "description": "Author name"
      },
      "authorId": {
        "type": "string",
        "required": true,
        "description": "Author ID"
      },
      "authorUserType": {
        "type": "string",
        "required": true,
        "description": "Type of user who authored the comment"
      },
      "isEdited": {
        "type": "boolean",
        "required": true,
        "description": "Whether the comment has been edited"
      },
      "isPinned": {
        "type": "boolean",
        "required": true,
        "description": "Whether the comment is pinned"
      },
      "threadName": {
        "type": "string",
        "required": true,
        "description": "Thread name"
      },
      "commentVisibility": {
        "type": "string",
        "required": true,
        "description": "Comment visibility setting"
      },
      "commentType": {
        "type": "string",
        "required": true,
        "description": "Type of comment"
      },
      "parentCommentId": {
        "type": "string",
        "required": false,
        "description": "Parent comment ID if this is a reply"
      },
      "sourceEmailId": {
        "type": "string",
        "required": false,
        "description": "Source email ID if comment came from email"
      },
      "metadata": {
        "type": "object",
        "required": true,
        "description": "Comment metadata including reactions, replies, mentions"
      },
      "attachments": {
        "type": "array",
        "required": false,
        "description": "Array of attachment objects"
      },
      "createdAt": {
        "type": "string",
        "required": true,
        "description": "Creation timestamp"
      },
      "updatedAt": {
        "type": "string",
        "required": true,
        "description": "Last update timestamp"
      }
    }
    ```

    **Connection details**: Platform API
  </Accordion>

  <Accordion title="Update comment" icon="pen">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Updates an existing comment

    **Request payload**:

    ```json theme={null}
    {
      "commentId": {
        "type": "string",
        "required": true,
        "description": "ID of the comment to update"
      },
      "content": {
        "type": "string",
        "required": false,
        "description": "New content for the comment"
      },
      "threadName": {
        "type": "string",
        "required": false,
        "description": "New thread name"
      },
      "attachments": {
        "type": "array",
        "required": false,
        "description": "Array of attachment URLs",
        "items": {
          "type": "string"
        }
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string",
        "required": true,
        "description": "Comment ID"
      },
      "content": {
        "type": "string",
        "required": true,
        "description": "Updated comment content"
      },
      "contentHtml": {
        "type": "string",
        "required": true,
        "description": "Comment content in HTML format"
      },
      "contentMarkdown": {
        "type": "string",
        "required": true,
        "description": "Comment content in Markdown format"
      },
      "author": {
        "type": "string",
        "required": true,
        "description": "Author name"
      },
      "authorId": {
        "type": "string",
        "required": true,
        "description": "Author ID"
      },
      "authorUserType": {
        "type": "string",
        "required": true,
        "description": "Type of user who authored the comment"
      },
      "isEdited": {
        "type": "boolean",
        "required": true,
        "description": "Whether the comment has been edited (will be true after update)"
      },
      "isPinned": {
        "type": "boolean",
        "required": true,
        "description": "Whether the comment is pinned"
      },
      "threadName": {
        "type": "string",
        "required": true,
        "description": "Thread name"
      },
      "commentVisibility": {
        "type": "string",
        "required": true,
        "description": "Comment visibility setting"
      },
      "commentType": {
        "type": "string",
        "required": true,
        "description": "Type of comment"
      },
      "parentCommentId": {
        "type": "string",
        "required": false,
        "description": "Parent comment ID if this is a reply"
      },
      "sourceEmailId": {
        "type": "string",
        "required": false,
        "description": "Source email ID if comment came from email"
      },
      "metadata": {
        "type": "object",
        "required": true,
        "description": "Comment metadata including reactions, replies, mentions"
      },
      "attachments": {
        "type": "array",
        "required": false,
        "description": "Array of attachment objects"
      },
      "createdAt": {
        "type": "string",
        "required": true,
        "description": "Creation timestamp"
      },
      "updatedAt": {
        "type": "string",
        "required": true,
        "description": "Last update timestamp"
      }
    }
    ```

    **Connection details**: Platform API
  </Accordion>

  <Accordion title="Delete comment" icon="trash">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Deletes a comment

    **Request payload**:

    ```json theme={null}
    {
      "commentId": {
        "type": "string",
        "required": true,
        "description": "ID of the comment to delete"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "success": {
        "type": "boolean",
        "description": "Indicates if the deletion was successful"
      }
    }
    ```

    **Connection details**: Platform API
  </Accordion>

  <Accordion title="Get comment" icon="comment">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Retrieves a single comment by ID

    **Request payload**:

    ```json theme={null}
    {
      "commentId": {
        "type": "string",
        "required": true,
        "description": "ID of the comment to retrieve"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string",
        "required": true,
        "description": "Comment ID"
      },
      "content": {
        "type": "string",
        "required": true,
        "description": "Comment content"
      },
      "contentHtml": {
        "type": "string",
        "required": true,
        "description": "Comment content in HTML format"
      },
      "contentMarkdown": {
        "type": "string",
        "required": true,
        "description": "Comment content in Markdown format"
      },
      "author": {
        "type": "string",
        "required": true,
        "description": "Author name"
      },
      "authorId": {
        "type": "string",
        "required": true,
        "description": "Author ID"
      },
      "authorUserType": {
        "type": "string",
        "required": true,
        "description": "Type of user who authored the comment"
      },
      "isEdited": {
        "type": "boolean",
        "required": true,
        "description": "Whether the comment has been edited"
      },
      "isPinned": {
        "type": "boolean",
        "required": true,
        "description": "Whether the comment is pinned"
      },
      "threadName": {
        "type": "string",
        "required": true,
        "description": "Thread name"
      },
      "commentVisibility": {
        "type": "string",
        "required": true,
        "description": "Comment visibility setting"
      },
      "commentType": {
        "type": "string",
        "required": true,
        "description": "Type of comment"
      },
      "parentCommentId": {
        "type": "string",
        "required": false,
        "description": "Parent comment ID if this is a reply"
      },
      "sourceEmailId": {
        "type": "string",
        "required": false,
        "description": "Source email ID if comment came from email"
      },
      "metadata": {
        "type": "object",
        "required": true,
        "description": "Comment metadata including reactions, replies, mentions"
      },
      "attachments": {
        "type": "array",
        "required": false,
        "description": "Array of attachment objects"
      },
      "createdAt": {
        "type": "string",
        "required": true,
        "description": "Creation timestamp"
      },
      "updatedAt": {
        "type": "string",
        "required": true,
        "description": "Last update timestamp"
      }
    }
    ```

    **Connection details**: Platform API
  </Accordion>

  <Accordion title="Get comments" icon="comments">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Retrieves comments for an entity with pagination

    **Request payload**:

    ```json theme={null}
    {
      "entityType": {
        "type": "string",
        "required": true,
        "description": "Type of entity to get comments for (e.g., 'ticket')"
      },
      "entityId": {
        "type": "string",
        "required": true,
        "description": "ID of the entity to get comments for"
      },
      "page": {
        "type": "number",
        "required": false,
        "description": "Page number for pagination"
      },
      "limit": {
        "type": "number",
        "required": false,
        "description": "Number of comments per page"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "comments": {
        "type": "array",
        "required": true,
        "description": "Array of comment objects",
        "items": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "description": "Comment ID"
            },
            "content": {
              "type": "string",
              "description": "Comment content"
            },
            "contentHtml": {
              "type": "string",
              "description": "Comment content in HTML format"
            },
            "contentMarkdown": {
              "type": "string",
              "description": "Comment content in Markdown format"
            },
            "author": {
              "type": "string",
              "description": "Author name"
            },
            "authorId": {
              "type": "string",
              "description": "Author ID"
            },
            "authorUserType": {
              "type": "string",
              "description": "Type of user who authored the comment"
            },
            "isEdited": {
              "type": "boolean",
              "description": "Whether the comment has been edited"
            },
            "isPinned": {
              "type": "boolean",
              "description": "Whether the comment is pinned"
            },
            "threadName": {
              "type": "string",
              "description": "Thread name"
            },
            "commentVisibility": {
              "type": "string",
              "description": "Comment visibility setting"
            },
            "commentType": {
              "type": "string",
              "description": "Type of comment"
            },
            "parentCommentId": {
              "type": "string",
              "description": "Parent comment ID if this is a reply"
            },
            "sourceEmailId": {
              "type": "string",
              "description": "Source email ID if comment came from email"
            },
            "metadata": {
              "type": "object",
              "description": "Comment metadata including reactions, replies, mentions"
            },
            "attachments": {
              "type": "array",
              "description": "Array of attachment objects"
            },
            "createdAt": {
              "type": "string",
              "description": "Creation timestamp"
            },
            "updatedAt": {
              "type": "string",
              "description": "Last update timestamp"
            }
          }
        }
      }
    }
    ```

    **Connection details**: Platform API
  </Accordion>

  <Accordion title="Add reaction" icon="face-smile">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Adds a reaction to a comment

    **Request payload**:

    ```json theme={null}
    {
      "commentId": {
        "type": "string",
        "required": true,
        "description": "ID of the comment to add reaction to"
      },
      "reactionName": {
        "type": "string",
        "required": true,
        "description": "Name of the reaction/emoji to add"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "success": {
        "type": "boolean",
        "required": true,
        "description": "Whether the reaction was successfully added"
      }
    }
    ```

    **Connection details**: Platform API
  </Accordion>

  <Accordion title="Remove reaction" icon="face-frown">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Removes a reaction from a comment

    **Request payload**:

    ```json theme={null}
    {
      "commentId": {
        "type": "string",
        "required": true,
        "description": "ID of the comment to remove reaction from"
      },
      "reactionName": {
        "type": "string",
        "required": true,
        "description": "Name of the reaction/emoji to remove"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "success": {
        "type": "boolean",
        "required": true,
        "description": "Whether the reaction was successfully removed"
      }
    }
    ```

    **Connection details**: Platform API
  </Accordion>

  <Accordion title="Get emojis" icon="icons">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Retrieves available emojis for reactions

    **Request payload**:

    ```json theme={null}
    {}
    ```

    **Response payload**:

    ```json theme={null}
    {
      "emojis": {
        "type": "array",
        "required": true,
        "description": "List of available emojis",
        "items": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "required": true,
              "description": "Display name of the emoji"
            },
            "unicode": {
              "type": "string",
              "required": true,
              "description": "Unicode representation of the emoji"
            },
            "shortcode": {
              "type": "string",
              "required": true,
              "description": "Shortcode for the emoji (e.g., :smile:)"
            },
            "category": {
              "type": "string",
              "required": true,
              "description": "Category the emoji belongs to"
            },
            "keywords": {
              "type": "array",
              "required": true,
              "description": "Keywords associated with the emoji",
              "items": {
                "type": "string"
              }
            }
          }
        }
      }
    }
    ```

    **Connection details**: Platform API
  </Accordion>
</AccordionGroup>

### Account management

<AccordionGroup>
  <Accordion title="Create account" icon="plus">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Creates a new account

    **Request payload**:

    ```json theme={null}
    {
      "name": {
        "type": "string",
        "required": true,
        "description": "Account name"
      },
      "primaryDomain": {
        "type": "string",
        "required": true,
        "description": "Primary domain for the account"
      },
      "logo": {
        "type": "string",
        "optional": true
      },
      "website": {
        "type": "string",
        "optional": true
      },
      "description": {
        "type": "string",
        "optional": true
      },
      "industry": {
        "type": "string",
        "optional": true
      },
      "status": {
        "type": "string",
        "optional": true
      },
      "health": {
        "type": "string",
        "optional": true
      },
      "classification": {
        "type": "string",
        "optional": true
      },
      "accountOwnerId": {
        "type": "string",
        "optional": true
      },
      "employees": {
        "type": "number",
        "optional": true
      },
      "annualRevenue": {
        "type": "number",
        "optional": true
      },
      "billingAddress": {
        "type": "string",
        "optional": true
      },
      "shippingAddress": {
        "type": "string",
        "optional": true
      },
      "secondaryDomain": {
        "type": "string",
        "optional": true
      },
      "customFieldValues": {
        "type": "array",
        "optional": true,
        "items": {
          "type": "object",
          "properties": {
            "customFieldId": {
              "type": "string",
              "required": true
            },
            "data": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "value": {
                    "type": "string",
                    "required": true
                  },
                  "id": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string",
        "description": "Unique identifier for the created account"
      },
      "name": {
        "type": "string"
      },
      "primaryDomain": {
        "type": "string"
      },
      "createdAt": {
        "type": "string"
      },
      "updatedAt": {
        "type": "string"
      },
      "customFieldValues": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "customFieldId": {
              "type": "string"
            },
            "data": {
              "type": "object"
            },
            "metadata": {
              "type": "object"
            }
          }
        }
      }
    }
    ```
  </Accordion>

  <Accordion title="Create account activity" icon="calendar-plus">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Creates an account activity

    **Request payload**:

    ```json theme={null}
    {
      "accountId": {
        "type": "string",
        "required": true,
        "description": "ID of the account to create activity for"
      },
      "activityTimestamp": {
        "type": "string",
        "required": true,
        "description": "Timestamp of the activity"
      },
      "type": {
        "type": "string",
        "optional": true,
        "description": "Type of activity"
      },
      "status": {
        "type": "string",
        "optional": true,
        "description": "Status of activity"
      },
      "duration": {
        "type": "number",
        "optional": true,
        "description": "Duration of activity"
      },
      "location": {
        "type": "string",
        "optional": true,
        "description": "Location of activity"
      },
      "participants": {
        "type": "array",
        "optional": true,
        "items": {
          "type": "string"
        },
        "description": "List of participant IDs"
      },
      "attachmentUrls": {
        "type": "array",
        "optional": true,
        "items": {
          "type": "string"
        },
        "description": "List of attachment URLs"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string"
      },
      "accountId": {
        "type": "string"
      },
      "account": {
        "type": "string"
      },
      "type": {
        "type": "string",
        "optional": true
      },
      "status": {
        "type": "string",
        "optional": true
      },
      "duration": {
        "type": "number",
        "optional": true
      },
      "location": {
        "type": "string",
        "optional": true
      },
      "participants": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "attachments": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "url": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "size": {
              "type": "number"
            },
            "contentType": {
              "type": "string"
            }
          }
        }
      },
      "createdAt": {
        "type": "string"
      },
      "updatedAt": {
        "type": "string"
      }
    }
    ```
  </Accordion>

  <Accordion title="Get accounts" icon="users">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Retrieves accounts with optional filtering

    **Request payload**:

    ```json theme={null}
    {
      "page": {
        "type": "number",
        "optional": true,
        "description": "Page number for pagination"
      },
      "limit": {
        "type": "number",
        "optional": true,
        "description": "Number of records per page"
      },
      "health": {
        "type": "string",
        "optional": true,
        "description": "Filter by account health"
      },
      "source": {
        "type": "string",
        "optional": true,
        "description": "Filter by account source"
      },
      "status": {
        "type": "string",
        "optional": true,
        "description": "Filter by account status"
      },
      "industry": {
        "type": "string",
        "optional": true,
        "description": "Filter by industry"
      },
      "accountOwnerId": {
        "type": "string",
        "optional": true,
        "description": "Filter by account owner"
      },
      "classification": {
        "type": "string",
        "optional": true,
        "description": "Filter by classification"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "data": {
        "type": "array",
        "items": {
    "type": "object",
    "required": [
      "id",
            "name",
            "primaryDomain",
            "createdAt",
            "updatedAt"
    ],
    "properties": {
      "id": {
        "type": "string"
      },
            "name": {
        "type": "string"
      },
            "primaryDomain": {
              "type": "string"
            },
            "logo": {
              "type": "string",
              "optional": true
            },
            "website": {
              "type": "string",
              "optional": true
            },
            "description": {
              "type": "string",
              "optional": true
            },
            "industry": {
              "type": "string",
              "optional": true
            },
            "status": {
              "type": "string",
              "optional": true
            },
            "health": {
              "type": "string",
              "optional": true
            },
            "classification": {
              "type": "string",
              "optional": true
            },
            "accountOwnerId": {
              "type": "string",
              "optional": true
            },
            "accountOwnerEmail": {
              "type": "string",
              "optional": true
            },
            "employees": {
              "type": "number",
              "optional": true
            },
            "annualRevenue": {
              "type": "number",
              "optional": true
            },
            "createdAt": {
        "type": "string"
      },
            "updatedAt": {
        "type": "string"
      },
            "customFieldValues": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "customFieldId": {
        "type": "string"
                  },
                  "data": {
                    "type": "object"
                  },
                  "metadata": {
                    "type": "object"
                  }
                }
              }
            }
          }
        }
      }
    }
    ```
  </Accordion>

  <Accordion title="Update account" icon="pen">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Updates an existing account

    **Request payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string",
        "required": true,
        "description": "Account ID to update"
      },
      "name": {
        "type": "string",
        "optional": true,
        "description": "Account name"
      },
      "primaryDomain": {
        "type": "string",
        "optional": true,
        "description": "Primary domain"
      },
      "logo": {
        "type": "string",
        "optional": true,
        "description": "Logo URL"
      },
      "website": {
        "type": "string",
        "optional": true,
        "description": "Website URL"
      },
      "description": {
        "type": "string",
        "optional": true,
        "description": "Account description"
      },
      "industry": {
        "type": "string",
        "optional": true,
        "description": "Industry name"
      },
      "status": {
        "type": "string",
        "optional": true,
        "description": "Account status"
      },
      "health": {
        "type": "string",
        "optional": true,
        "description": "Account health"
      },
      "classification": {
        "type": "string",
        "optional": true,
        "description": "Account classification"
      },
      "accountOwnerId": {
        "type": "string",
        "optional": true,
        "description": "Account owner user ID"
      },
      "employees": {
        "type": "number",
        "optional": true,
        "description": "Number of employees"
      },
      "annualRevenue": {
        "type": "number",
        "optional": true,
        "description": "Annual revenue"
      },
      "billingAddress": {
        "type": "string",
        "optional": true,
        "description": "Billing address"
      },
      "shippingAddress": {
        "type": "string",
        "optional": true,
        "description": "Shipping address"
      },
      "secondaryDomain": {
        "type": "string",
        "optional": true,
        "description": "Secondary domain"
      },
      "customFieldValues": {
        "type": "array",
        "optional": true,
        "items": {
          "type": "object",
          "properties": {
            "customFieldId": {
              "type": "string",
              "required": true
            },
            "data": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "value": {
                    "type": "string",
                    "required": true
                  }
                }
              }
            }
          }
        }
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "primaryDomain": {
        "type": "string"
      },
      "logo": {
        "type": "string",
        "optional": true
      },
      "website": {
        "type": "string",
        "optional": true
      },
      "description": {
        "type": "string",
        "optional": true
      },
      "industry": {
        "type": "string",
        "optional": true
      },
      "status": {
        "type": "string",
        "optional": true
      },
      "health": {
        "type": "string",
        "optional": true
      },
      "classification": {
        "type": "string",
        "optional": true
      },
      "accountOwnerId": {
        "type": "string",
        "optional": true
      },
      "accountOwnerEmail": {
        "type": "string",
        "optional": true
      },
      "employees": {
        "type": "number",
        "optional": true
      },
      "annualRevenue": {
        "type": "number",
        "optional": true
      },
      "createdAt": {
        "type": "string"
      },
      "updatedAt": {
        "type": "string"
      },
      "customFieldValues": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "customFieldId": {
              "type": "string"
            },
            "data": {
              "type": "object"
            },
            "metadata": {
              "type": "object"
            }
          }
        }
      }
    }
    ```
  </Accordion>

  <Accordion title="Delete account" icon="trash">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Deletes an account

    **Request payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string",
        "required": true,
        "description": "ID of the account to delete"
      }
    }
    ```

    **Response payload**: Empty response on success
  </Accordion>

  <Accordion title="Account relationships" icon="diagram-project">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Manage account relationships and types

    Available operations:

    * Create/Update/Delete relationship
    * Create/Update/Delete relationship type
    * Get relationships and types

    **Connection details**: Platform API
  </Accordion>

  <Accordion title="Account activities" icon="list-check">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Manage account activities

    Available operations:

    * Create activity
    * Update activity
    * Delete activity
    * Get activities

    **Connection details**: Platform API
  </Accordion>

  <Accordion title="Create account note" icon="note-sticky">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Creates a new note for an account

    **Request payload**:

    ```json theme={null}
    {
      "accountId": {
        "type": "string",
        "required": true,
        "description": "ID of the account to create note for"
      },
      "content": {
        "type": "string",
        "required": true,
        "description": "Content of the note"
      },
      "type": {
        "type": "string",
        "optional": true,
        "description": "Type of note"
      },
      "visibility": {
        "type": "string",
        "optional": true,
        "description": "Visibility level of the note"
      },
      "attachmentUrls": {
        "type": "array",
        "optional": true,
        "items": {
          "type": "string"
        },
        "description": "List of attachment URLs"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string",
        "description": "Unique identifier for the created note"
      },
      "accountId": {
        "type": "string",
        "description": "ID of the account"
      },
      "account": {
        "type": "string",
        "description": "Account name"
      },
      "content": {
        "type": "string",
        "description": "Note content"
      },
      "type": {
        "type": "string",
        "optional": true,
        "description": "Note type"
      },
      "visibility": {
        "type": "string",
        "description": "Note visibility"
      },
      "author": {
        "type": "string",
        "description": "Author name"
      },
      "authorId": {
        "type": "string",
        "description": "Author ID"
      },
      "authorEmail": {
        "type": "string",
        "description": "Author email"
      },
      "attachments": {
        "type": "array",
        "optional": true,
        "items": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "description": "Attachment ID"
            },
            "url": {
              "type": "string",
              "description": "Attachment URL"
            },
            "name": {
              "type": "string",
              "description": "Attachment name"
            },
            "size": {
              "type": "number",
              "description": "Attachment size"
            },
            "contentType": {
              "type": "string",
              "description": "Attachment content type"
            },
            "createdAt": {
              "type": "string",
              "description": "Attachment creation timestamp"
            }
          }
        }
      },
      "createdAt": {
        "type": "string",
        "description": "Creation timestamp"
      },
      "updatedAt": {
        "type": "string",
        "description": "Last update timestamp"
      }
    }
    ```
  </Accordion>

  <Accordion title="Update account note" icon="pen">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Updates an existing account note

    **Request payload**:

    ```json theme={null}
    {
      "noteId": {
        "type": "string",
        "required": true,
        "description": "ID of the note to update"
      },
      "content": {
        "type": "string",
        "optional": true,
        "description": "New content for the note"
      },
      "type": {
        "type": "string",
        "optional": true,
        "description": "New type for the note"
      },
      "visibility": {
        "type": "string",
        "optional": true,
        "description": "New visibility level"
      },
      "attachmentUrls": {
        "type": "array",
        "optional": true,
        "items": {
          "type": "string"
        },
        "description": "New list of attachment URLs"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string",
        "description": "Note ID"
      },
      "accountId": {
        "type": "string",
        "description": "Account ID"
      },
      "account": {
        "type": "string",
        "description": "Account name"
      },
      "content": {
        "type": "string",
        "description": "Note content"
      },
      "type": {
        "type": "string",
        "optional": true,
        "description": "Note type"
      },
      "visibility": {
        "type": "string",
        "description": "Note visibility"
      },
      "author": {
        "type": "string",
        "description": "Author name"
      },
      "authorId": {
        "type": "string",
        "description": "Author ID"
      },
      "authorEmail": {
        "type": "string",
        "description": "Author email"
      },
      "attachments": {
        "type": "array",
        "optional": true,
        "items": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "description": "Attachment ID"
            },
            "url": {
              "type": "string",
              "description": "Attachment URL"
            },
            "name": {
              "type": "string",
              "description": "Attachment name"
            },
            "size": {
              "type": "number",
              "description": "Attachment size"
            },
            "contentType": {
              "type": "string",
              "description": "Attachment content type"
            },
            "createdAt": {
              "type": "string",
              "description": "Attachment creation timestamp"
            }
          }
        }
      },
      "createdAt": {
        "type": "string",
        "description": "Creation timestamp"
      },
      "updatedAt": {
        "type": "string",
        "description": "Last update timestamp"
      }
    }
    ```
  </Accordion>

  <Accordion title="Delete account note" icon="trash">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Deletes an account note

    **Request payload**:

    ```json theme={null}
    {
      "noteId": {
        "type": "string",
        "required": true,
        "description": "ID of the note to delete"
      }
    }
    ```

    **Response payload**: Empty response on success
  </Accordion>

  <Accordion title="Get account notes" icon="notes-medical">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Retrieves notes for an account

    **Request payload**:

    ```json theme={null}
    {
      "accountId": {
        "type": "string",
        "required": true,
        "description": "ID of the account to get notes for"
      },
      "page": {
        "type": "number",
        "optional": true,
        "description": "Page number for pagination"
      },
      "limit": {
        "type": "number",
        "optional": true,
        "description": "Number of records per page"
      },
      "type": {
        "type": "string",
        "optional": true,
        "description": "Filter notes by type"
      },
      "visibility": {
        "type": "string",
        "optional": true,
        "description": "Filter notes by visibility"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "data": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "description": "Note ID"
            },
            "accountId": {
              "type": "string",
              "description": "Account ID"
            },
            "account": {
              "type": "string",
              "description": "Account name"
            },
            "content": {
              "type": "string",
              "description": "Note content"
            },
            "type": {
              "type": "string",
              "optional": true,
              "description": "Note type"
            },
            "typeId": {
              "type": "string",
              "optional": true,
              "description": "Type ID"
            },
            "visibility": {
              "type": "string",
              "description": "Note visibility"
            },
            "author": {
              "type": "string",
              "description": "Author name"
            },
            "authorId": {
              "type": "string",
              "description": "Author ID"
            },
            "authorEmail": {
              "type": "string",
              "description": "Author email"
            },
            "attachments": {
              "type": "array",
              "optional": true,
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Attachment ID"
                  },
                  "url": {
                    "type": "string",
                    "description": "Attachment URL"
                  },
                  "name": {
                    "type": "string",
                    "description": "Attachment name"
                  },
                  "size": {
                    "type": "number",
                    "description": "Attachment size"
                  },
                  "contentType": {
                    "type": "string",
                    "description": "Attachment content type"
                  },
                  "createdAt": {
                    "type": "string",
                    "description": "Attachment creation timestamp"
                  }
                }
              }
            },
            "metadata": {
              "type": "object",
              "optional": true,
              "description": "Additional metadata"
            },
            "typeConfiguration": {
              "type": "object",
              "optional": true,
              "description": "Type-specific configuration"
            },
            "createdAt": {
              "type": "string",
              "description": "Creation timestamp"
            },
            "updatedAt": {
              "type": "string",
              "description": "Last update timestamp"
            }
          }
        }
      }
    }
    ```
  </Accordion>

  <Accordion title="Create account task" icon="plus">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Creates a new task for an account

    **Request payload**:

    ```json theme={null}
    {
      "accountId": {
        "type": "string",
        "required": true,
        "description": "ID of the account to create task for"
      },
      "title": {
        "type": "string",
        "required": true,
        "description": "Task title"
      },
      "assigneeId": {
        "type": "string",
        "required": true,
        "description": "ID of the user to assign the task to"
      },
      "type": {
        "type": "string",
        "optional": true,
        "description": "Task type"
      },
      "status": {
        "type": "string",
        "optional": true,
        "description": "Task status"
      },
      "priority": {
        "type": "string",
        "optional": true,
        "description": "Task priority"
      },
      "description": {
        "type": "string",
        "optional": true,
        "description": "Task description"
      },
      "activityId": {
        "type": "string",
        "optional": true,
        "description": "Associated activity ID"
      },
      "attachmentUrls": {
        "type": "array",
        "optional": true,
        "items": {
          "type": "string"
        },
        "description": "List of attachment URLs"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string",
        "description": "Task ID"
      },
      "accountId": {
        "type": "string",
        "description": "Account ID"
      },
      "account": {
        "type": "string",
        "description": "Account name"
      },
      "title": {
        "type": "string",
        "description": "Task title"
      },
      "type": {
        "type": "string",
        "optional": true,
        "description": "Task type"
      },
      "typeId": {
        "type": "string",
        "optional": true,
        "description": "Type ID"
      },
      "status": {
        "type": "string",
        "optional": true,
        "description": "Task status"
      },
      "statusId": {
        "type": "string",
        "optional": true,
        "description": "Status ID"
      },
      "priority": {
        "type": "string",
        "optional": true,
        "description": "Task priority"
      },
      "priorityId": {
        "type": "string",
        "optional": true,
        "description": "Priority ID"
      },
      "description": {
        "type": "string",
        "optional": true,
        "description": "Task description"
      },
      "creator": {
        "type": "string",
        "description": "Creator name"
      },
      "creatorId": {
        "type": "string",
        "description": "Creator ID"
      },
      "creatorEmail": {
        "type": "string",
        "description": "Creator email"
      },
      "assignee": {
        "type": "string",
        "optional": true,
        "description": "Assignee name"
      },
      "assigneeId": {
        "type": "string",
        "optional": true,
        "description": "Assignee ID"
      },
      "activityId": {
        "type": "string",
        "description": "Associated activity ID"
      },
      "attachments": {
        "type": "array",
        "optional": true,
        "items": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "description": "Attachment ID"
            },
            "url": {
              "type": "string",
              "description": "Attachment URL"
            },
            "name": {
              "type": "string",
              "description": "Attachment name"
            },
            "size": {
              "type": "number",
              "description": "Attachment size"
            },
            "contentType": {
              "type": "string",
              "description": "Attachment content type"
            },
            "createdAt": {
              "type": "string",
              "description": "Attachment creation timestamp"
            }
      }
    }
    },
    "metadata": {
        "type": "object",
        "optional": true,
        "description": "Additional metadata"
      },
      "typeConfiguration": {
        "type": "object",
        "optional": true,
        "description": "Type-specific configuration"
      },
      "statusConfiguration": {
        "type": "object",
        "optional": true,
        "description": "Status-specific configuration"
      },
      "priorityConfiguration": {
        "type": "object",
        "optional": true,
        "description": "Priority-specific configuration"
      },
      "createdAt": {
        "type": "string",
        "description": "Creation timestamp"
      },
      "updatedAt": {
        "type": "string",
        "description": "Last update timestamp"
      }
    }
    ```
  </Accordion>

  <Accordion title="Update account task" icon="pen">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Updates an existing account task

    **Request payload**:

    ```json theme={null}
    {
      "taskId": {
        "type": "string",
        "required": true,
        "description": "ID of the task to update"
      },
      "title": {
        "type": "string",
        "optional": true,
        "description": "New task title"
      },
      "type": {
        "type": "string",
        "optional": true,
        "description": "New task type"
      },
      "status": {
        "type": "string",
        "optional": true,
        "description": "New task status"
      },
      "priority": {
        "type": "string",
        "optional": true,
        "description": "New task priority"
      },
      "assigneeId": {
        "type": "string",
        "optional": true,
        "description": "New assignee ID"
      },
      "description": {
        "type": "string",
        "optional": true,
        "description": "New task description"
      },
      "activityId": {
        "type": "string",
        "optional": true,
        "description": "New associated activity ID"
      },
      "attachmentUrls": {
        "type": "array",
        "optional": true,
        "items": {
          "type": "string"
        },
        "description": "New list of attachment URLs"
    }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string",
        "description": "Task ID"
      },
      "accountId": {
        "type": "string",
        "description": "Account ID"
      },
      "account": {
        "type": "string",
        "description": "Account name"
      },
      "title": {
        "type": "string",
        "description": "Task title"
      },
      "type": {
        "type": "string",
        "optional": true,
        "description": "Task type"
      },
      "typeId": {
        "type": "string",
        "optional": true,
        "description": "Type ID"
      },
      "status": {
        "type": "string",
        "optional": true,
        "description": "Task status"
      },
      "statusId": {
        "type": "string",
        "optional": true,
        "description": "Status ID"
      },
      "priority": {
        "type": "string",
        "optional": true,
        "description": "Task priority"
      },
      "priorityId": {
        "type": "string",
        "optional": true,
        "description": "Priority ID"
      },
      "description": {
        "type": "string",
        "optional": true,
        "description": "Task description"
      },
      "creator": {
        "type": "string",
        "description": "Creator name"
      },
      "creatorId": {
        "type": "string",
        "description": "Creator ID"
      },
      "creatorEmail": {
        "type": "string",
        "description": "Creator email"
      },
      "assignee": {
        "type": "string",
        "optional": true,
        "description": "Assignee name"
      },
      "assigneeId": {
        "type": "string",
        "optional": true,
        "description": "Assignee ID"
      },
      "activityId": {
        "type": "string",
        "description": "Associated activity ID"
      },
      "attachments": {
        "type": "array",
        "optional": true,
        "items": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "description": "Attachment ID"
            },
            "url": {
              "type": "string",
              "description": "Attachment URL"
            },
            "name": {
              "type": "string",
              "description": "Attachment name"
            },
            "size": {
              "type": "number",
              "description": "Attachment size"
            },
            "contentType": {
              "type": "string",
              "description": "Attachment content type"
            },
            "createdAt": {
              "type": "string",
              "description": "Attachment creation timestamp"
            }
          }
        }
      },
      "metadata": {
        "type": "object",
        "optional": true,
        "description": "Additional metadata"
      },
      "typeConfiguration": {
        "type": "object",
        "optional": true,
        "description": "Type-specific configuration"
      },
      "statusConfiguration": {
        "type": "object",
        "optional": true,
        "description": "Status-specific configuration"
      },
      "priorityConfiguration": {
        "type": "object",
        "optional": true,
        "description": "Priority-specific configuration"
      },
      "createdAt": {
        "type": "string",
        "description": "Creation timestamp"
      },
      "updatedAt": {
        "type": "string",
        "description": "Last update timestamp"
      }
    }
    ```
  </Accordion>

  <Accordion title="Delete account task" icon="trash">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Deletes an account task

    **Request payload**:

    ```json theme={null}
    {
      "taskId": {
        "type": "string",
        "required": true,
        "description": "ID of the task to delete"
      }
    }
    ```

    **Response payload**: Empty response on success
  </Accordion>

  <Accordion title="Get account tasks" icon="list-check">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Retrieves tasks for an account

    **Request payload**:

    ```json theme={null}
    {
      "accountId": {
        "type": "string",
        "required": true,
        "description": "ID of the account to get tasks for"
      },
      "page": {
        "type": "number",
        "optional": true,
        "description": "Page number for pagination"
      },
      "limit": {
        "type": "number",
        "optional": true,
        "description": "Number of records per page"
      },
      "type": {
        "type": "string",
        "optional": true,
        "description": "Filter by task type"
      },
      "status": {
        "type": "string",
        "optional": true,
        "description": "Filter by task status"
      },
      "priority": {
        "type": "string",
        "optional": true,
        "description": "Filter by task priority"
      },
      "assigneeId": {
        "type": "string",
        "optional": true,
        "description": "Filter by assignee ID"
      },
      "activityId": {
        "type": "string",
        "optional": true,
        "description": "Filter by associated activity ID"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "data": {
        "type": "array",
        "items": {
          "type": "object",
          "required": [
            "id",
            "accountId",
            "account",
            "title",
            "createdAt",
            "updatedAt"
          ],
          "properties": {
            "id": {
              "type": "string",
              "description": "Task ID"
            },
            "accountId": {
              "type": "string",
              "description": "Account ID"
            },
            "account": {
              "type": "string",
              "description": "Account name"
            },
            "title": {
              "type": "string",
              "description": "Task title"
            },
            "type": {
              "type": "string",
              "optional": true,
              "description": "Task type"
            },
            "typeId": {
              "type": "string",
              "optional": true,
              "description": "Type ID"
            },
            "status": {
              "type": "string",
              "optional": true,
              "description": "Task status"
            },
            "statusId": {
              "type": "string",
              "optional": true,
              "description": "Status ID"
            },
            "priority": {
              "type": "string",
              "optional": true,
              "description": "Task priority"
            },
            "priorityId": {
              "type": "string",
              "optional": true,
              "description": "Priority ID"
            },
            "description": {
              "type": "string",
              "optional": true,
              "description": "Task description"
            },
            "creator": {
              "type": "string",
              "description": "Creator name"
            },
            "creatorId": {
              "type": "string",
              "description": "Creator ID"
            },
            "creatorEmail": {
              "type": "string",
              "description": "Creator email"
            },
            "assignee": {
              "type": "string",
              "optional": true,
              "description": "Assignee name"
            },
            "assigneeId": {
              "type": "string",
              "optional": true,
              "description": "Assignee ID"
            },
            "activityId": {
              "type": "string",
              "description": "Associated activity ID"
            },
            "attachments": {
              "type": "array",
              "optional": true,
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Attachment ID"
                  },
                  "url": {
                    "type": "string",
                    "description": "Attachment URL"
                  },
                  "name": {
                    "type": "string",
                    "description": "Attachment name"
                  },
                  "size": {
                    "type": "number",
                    "description": "Attachment size"
                  },
                  "contentType": {
                    "type": "string",
                    "description": "Attachment content type"
                  },
                  "createdAt": {
                    "type": "string",
                    "description": "Attachment creation timestamp"
                  }
                }
              }
            },
            "metadata": {
              "type": "object",
              "optional": true,
              "description": "Additional metadata"
            },
            "typeConfiguration": {
              "type": "object",
              "optional": true,
              "description": "Type-specific configuration"
            },
            "statusConfiguration": {
              "type": "object",
              "optional": true,
              "description": "Status-specific configuration"
            },
            "priorityConfiguration": {
              "type": "object",
              "optional": true,
              "description": "Priority-specific configuration"
            },
            "createdAt": {
              "type": "string",
              "description": "Creation timestamp"
            },
            "updatedAt": {
              "type": "string",
              "description": "Last update timestamp"
            }
          }
        }
      }
    }
    ```
  </Accordion>

  <Accordion title="Get account relationships" icon="diagram-project">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Retrieves relationships for an account

    **Request payload**:

    ```json theme={null}
    {
      "accountId": {
        "type": "string",
        "required": true,
        "description": "ID of the account to get relationships for"
      },
      "page": {
        "type": "number",
        "optional": true,
        "description": "Page number for pagination"
      },
      "limit": {
        "type": "number",
        "optional": true,
        "description": "Number of records per page"
      },
      "relationshipType": {
        "type": "string",
        "optional": true,
        "description": "Filter by relationship type"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "data": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "accountId": {
              "type": "string"
            },
            "account": {
              "type": "string"
            },
            "relatedAccountId": {
              "type": "string"
            },
            "relatedAccount": {
              "type": "string"
            },
            "relationshipType": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "inverseRelationship": {
                  "type": "string",
                  "optional": true
                },
                "inverseRelationshipId": {
                  "type": "string",
                  "optional": true
                },
                "createdAt": {
                  "type": "string"
                },
                "updatedAt": {
                  "type": "string"
                }
              }
            },
            "createdAt": {
              "type": "string"
            },
            "updatedAt": {
              "type": "string"
            }
          }
        }
      }
    }
    ```
  </Accordion>

  <Accordion title="Create account relationship" icon="plus">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Creates a relationship between two accounts

    **Request payload**:

    ```json theme={null}
    {
      "accountId": {
        "type": "string",
        "required": true,
        "description": "ID of the first account"
      },
      "relatedAccountId": {
        "type": "string",
        "required": true,
        "description": "ID of the second account"
      },
      "relationshipType": {
        "type": "string",
        "required": true,
        "description": "Type of relationship to create"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string"
      },
      "accountId": {
        "type": "string"
      },
      "account": {
        "type": "string"
      },
      "relatedAccountId": {
        "type": "string"
      },
      "relatedAccount": {
        "type": "string"
      },
      "relationshipType": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "inverseRelationship": {
            "type": "string",
            "optional": true
          },
          "inverseRelationshipId": {
            "type": "string",
            "optional": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        }
      },
      "createdAt": {
        "type": "string"
      },
      "updatedAt": {
        "type": "string"
      }
    }
    ```
  </Accordion>

  <Accordion title="Update account relationship" icon="pen">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Updates an existing account relationship

    **Request payload**:

    ```json theme={null}
    {
      "relationshipId": {
        "type": "string",
        "required": true,
        "description": "ID of the relationship to update"
      },
      "relationshipType": {
        "type": "string",
        "optional": true,
        "description": "New relationship type"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string"
      },
      "accountId": {
        "type": "string"
      },
      "account": {
        "type": "string"
      },
      "relatedAccountId": {
        "type": "string"
      },
      "relatedAccount": {
        "type": "string"
      },
      "relationshipType": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "inverseRelationship": {
            "type": "string",
            "optional": true
          },
          "inverseRelationshipId": {
            "type": "string",
            "optional": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        }
      },
      "createdAt": {
        "type": "string"
      },
      "updatedAt": {
        "type": "string"
      }
    }
    ```
  </Accordion>

  <Accordion title="Delete account relationship" icon="trash">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Deletes an account relationship

    **Request payload**:

    ```json theme={null}
    {
      "relationshipId": {
        "type": "string",
        "required": true,
        "description": "ID of the relationship to delete"
      }
    }
    ```

    **Response payload**: Empty response on success
  </Accordion>
</AccordionGroup>

### Customer contact management

<AccordionGroup>
  <Accordion title="Create customer contact" icon="user-plus">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Creates a new customer contact

    **Request payload**:

    ```json theme={null}
    {
      "firstName": {
        "type": "string",
        "required": true,
        "description": "First name of the contact"
      },
      "email": {
        "type": "string",
        "required": true,
        "description": "Email address of the contact"
      },
      "lastName": {
        "type": "string",
        "required": false,
        "description": "Last name of the contact"
      },
      "phoneNumber": {
        "type": "string",
        "required": false,
        "description": "Phone number of the contact"
      },
      "contactType": {
        "type": "string",
        "required": false,
        "description": "Type of contact"
      },
      "accountIds": {
        "type": "array",
        "required": false,
        "description": "Array of account IDs to associate with the contact",
        "items": {
          "type": "string"
        }
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string",
        "required": true,
        "description": "Unique identifier of the created contact"
      },
      "firstName": {
        "type": "string",
        "required": true,
        "description": "First name of the contact"
      },
      "email": {
        "type": "string",
        "required": true,
        "description": "Email address of the contact"
      },
      "lastName": {
        "type": "string",
        "required": false,
        "description": "Last name of the contact"
      },
      "phoneNumber": {
        "type": "string",
        "required": false,
        "description": "Phone number of the contact"
      },
      "contactType": {
        "type": "string",
        "required": false,
        "description": "Type of contact"
      },
      "contactTypeId": {
        "type": "string",
        "required": false,
        "description": "ID of the contact type"
      },
      "accounts": {
        "type": "array",
        "required": false,
        "description": "Associated accounts",
        "items": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "description": "Account ID"
            },
            "name": {
              "type": "string",
              "description": "Account name"
            }
          }
        }
      },
      "createdAt": {
        "type": "string",
        "required": true,
        "description": "Contact creation timestamp"
      },
      "updatedAt": {
        "type": "string",
        "required": true,
        "description": "Last update timestamp"
      }
    }
    ```

    **Connection details**: Platform API
  </Accordion>

  <Accordion title="Update customer contact" icon="user-pen">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Updates an existing customer contact

    **Request payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string",
        "required": true,
        "description": "ID of the contact to update"
      },
      "firstName": {
        "type": "string",
        "required": false,
        "description": "New first name of the contact"
      },
      "email": {
        "type": "string",
        "required": false,
        "description": "New email address of the contact"
      },
      "lastName": {
        "type": "string",
        "required": false,
        "description": "New last name of the contact"
      },
      "phoneNumber": {
        "type": "string",
        "required": false,
        "description": "New phone number of the contact"
      },
      "contactType": {
        "type": "string",
        "required": false,
        "description": "New type of contact"
      },
      "accountIds": {
        "type": "array",
        "required": false,
        "description": "New array of account IDs to associate with the contact",
        "items": {
          "type": "string"
        }
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string",
        "required": true,
        "description": "Unique identifier of the contact"
      },
      "firstName": {
        "type": "string",
        "required": true,
        "description": "First name of the contact"
      },
      "email": {
        "type": "string",
        "required": true,
        "description": "Email address of the contact"
      },
      "lastName": {
        "type": "string",
        "required": false,
        "description": "Last name of the contact"
      },
      "phoneNumber": {
        "type": "string",
        "required": false,
        "description": "Phone number of the contact"
      },
      "contactType": {
        "type": "string",
        "required": false,
        "description": "Type of contact"
      },
      "contactTypeId": {
        "type": "string",
        "required": false,
        "description": "ID of the contact type"
      },
      "accounts": {
        "type": "array",
        "required": false,
        "description": "Associated accounts",
        "items": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "description": "Account ID"
            },
            "name": {
              "type": "string",
              "description": "Account name"
            }
          }
        }
      },
      "createdAt": {
        "type": "string",
        "required": true,
        "description": "Contact creation timestamp"
      },
      "updatedAt": {
        "type": "string",
        "required": true,
        "description": "Last update timestamp"
      }
    }
    ```

    **Connection details**: Platform API
  </Accordion>

  <Accordion title="Delete customer contact" icon="user-minus">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Deletes a customer contact

    **Request payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string",
        "required": true,
        "description": "ID of the contact to delete"
      }
    }
    ```

    **Response payload**: Empty response on success

    **Connection details**: Platform API
  </Accordion>

  <Accordion title="Get customer contacts" icon="users">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Retrieves customer contacts with optional filtering

    **Request payload**:

    ```json theme={null}
    {
      "page": {
        "type": "number",
        "required": false,
        "description": "Page number for pagination"
      },
      "limit": {
        "type": "number",
        "required": false,
        "description": "Number of contacts per page"
      },
      "email": {
        "type": "string",
        "required": false,
        "description": "Filter by email address"
      },
      "accountId": {
        "type": "string",
        "required": false,
        "description": "Filter by associated account ID"
      },
      "contactType": {
        "type": "string",
        "required": false,
        "description": "Filter by contact type"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "data": {
        "type": "array",
        "required": true,
        "description": "Array of contact objects",
        "items": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "required": true,
              "description": "Contact ID"
            },
            "firstName": {
              "type": "string",
              "required": true,
              "description": "First name of the contact"
            },
            "email": {
              "type": "string",
              "required": true,
              "description": "Email address of the contact"
            },
            "lastName": {
              "type": "string",
              "required": false,
              "description": "Last name of the contact"
            },
            "phoneNumber": {
              "type": "string",
              "required": false,
              "description": "Phone number of the contact"
            },
            "contactType": {
              "type": "string",
              "required": false,
              "description": "Type of contact"
            },
            "contactTypeId": {
              "type": "string",
              "required": false,
              "description": "ID of the contact type"
            },
            "accounts": {
              "type": "array",
              "required": false,
              "description": "Associated accounts",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Account ID"
                  },
                  "name": {
                    "type": "string",
                    "description": "Account name"
                  }
                }
              }
            },
            "createdAt": {
              "type": "string",
              "required": true,
              "description": "Contact creation timestamp"
            },
            "updatedAt": {
              "type": "string",
              "required": true,
              "description": "Last update timestamp"
            }
          }
        }
      }
    }
    ```

    **Connection details**: Platform API
  </Accordion>

  <Accordion title="Bulk create customer contacts" icon="users">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Creates multiple customer contacts in a single operation

    **Request payload**:

    ```json theme={null}
    {
      "contacts": {
        "type": "array",
        "required": true,
        "description": "Array of contact objects to create",
        "items": {
          "type": "object",
          "properties": {
            "firstName": {
              "type": "string",
              "required": true,
              "description": "First name of the contact"
            },
            "email": {
              "type": "string",
              "required": true,
              "description": "Email address of the contact"
            },
            "lastName": {
              "type": "string",
              "required": false,
              "description": "Last name of the contact"
            },
            "phoneNumber": {
              "type": "string",
              "required": false,
              "description": "Phone number of the contact"
            },
            "contactType": {
              "type": "string",
              "required": false,
              "description": "Type of contact"
            },
            "accountIds": {
              "type": "array",
              "required": false,
              "description": "Array of account IDs to associate with the contact",
              "items": {
                "type": "string"
              }
            }
          }
        }
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "data": {
        "type": "array",
        "required": true,
        "description": "Array of created contact objects",
        "items": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "required": true,
              "description": "Contact ID"
            },
            "firstName": {
              "type": "string",
              "required": true,
              "description": "First name of the contact"
            },
            "email": {
              "type": "string",
              "required": true,
              "description": "Email address of the contact"
            },
            "lastName": {
              "type": "string",
              "required": false,
              "description": "Last name of the contact"
            },
            "phoneNumber": {
              "type": "string",
              "required": false,
              "description": "Phone number of the contact"
            },
            "contactType": {
              "type": "string",
              "required": false,
              "description": "Type of contact"
            },
            "contactTypeId": {
              "type": "string",
              "required": false,
              "description": "ID of the contact type"
            },
            "accounts": {
              "type": "array",
              "required": false,
              "description": "Associated accounts",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Account ID"
                  },
                  "name": {
                    "type": "string",
                    "description": "Account name"
                  }
                }
              }
            },
            "createdAt": {
              "type": "string",
              "required": true,
              "description": "Contact creation timestamp"
            },
            "updatedAt": {
              "type": "string",
              "required": true,
              "description": "Last update timestamp"
            }
          }
        }
      }
    }
    ```

    **Connection details**: Platform API
  </Accordion>
</AccordionGroup>

### Utilities

<AccordionGroup>
  <Accordion title="Sleep" icon="clock">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Waits for a specified duration

    **Request payload**:

    ```json theme={null}
    {
      "duration": {
        "type": "number",
        "required": true,
        "description": "Duration to sleep in milliseconds"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "data": {
        "type": "string",
        "required": true,
        "description": "Response data"
      },
      "status": {
        "type": "number",
        "required": true,
        "description": "HTTP status code"
      },
      "sleep_duration": {
        "type": "number",
        "required": true,
        "description": "Actual duration slept in milliseconds"
      }
    }
    ```

    **Connection details**: Platform API
  </Accordion>

  <Accordion title="Trigger workflow" icon="play">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Triggers another workflow

    **Request payload**:

    ```json theme={null}
    {
      "workflowUniqueIdentifier": {
        "type": "string",
        "required": true,
        "description": "Unique identifier of the workflow to trigger"
      },
      "data": {
        "type": "object",
        "required": true,
        "description": "Input data for the triggered workflow"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "data": {
        "type": "string",
        "required": true,
        "description": "Result of the workflow trigger operation"
      },
      "status": {
        "type": "number",
        "required": true,
        "description": "HTTP status code of the operation"
      }
    }
    ```

    **Connection details**: Platform API
  </Accordion>

  <Accordion title="Check team availability" icon="calendar-check">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Checks team availability based on holidays and business hours

    **Request payload**:

    ```json theme={null}
    {
      "teamId": {
        "type": "string",
        "required": true,
        "description": "ID of the team to check availability for (can be null for organization-wide check)"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "isAvailable": {
        "type": "boolean",
        "required": true,
        "description": "Whether the team is currently available"
      },
      "reason": {
        "type": "string",
        "required": true,
        "description": "Reason for availability status",
        "enum": ["IN_BUSINESS_HOURS", "OUTSIDE_BUSINESS_HOURS", "HOLIDAY"]
      }
    }
    ```

    **Connection details**: Platform API
  </Accordion>

  <Accordion title="Check user availability" icon="user-clock">
    **Scope**: Organization\
    **Source**: Platform\
    **Description**: Checks user availability based on time off and business hours

    **Request payload**:

    ```json theme={null}
    {
      "userId": {
        "type": "string",
        "required": true,
        "description": "ID of the user to check availability for (can be null for current user)"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "isAvailable": {
        "type": "boolean",
        "required": true,
        "description": "Whether the user is currently available"
      },
      "reason": {
        "type": "string",
        "required": true,
        "description": "Reason for availability status",
        "enum": ["IN_BUSINESS_HOURS", "OUTSIDE_BUSINESS_HOURS", "TIME_OFF"]
      }
    }
    ```

    **Connection details**: Platform API
  </Accordion>
</AccordionGroup>

## Integration activities

### Slack integration

<AccordionGroup>
  <Accordion title="Post message" icon="message">
    **Scope**: Organization\
    **Source**: Registered App\
    **Description**: Posts a message to a Slack channel or user

    **Request payload**:

    ```json theme={null}
    {
      "channel": {
        "type": "string",
        "required": true,
        "description": "Channel ID or user ID to send message to"
      },
      "text": {
        "type": "string",
        "required": true,
        "description": "Message text content"
      },
      "blocks": {
        "type": "array",
        "required": false,
        "description": "Optional Slack block kit elements"
      },
      "thread_ts": {
        "type": "string",
        "required": false,
        "description": "Optional timestamp of parent message for threading"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "ok": {
        "type": "boolean",
        "description": "Whether the operation was successful"
      },
      "ts": {
        "type": "string",
        "description": "Timestamp of the posted message"
      },
      "channel": {
        "type": "string",
        "description": "Channel ID where message was posted"
      },
      "message": {
        "type": "object",
        "description": "Full message object"
      }
    }
    ```

    **Connection**: HTTP (Slack API)
  </Accordion>

  <Accordion title="Edit message" icon="pen">
    **Scope**: Organization\
    **Source**: Registered App\
    **Description**: Edits an existing Slack message

    **Request payload**:

    ```json theme={null}
    {
      "channel": {
        "type": "string",
        "required": true,
        "description": "Channel ID containing the message"
      },
      "ts": {
        "type": "string",
        "required": true,
        "description": "Timestamp of message to edit"
      },
      "text": {
        "type": "string",
        "required": true,
        "description": "New message text"
      },
      "blocks": {
        "type": "array",
        "required": false,
        "description": "Optional updated block kit elements"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "ok": {
        "type": "boolean",
        "description": "Whether the operation was successful"
      },
      "ts": {
        "type": "string",
        "description": "Timestamp of the edited message"
      },
      "text": {
        "type": "string",
        "description": "Updated message text"
      },
      "channel": {
        "type": "string",
        "description": "Channel ID containing the message"
      }
    }
    ```

    **Connection**: HTTP (Slack API)
  </Accordion>

  <Accordion title="Delete message" icon="trash">
    **Scope**: Organization\
    **Source**: Registered App\
    **Description**: Deletes a Slack message

    **Request payload**:

    ```json theme={null}
    {
      "channel": {
        "type": "string",
        "required": true,
        "description": "Channel ID containing the message"
      },
      "ts": {
        "type": "string",
        "required": true,
        "description": "Timestamp of message to delete"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "ok": {
        "type": "boolean",
        "description": "Whether the operation was successful"
      },
      "ts": {
        "type": "string",
        "description": "Timestamp of the deleted message"
      },
      "channel": {
        "type": "string",
        "description": "Channel ID containing the message"
      }
    }
    ```

    **Connection**: HTTP (Slack API)
  </Accordion>

  <Accordion title="Join channel" icon="plus">
    **Scope**: Organization\
    **Source**: Registered App\
    **Description**: Joins a Slack channel

    **Request payload**:

    ```json theme={null}
    {
      "channel": {
        "type": "string",
        "required": true,
        "description": "Channel ID to join"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "ok": {
        "type": "boolean",
        "description": "Whether the operation was successful"
      },
      "channel": {
        "type": "object",
        "description": "Channel object that was joined"
      }
    }
    ```

    **Connection**: HTTP (Slack API)
  </Accordion>

  <Accordion title="Leave channel" icon="arrow-up">
    **Scope**: Organization\
    **Source**: Registered App\
    **Description**: Leaves a Slack channel

    **Request payload**:

    ```json theme={null}
    {
      "channel": {
        "type": "string",
        "required": true,
        "description": "Channel ID to leave"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "ok": {
        "type": "boolean",
        "description": "Whether the operation was successful"
      }
    }
    ```

    **Connection**: HTTP (Slack API)
  </Accordion>

  <Accordion title="Add member" icon="user-plus">
    **Scope**: Organization\
    **Source**: Registered App\
    **Description**: Adds a member to a Slack channel

    **Request payload**:

    ```json theme={null}
    {
      "channel": {
        "type": "string",
        "required": true,
        "description": "Channel ID"
      },
      "user": {
        "type": "string",
        "required": true,
        "description": "User ID to add"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "ok": {
        "type": "boolean",
        "description": "Whether the operation was successful"
      }
    }
    ```

    **Connection**: HTTP (Slack API)
  </Accordion>

  <Accordion title="Remove member" icon="user-minus">
    **Scope**: Organization\
    **Source**: Registered App\
    **Description**: Removes a member from a Slack channel

    **Request payload**:

    ```json theme={null}
    {
      "channel": {
        "type": "string",
        "required": true,
        "description": "Channel ID"
      },
      "user": {
        "type": "string",
        "required": true,
        "description": "User ID to remove"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "ok": {
        "type": "boolean",
        "description": "Whether the operation was successful"
      }
    }
    ```

    **Connection**: HTTP (Slack API)
  </Accordion>

  <Accordion title="Add reaction" icon="face-smile">
    **Scope**: Organization\
    **Source**: Registered App\
    **Description**: Adds a reaction to a Slack message

    **Request payload**:

    ```json theme={null}
    {
      "channel": {
        "type": "string",
        "required": true,
        "description": "Channel ID containing the message"
      },
      "ts": {
        "type": "string",
        "required": true,
        "description": "Timestamp of target message"
      },
      "name": {
        "type": "string",
        "required": true,
        "description": "Emoji name without colons (e.g., 'thumbsup')"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "ok": {
        "type": "boolean",
        "description": "Whether the operation was successful"
      }
    }
    ```

    **Connection**: HTTP (Slack API)
  </Accordion>

  <Accordion title="Remove reaction" icon="face-frown">
    **Scope**: Organization\
    **Source**: Registered App\
    **Description**: Removes a reaction from a Slack message

    **Request payload**:

    ```json theme={null}
    {
      "channel": {
        "type": "string",
        "required": true,
        "description": "Channel ID containing the message"
      },
      "ts": {
        "type": "string",
        "required": true,
        "description": "Timestamp of target message"
      },
      "name": {
        "type": "string",
        "required": true,
        "description": "Emoji name to remove"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "ok": {
        "type": "boolean",
        "description": "Whether the operation was successful"
      }
    }
    ```

    **Connection**: HTTP (Slack API)
  </Accordion>
</AccordionGroup>

### Jira integration

<AccordionGroup>
  <Accordion title="Create issue" icon="plus">
    **Scope**: Organization\
    **Source**: Registered App\
    **Description**: Creates a new issue in Jira

    **Request payload**:

    ```json theme={null}
    {
      "summary": {
        "type": "string",
        "required": true,
        "description": "Issue summary/title"
      },
      "issue_type": {
        "type": "string",
        "required": true,
        "description": "Jira issue type ID (e.g., 'Bug', 'Task', 'Story')"
      },
      "description": {
        "type": "string",
        "required": true,
        "description": "Detailed description of the issue"
      },
      "project_key": {
        "type": "string",
        "required": true,
        "description": "Jira project key (e.g., 'PROJ', 'DEV')"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string",
        "description": "Unique identifier of the created issue"
      },
      "key": {
        "type": "string",
        "description": "Issue key (e.g., 'PROJ-123')"
      },
      "self": {
        "type": "string",
        "description": "URL to the created issue"
      },
      "metadata": {
        "type": "object",
        "description": "Additional information about the created issue"
      }
    }
    ```

    **Connection**: HTTP (Jira API)
  </Accordion>

  <Accordion title="Transition issue" icon="arrows-rotate">
    **Scope**: Organization\
    **Source**: Registered App\
    **Description**: Transitions a Jira issue to a different status

    **Request payload**:

    ```json theme={null}
    {
      "issue_key": {
        "type": "string",
        "required": true,
        "description": "Jira issue key (e.g., 'PROJ-123')"
      },
      "transition_id": {
        "type": "string",
        "required": true,
        "description": "Transition ID to execute (e.g., '21' for 'In Progress', '31' for 'Done')"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "success": {
        "type": "boolean",
        "description": "Whether the transition was successful"
      },
      "metadata": {
        "type": "object",
        "description": "Additional information about the transition"
      }
    }
    ```

    **Connection**: HTTP (Jira API)
  </Accordion>
</AccordionGroup>

## AI agent activities

<AccordionGroup>
  <Accordion title="AI status change" icon="arrows-rotate">
    **Scope**: Team\
    **Source**: Registered App\
    **Description**: Changes ticket status based on AI analysis of comments and context

    **Request payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string",
        "required": true,
        "description": "ID of the ticket to analyze for status change"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "success": {
        "type": "boolean",
        "description": "Whether the status change was successful"
      },
      "new_status": {
        "type": "string",
        "description": "The new status assigned to the ticket"
      },
      "confidence": {
        "type": "number",
        "description": "AI confidence score for the status change decision"
      },
      "reasoning": {
        "type": "string",
        "description": "AI reasoning for the status change"
      }
    }
    ```

    **Connection**: HTTP (Agent Studio API)
  </Accordion>

  <Accordion title="AI ticket deflection" icon="shield">
    **Scope**: Organization\
    **Source**: Registered App\
    **Description**: Analyzes tickets for potential deflection opportunities using AI

    **Request payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string",
        "required": true,
        "description": "ID of the ticket to analyze for deflection"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "output": {
        "type": "object",
        "description": "AI analysis results for ticket deflection",
        "properties": {
          "can_deflect": {
            "type": "boolean",
            "description": "Whether the ticket can be deflected"
          },
          "deflection_confidence": {
            "type": "number",
            "description": "Confidence score for deflection recommendation"
          },
          "suggested_resources": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Suggested knowledge base articles or resources"
          },
          "deflection_reason": {
            "type": "string",
            "description": "Reason why the ticket can or cannot be deflected"
          }
        }
      }
    }
    ```

    **Connection**: HTTP (Agent Studio API)
  </Accordion>

  <Accordion title="AI ticket summary" icon="file-lines">
    **Scope**: Organization\
    **Source**: Registered App\
    **Description**: Generates AI-powered summaries for ticket content and context

    **Request payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string",
        "required": true,
        "description": "Ticket ID"
      },
      "title": {
        "type": "string",
        "required": true,
        "description": "Ticket title"
      },
      "description": {
        "type": "string",
        "required": false,
        "description": "Ticket description"
      },
      "teamId": {
        "type": "string",
        "required": true,
        "description": "Team ID"
      },
      "customer": {
        "type": "object",
        "required": true,
        "properties": {
          "id": {
            "type": "string",
            "description": "Customer ID"
          },
          "name": {
            "type": "string",
            "description": "Customer name"
          },
          "email": {
            "type": "string",
            "required": true,
            "description": "Customer email"
          }
        }
      },
      "statusId": {
        "type": "string",
        "required": false,
        "description": "Current status ID"
      },
      "statusName": {
        "type": "string",
        "required": false,
        "description": "Current status name"
      },
      "priorityId": {
        "type": "string",
        "required": false,
        "description": "Priority ID"
      },
      "priorityName": {
        "type": "string",
        "required": false,
        "description": "Priority name"
      },
      "assignedTo": {
        "type": "string",
        "required": false,
        "description": "Assigned agent ID"
      },
      "assignedName": {
        "type": "string",
        "required": false,
        "description": "Assigned agent name"
      },
      "source": {
        "type": "string",
        "required": false,
        "description": "Ticket source"
      },
      "tags": {
        "type": "array",
        "required": true,
        "items": {
          "type": "string"
        },
        "description": "Ticket tags"
      },
      "isArchived": {
        "type": "boolean",
        "required": true,
        "description": "Whether ticket is archived"
      },
      "isEscalated": {
        "type": "boolean",
        "required": true,
        "description": "Whether ticket is escalated"
      },
      "createdAt": {
        "type": "string",
        "required": true,
        "description": "Ticket creation timestamp"
      },
      "metadata": {
        "type": "object",
        "required": false,
        "description": "Additional ticket metadata"
      },
      "customFields": {
        "type": "array",
        "required": false,
        "items": {
          "type": "object"
        },
        "description": "Custom field values"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "output": {
        "type": "object",
        "required": true,
        "properties": {
          "key_points": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "3-5 key points extracted from the ticket"
          },
          "customer_summary": {
            "type": "string",
            "description": "Customer-friendly, non-technical summary"
          },
          "technical_summary": {
            "type": "string",
            "description": "Technical summary with internal context"
          }
        }
      }
    }
    ```

    **Connection**: HTTP (Agent Studio API)
  </Accordion>

  <Accordion title="AI title and description generator" icon="wand-magic-sparkles">
    **Scope**: Organization\
    **Source**: Registered App\
    **Description**: Generates optimized titles and descriptions for tickets using AI

    **Request payload**:

    ```json theme={null}
    {
      "id": {
        "type": "string",
        "required": true,
        "description": "Ticket ID"
      },
      "title": {
        "type": "string",
        "required": true,
        "description": "Current ticket title"
      },
      "description": {
        "type": "string",
        "required": false,
        "description": "Current ticket description"
      },
      "teamId": {
        "type": "string",
        "required": true,
        "description": "Team ID"
      },
      "customer": {
        "type": "object",
        "required": true,
        "properties": {
          "id": {
            "type": "string",
            "description": "Customer ID"
          },
          "name": {
            "type": "string",
            "description": "Customer name"
          },
          "email": {
            "type": "string",
            "required": true,
            "description": "Customer email"
          }
        }
      },
      "statusId": {
        "type": "string",
        "required": false,
        "description": "Current status ID"
      },
      "statusName": {
        "type": "string",
        "required": false,
        "description": "Current status name"
      },
      "priorityId": {
        "type": "string",
        "required": false,
        "description": "Priority ID"
      },
      "priorityName": {
        "type": "string",
        "required": false,
        "description": "Priority name"
      },
      "assignedTo": {
        "type": "string",
        "required": false,
        "description": "Assigned agent ID"
      },
      "assignedName": {
        "type": "string",
        "required": false,
        "description": "Assigned agent name"
      },
      "source": {
        "type": "string",
        "required": false,
        "description": "Ticket source"
      },
      "tags": {
        "type": "array",
        "required": true,
        "items": {
          "type": "string"
        },
        "description": "Ticket tags"
      },
      "isArchived": {
        "type": "boolean",
        "required": true,
        "description": "Whether ticket is archived"
      },
      "isEscalated": {
        "type": "boolean",
        "required": true,
        "description": "Whether ticket is escalated"
      },
      "createdAt": {
        "type": "string",
        "required": true,
        "description": "Ticket creation timestamp"
      },
      "metadata": {
        "type": "object",
        "required": false,
        "description": "Additional ticket metadata"
      },
      "customFields": {
        "type": "array",
        "required": false,
        "items": {
          "type": "object"
        },
        "description": "Custom field values"
      }
    }
    ```

    **Response payload**:

    ```json theme={null}
    {
      "output": {
        "type": "object",
        "required": true,
        "properties": {
          "title": {
            "type": "string",
            "description": "Optimized and clear title for the ticket"
          },
          "description": {
            "type": "string",
            "description": "Well-structured and detailed description"
          },
          "keywords": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Relevant keywords for ticket categorization"
          },
          "confidence_scores": {
            "type": "object",
            "properties": {
              "title": {
                "type": "number",
                "minimum": 0,
                "maximum": 1,
                "description": "Confidence score for the generated title"
              },
              "description": {
                "type": "number",
                "minimum": 0,
                "maximum": 1,
                "description": "Confidence score for the generated description"
              }
            }
          }
        }
      }
    }
    ```

    **Connection**: HTTP (Agent Studio API)
  </Accordion>
</AccordionGroup>

## Best practices

<Steps>
  <Step title="Activity design">
    * Keep activities focused and single-purpose
    * Define clear input/output contracts
    * Implement proper validation
    * Handle errors gracefully
  </Step>

  <Step title="Security">
    * Validate all inputs
    * Check required permissions
    * Secure sensitive data
    * Audit activity execution
  </Step>

  <Step title="Performance">
    * Configure appropriate rate limits
    * Implement proper timeouts
    * Monitor resource usage
    * Handle concurrent executions
  </Step>
</Steps>

## Related resources

<CardGroup cols={2}>
  <Card title="Events & Triggers" icon="bolt" href="/platform/core-concepts/workflows/events-triggers">
    Learn about workflow events and triggers
  </Card>

  <Card title="API Reference" icon="book" href="/api-reference/platform/workflows/activities">
    View complete activity reference
  </Card>
</CardGroup>
