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

# Get activity registry

> MCP tool to retrieve available activities that can be used in workflows from the Thena platform.

import Admonition from '@theme/Admonition';

### MCP tool: `get_activity_registry`

Retrieves the activity registry for a specific team, showing all available activities that can be used in workflow steps. This tool helps you discover what actions are available for workflow configuration.

<Admonition type="note">
  You must provide the team ID to retrieve the activity registry for that specific team.
</Admonition>

### Example prompt

```prompt theme={null}
Get activity registry for team "TEAM001"
```

<Admonition type="info">
  When you use this prompt in a chat with the model (with the MCP tool registered), the model will automatically call the <code>get\_activity\_registry</code> tool with the correct arguments.
</Admonition>

### Input parameters

| Name   | Type   | Required | Description                                |
| ------ | ------ | -------- | ------------------------------------------ |
| teamId | string | Yes      | The team ID to fetch activity registry for |

### Response fields

Below are the fields you may see in each activity object in the response:

<table>
  <thead>
    <tr>
      <th>Field</th>
      <th>Type</th>
      <th>Description</th>
    </tr>
  </thead>

  <tbody>
    <tr><td>id</td><td>string</td><td>The unique identifier of the activity</td></tr>
    <tr><td>name</td><td>string</td><td>The name of the activity</td></tr>
    <tr><td>uniqueIdentifier</td><td>string</td><td>The unique identifier used in workflow definitions</td></tr>
    <tr><td>description</td><td>string</td><td>The description of the activity</td></tr>
    <tr><td>category</td><td>string</td><td>The category of the activity</td></tr>
    <tr><td>version</td><td>number</td><td>The version of the activity</td></tr>
    <tr><td>inputSchema</td><td>object</td><td>The JSON schema for the activity input parameters</td></tr>
    <tr><td>outputSchema</td><td>object</td><td>The JSON schema for the activity output</td></tr>
    <tr><td>isActive</td><td>boolean</td><td>Whether the activity is active and available</td></tr>
    <tr><td>createdAt</td><td>string (ISO8601)</td><td>The creation timestamp</td></tr>
    <tr><td>updatedAt</td><td>string (ISO8601)</td><td>The last update timestamp</td></tr>
  </tbody>
</table>

### Sample response

