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

> Add a new automation rule to account



## OpenAPI

````yaml https://raw.githubusercontent.com/chatwoot/chatwoot/develop/swagger/tag_groups/application_swagger.json post /api/v1/accounts/{account_id}/automation_rules
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}/automation_rules:
    parameters:
      - $ref: '#/components/parameters/account_id'
    post:
      tags:
        - Automation Rule
      summary: Add a new automation rule
      description: Add a new automation rule to account
      operationId: add-new-automation-rule-to-account
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/automation_rule_create_update_payload'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/automation_rule'
        '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:
    automation_rule_create_update_payload:
      type: object
      properties:
        name:
          type: string
          description: Rule name
          example: Add label on message create event
        description:
          type: string
          description: The description about the automation and actions
          example: >-
            Add label support and sales on message create event if incoming
            message content contains text help
        event_name:
          type: string
          enum:
            - conversation_created
            - conversation_updated
            - conversation_resolved
            - message_created
          example: message_created
          description: The event when you want to execute the automation actions
        active:
          type: boolean
          description: Enable/disable automation rule
        actions:
          type: array
          description: >-
            Array of actions which you want to perform when condition matches,
            e.g add label support if message contains content help.
          items:
            type: object
            example:
              action_name: add_label
              action_params:
                - support
        conditions:
          type: array
          description: >-
            Array of conditions on which conversation filter would work, e.g
            message content contains text help.
          items:
            type: object
            example:
              attribute_key: content
              filter_operator: contains
              query_operator: OR
              values:
                - help
    automation_rule:
      type: object
      properties:
        payload:
          description: Response payload that contains automation rule(s)
          oneOf:
            - type: array
              description: Array of automation rules (for listing endpoint)
              items:
                $ref: '#/components/schemas/automation_rule_item'
            - type: object
              description: Single automation rule (for show/create/update endpoints)
              allOf:
                - $ref: '#/components/schemas/automation_rule_item'
    bad_request_error:
      title: data
      type: object
      properties:
        description:
          type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/request_error'
    automation_rule_item:
      type: object
      properties:
        id:
          type: integer
          description: The ID of the automation rule
        account_id:
          type: integer
          description: Account Id
        name:
          type: string
          description: The name of the rule
          example: Add label on message create event
        description:
          type: string
          description: Description to give more context about the rule
          example: >-
            Add label support and sales on message create event if incoming
            message content contains text help
        event_name:
          type: string
          description: >-
            Automation Rule event, on which we call the
            actions(conversation_created, conversation_updated, message_created)
          enum:
            - conversation_created
            - conversation_updated
            - message_created
          example: message_created
        conditions:
          type: array
          description: Array of conditions on which conversation/message filter would work
          items:
            type: object
            properties:
              values:
                type: array
                items:
                  type: string
              attribute_key:
                type: string
              query_operator:
                type: string
              filter_operator:
                type: string
            example:
              attribute_key: content
              filter_operator: contains
              values:
                - help
              query_operator: and
        actions:
          type: array
          description: Array of actions which we perform when condition matches
          items:
            type: object
            properties:
              action_name:
                type: string
              action_params:
                type: array
                items:
                  type: string
            example:
              action_name: add_label
              action_params:
                - support
                - sales
        created_on:
          type: integer
          description: The timestamp when the rule was created
        active:
          type: boolean
          description: Enable/disable automation rule
    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.

````