Skip to main content
POST
/
agents
Create a new Agent
curl --request POST \
  --url https://core.ravenna.ai/api/agents \
  --header 'Content-Type: application/json' \
  --header 'x-ravenna-api-token: <api-key>' \
  --data '{
  "id": "<string>",
  "name": "<string>",
  "description": "<string>",
  "imageUrl": "<string>",
  "personalityId": "<string>",
  "enabled": true,
  "respondOnMessage": "all-messages",
  "respondOnMention": false,
  "autoClassify": false,
  "autoTag": false,
  "negativeFeedbackAutoCreate": false,
  "availableInDM": false,
  "slackChannelIds": [
    "<string>"
  ],
  "queueIds": [
    "<string>"
  ],
  "kbIds": [
    "<string>"
  ],
  "requestTypeIds": [
    "<string>"
  ]
}'
{
  "id": "<string>",
  "name": "<string>",
  "description": "<string>",
  "imageUrl": "<string>",
  "workspaceId": "<string>",
  "personalityId": "<string>",
  "enabled": true,
  "respondOnMessage": "<string>",
  "respondOnMention": true,
  "autoClassify": true,
  "autoTag": true,
  "negativeFeedbackAutoCreate": true,
  "availableInDM": true,
  "workspace": {
    "id": "<string>",
    "slug": "<string>",
    "name": "<string>"
  },
  "personality": {
    "id": "<string>",
    "workspaceId": "<string>",
    "persona": "<string>",
    "tone": "<string>",
    "emoji": "<string>",
    "length": "<string>",
    "greeting": "<string>",
    "branding": "<string>",
    "createdAt": "<string>",
    "updatedAt": "<string>"
  },
  "slackChannels": [
    {
      "id": "<string>",
      "channelName": "<string>"
    }
  ],
  "queues": [
    {
      "id": "<string>",
      "name": "<string>",
      "prefix": "<string>",
      "emoji": "<string>",
      "system": true,
      "requestTypes": [
        {
          "id": "<string>",
          "name": "<string>",
          "emoji": "<string>",
          "color": "<string>",
          "description": "<string>",
          "icon": "<string>"
        }
      ],
      "kBs": [
        {
          "id": "<string>",
          "name": "<string>",
          "system": true,
          "lastSyncTS": 123,
          "global": true,
          "_count": {
            "kBDocuments": 123
          }
        }
      ]
    }
  ],
  "kBs": [
    {
      "id": "<string>",
      "name": "<string>",
      "system": true,
      "lastSyncTS": 123,
      "global": true,
      "_count": {
        "kBDocuments": 123
      }
    }
  ],
  "requestTypes": [
    {
      "id": "<string>",
      "name": "<string>",
      "emoji": "<string>",
      "color": "<string>",
      "description": "<string>",
      "icon": "<string>",
      "aiExamples": "<string>",
      "customFields": [
        {
          "id": "<string>",
          "order": 123,
          "private": true,
          "required": true,
          "ticketField": "TITLE",
          "requestTypeId": "<string>",
          "customFieldId": "<string>",
          "customField": {
            "id": "<string>",
            "workspaceId": "<string>",
            "key": "<string>",
            "label": "<string>",
            "description": "<string>",
            "required": true,
            "system": true,
            "type": "TEXT",
            "config": "<any>",
            "options": [
              "<any>"
            ],
            "createdAt": "<string>",
            "updatedAt": "<string>",
            "_count": {
              "requestTypeCustomField": 123
            }
          },
          "parentId": "<string>",
          "createdAt": "<string>",
          "updatedAt": "<string>"
        }
      ]
    }
  ],
  "createdAt": "<string>",
  "updatedAt": "<string>",
  "deletedAt": "<string>"
}

Authorizations

x-ravenna-api-token
string
header
required

Body

application/json
name
string
required
Minimum length: 1
id
string
description
string
imageUrl
string<uri>
personalityId
string
enabled
boolean
default:true
respondOnMessage
enum<string>
default:all-messages
Available options:
all-messages,
channel-messages,
no-messages
respondOnMention
boolean
default:false
autoClassify
boolean
default:false
autoTag
boolean
default:false
negativeFeedbackAutoCreate
boolean
default:false
availableInDM
boolean
default:false
slackChannelIds
string[]
queueIds
string[]
kbIds
string[]
requestTypeIds
string[]

Response

Successful response

id
string
required
name
string
required
description
string | null
required
imageUrl
string | null
required
workspaceId
string
required
personalityId
string | null
required
enabled
boolean
required
respondOnMessage
string
required
respondOnMention
boolean
required
autoClassify
boolean
required
autoTag
boolean
required
negativeFeedbackAutoCreate
boolean
required
availableInDM
boolean
required
workspace
object
required
personality
object | null
required
slackChannels
object[]
required
queues
object[]
required
kBs
object[]
required
requestTypes
object[]
required
createdAt
string
required
updatedAt
string
required
deletedAt
string | null
required
I