```json theme={null}
{
  "data": [
    {
      "id": "ACTIVITY001",
      "name": "Send Notification",
      "uniqueIdentifier": "notification.activity",
      "description": "Sends notifications to specified recipients via email, Slack, or other channels",
      "category": "communication",
      "version": 2,
      "inputSchema": {
        "type": "object",
        "properties": {
          "recipients": {
            "type": "array",
            "items": { "type": "string" },
            "description": "List of recipient identifiers (emails, user IDs, or channel names)"
          },
          "message": {
            "type": "string",
            "description": "The message content to send"
          },
          "priority": {
            "type": "string",
            "enum": ["low", "normal", "high", "urgent"],
            "description": "The priority level of the notification"
          },
          "channel": {
            "type": "string",
            "enum": ["email", "slack", "sms", "webhook"],
            "description": "The notification channel to use"
          },
          "template": {
            "type": "string",
            "description": "Optional template ID to use for formatting"
          }
        },
        "required": ["recipients", "message"]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "notificationId": {
            "type": "string",
            "description": "The unique identifier of the sent notification"
          },
          "sentTo": {
            "type": "array",
            "items": { "type": "string" },
            "description": "List of recipients who received the notification"
          },
          "deliveryStatus": {
            "type": "string",
            "enum": ["sent", "delivered", "failed"],
            "description": "The delivery status of the notification"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "description": "The timestamp when the notification was sent"
          }
        }
      },
      "isActive": true,
      "createdAt": "2025-07-24T07:19:10.258Z",
      "updatedAt": "2025-07-24T07:19:10.258Z"
    },
    {
      "id": "ACTIVITY002",
      "name": "Assign Ticket",
      "uniqueIdentifier": "assignment.activity",
      "description": "Assigns tickets to agents based on skills, availability, and load balancing",
      "category": "ticket-management",
      "version": 1,
      "inputSchema": {
        "type": "object",
        "properties": {
          "ticketId": {
            "type": "string",
            "description": "The ID of the ticket to assign"
          },
          "priority": {
            "type": "string",
            "enum": ["low", "medium", "high", "urgent"],
            "description": "The priority level of the ticket"
          },
          "skillSet": {
            "type": "array",
            "items": { "type": "string" },
            "description": "Required skills for the agent"
          },
          "autoAssign": {
            "type": "boolean",
            "description": "Whether to automatically assign or just find candidates"
          },
          "loadBalancing": {
            "type": "boolean",
            "description": "Whether to consider current workload in assignment"
          }
        },
        "required": ["ticketId"]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "assignedAgentId": {
            "type": "string",
            "description": "The ID of the assigned agent"
          },
          "assignedAgentName": {
            "type": "string",
            "description": "The name of the assigned agent"
          },
          "assignmentReason": {
            "type": "string",
            "description": "The reason for the assignment decision"
          },
          "candidatesConsidered": {
            "type": "number",
            "description": "Number of agents considered for assignment"
          }
        }
      },
      "isActive": true,
      "createdAt": "2025-07-24T07:19:10.258Z",
      "updatedAt": "2025-07-24T07:19:10.258Z"
    },
    {
      "id": "ACTIVITY003",
      "name": "Update Ticket Status",
      "uniqueIdentifier": "status-update.activity",
      "description": "Updates the status of a ticket with optional comments",
      "category": "ticket-management",
      "version": 1,
      "inputSchema": {
        "type": "object",
        "properties": {
          "ticketId": {
            "type": "string",
            "description": "The ID of the ticket to update"
          },
          "status": {
            "type": "string",
            "description": "The new status to set"
          },
          "comment": {
            "type": "string",
            "description": "Optional comment to add with the status update"
          },
          "addTimestamp": {
            "type": "boolean",
            "description": "Whether to add a timestamp to the comment"
          }
        },
        "required": ["ticketId", "status"]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "updatedTicketId": {
            "type": "string",
            "description": "The ID of the updated ticket"
          },
          "previousStatus": {
            "type": "string",
            "description": "The previous status of the ticket"
          },
          "newStatus": {
            "type": "string",
            "description": "The new status of the ticket"
          },
          "commentId": {
            "type": "string",
            "description": "The ID of the added comment (if any)"
          }
        }
      },
      "isActive": true,
      "createdAt": "2025-07-24T07:19:10.258Z",
      "updatedAt": "2025-07-24T07:19:10.258Z"
    },
    {
      "id": "ACTIVITY004",
      "name": "Sleep/Wait",
      "uniqueIdentifier": "sleep.activity",
      "description": "Pauses workflow execution for a specified duration",
      "category": "control-flow",
      "version": 1,
      "inputSchema": {
        "type": "object",
        "properties": {
          "duration": {
            "type": "number",
            "description": "Duration to sleep in seconds"
          },
          "reason": {
            "type": "string",
            "description": "Optional reason for the sleep"
          }
        },
        "required": ["duration"]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "sleptFor": {
            "type": "number",
            "description": "Actual duration slept in seconds"
          },
          "startTime": {
            "type": "string",
            "format": "date-time",
            "description": "When the sleep started"
          },
          "endTime": {
            "type": "string",
            "format": "date-time",
            "description": "When the sleep ended"
          }
        }
      },
      "isActive": true,
      "createdAt": "2025-07-24T07:19:10.258Z",
      "updatedAt": "2025-07-24T07:19:10.258Z"
    }
  ],
  "status": true,
  "message": "Activity registry retrieved successfully!",
  "timestamp": "2025-07-25T12:50:38.937Z"
}
```

<Admonition type="tip">
  Always pass an object as input, even if empty, to avoid errors when calling the tool directly.
</Admonition>

***
