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

# Add a New Agent

> Add a new Agent to Account



## OpenAPI

````yaml https://raw.githubusercontent.com/chatwoot/chatwoot/develop/swagger/tag_groups/application_swagger.json post /api/v1/accounts/{account_id}/agents
openapi: 3.1.0
info:
  title: Chatwoot
  description: This is the API documentation for Chatwoot server.
  version: 1.1.0
  termsOfService: https://www.chatwoot.com/terms-of-service/
  contact:
    email: hello@chatwoot.com
  license:
    name: MIT License
    url: https://opensource.org/licenses/MIT
servers:
  - url: https://app.chatwoot.com/
security: []
tags:
  - name: Account AgentBots
    description: Account-specific Agent Bots
  - name: Agents
    description: Agent management APIs
  - name: Canned Responses
    description: Pre-defined responses for common queries
  - name: Contacts
    description: Contact management APIs
  - name: Contact Labels
    description: Manage contact labels
  - name: Conversation Assignments
    description: Manage conversation assignments
  - name: Conversation Labels
    description: Manage conversation labels
  - name: Conversations
    description: Conversation management APIs
  - name: Custom Attributes
    description: Custom fields for contacts and conversations
  - name: Custom Filters
    description: Saved filters for conversations
  - name: Inboxes
    description: Communication channels setup
  - name: Integrations
    description: Third-party integrations
  - name: Labels
    description: Account label management APIs
  - name: Messages
    description: Message management APIs
  - name: Profile
    description: User profile APIs
  - name: Reports
    description: Analytics and reporting APIs
  - name: Teams
    description: Team management APIs
  - name: Webhooks
    description: Event notification webhooks
  - name: Automation Rule
    description: Workflow automation rules
  - name: Help Center
    description: Knowledge base management
paths:
  /api/v1/accounts/{account_id}/agents:
    parameters:
      - $ref: '#/components/parameters/account_id'
    post:
      tags:
        - Agents
      summary: Add a New Agent
      description: Add a new Agent to Account
      operationId: add-new-agent-to-account
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/agent_create_payload'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/agent'
        '403':
          description: Access denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bad_request_error'
      security:
        - userApiKey: []
components:
  parameters:
    account_id:
      in: path
      name: account_id
      schema:
        type: integer
      required: true
      description: The numeric ID of the account
  schemas:
    agent_create_payload:
      type: object
      required:
        - name
        - email
        - role
      properties:
        name:
          type: string
          description: Full Name of the agent
          example: John Doe
        email:
          type: string
          description: Email of the Agent
          example: john.doe@acme.inc
        role:
          type: string
          enum:
            - agent
            - administrator
          description: Whether its administrator or agent
          example: agent
        availability_status:
          type: string
          enum:
            - available
            - busy
            - offline
          description: The availability setting of the agent.
          example: available
        auto_offline:
          type: boolean
          description: >-
            Whether the availability status of agent is configured to go offline
            automatically when away.
          example: true
    agent:
      type: object
      properties:
        id:
          type: integer
        account_id:
          type: integer
        availability_status:
          type: string
          enum:
            - available
            - busy
            - offline
          description: The availability status of the agent computed by Chatwoot.
        auto_offline:
          type: boolean
          description: >-
            Whether the availability status of agent is configured to go offline
            automatically when away.
        confirmed:
          type: boolean
          description: Whether the agent has confirmed their email address.
        email:
          type: string
          description: The email of the agent
        available_name:
          type: string
          description: The available name of the agent
        name:
          type: string
          description: The name of the agent
        role:
          type: string
          enum:
            - agent
            - administrator
          description: The role of the agent
        thumbnail:
          type: string
          description: The thumbnail of the agent
        custom_role_id:
          type:
            - integer
            - 'null'
          description: The custom role id of the agent
    bad_request_error:
      title: data
      type: object
      properties:
        description:
          type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/request_error'
    request_error:
      type: object
      properties:
        field:
          type: string
        message:
          type: string
        code:
          type: string
  securitySchemes:
    userApiKey:
      type: apiKey
      in: header
      name: api_access_token
      description: >-
        This token can be obtained by visiting the profile page or via rails
        console. Provides access to  endpoints based on the user permissions
        levels. This token can be saved by an external system when user is
        created via API, to perform activities on behalf of the user.

````