> ## Documentation Index > Fetch the complete documentation index at: https://developer.rocket.chat/llms.txt > Use this file to discover all available pages before exploring further. # Create or Update Livechat Triggers > Permission required: `view-livechat-manager` See the Livechat Triggers guide for more information. ## OpenAPI ````json POST /api/v1/livechat/triggers { "openapi": "3.0.0", "info": { "version": "1.0.0", "title": "Omnichannel" }, "servers": [ { "url": "https://apiexplorer.support.rocket.chat" } ], "tags": [ { "name": "Omnichannel Users" }, { "name": "Omnichannel Agents" }, { "name": "Omnichannel Monitors" }, { "name": "Omnichannel Visitors" }, { "name": "Omnichannel Contacts" }, { "name": "Omnichannel Rooms" }, { "name": "Omnichannel Departments" }, { "name": "Omnichannel Custom Fields" }, { "name": "Omnichannel Business Hours" }, { "name": "Omnichannel Priorities" }, { "name": "Omnichannel Tags" }, { "name": "Omnichannel Units" }, { "name": "SLA Policies" }, { "name": "Canned Responses" }, { "name": "Omnichannel Transcript" }, { "name": "Omnichannel Statistics" }, { "name": "Omnichannel Agent Stats" }, { "name": "Omnichannel Dashboards" }, { "name": "Reports" }, { "name": "Omnichannel Inquiries" }, { "name": "Omnichannel Webhooks" }, { "name": "Livechat" }, { "name": "Livechat Appearance" }, { "name": "Livechat Triggers" }, { "name": "Livechat Messages" }, { "name": "Livechat Page Visited" } ], "paths": { "/api/v1/livechat/triggers": { "post": { "summary": "Create or Update Livechat Triggers", "tags": [ "Livechat Triggers" ], "responses": { "200": { "$ref": "#/components/responses/trueSuccess" }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "type": "object", "properties": { "success": { "type": "boolean" }, "error": { "type": "string" }, "errorType": { "type": "string" } } }, "examples": { "Example 1": { "value": { "success": false, "error": "must have required property 'description' [invalid-params]", "errorType": "invalid-params" } }, "Example 2": { "value": { "success": false, "error": "must be equal to one of the allowed values [invalid-params]", "errorType": "invalid-params" } } } } } }, "401": { "$ref": "#/components/responses/authorizationError" }, "403": { "$ref": "#/components/responses/permissionError" } }, "operationId": "post-api-v1-livechat-triggers", "description": "Permission required: `view-livechat-manager`\n\nSee the Livechat Triggers guide for more information.", "parameters": [ { "$ref": "#/components/parameters/AuthToken" }, { "$ref": "#/components/parameters/UserId" } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "name", "description", "enabled", "runOnce", "conditions", "actions" ], "properties": { "_id": { "type": "string", "description": "If you want to update a trigger, enter the trigger ID.", "example": "65fa8f42482d68e364" }, "name": { "type": "string", "description": "Enter a name for the trigger.", "example": "test-trigger" }, "description": { "type": "string", "description": "Enter a description for the trigger.", "example": "Test trigger with the endpoint." }, "enabled": { "type": "boolean", "description": "Whether the trigger is enabled for use or not.", "default": true }, "runOnce": { "type": "boolean", "description": "Whether the trigger will be run only once for each visitor.", "default": false }, "conditions": { "type": "array", "description": "Enter the conditions for the trigger to execute.", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The condition that should take place for the trigger to execute. The possible values are:\n* `time-on-site`: The amount of time a visitor is on the site.\n* `page-url`: The site URL that a visitor visits.\n* `chat-opened-by-visitor`: The chat is opened by the visitor.\n* `after-guest-registration`: The guest is registered to the chat." }, "value": { "oneOf": [ { "type": "number" }, { "type": "string" } ], "description": "Enter the value of the `page-url` (string) or the `time-on-site`, in seconds (number). Otherwise, you can enter `null`." } } } }, "actions": { "type": "array", "description": "The actions that take place once the trigger is executed.", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the trigger action that takes place. The possible values are:\r\n* `send-message`: A message is sent to the visitor.\r\n* `use-external-service`: An external service is used for the trigger action." }, "params": { "type": "object", "description": "Enter the parameter values for the trigger action.", "properties": { "sender": { "type": "string", "description": "The sender of the trigger action. The possible values are:\r\n* `queue`: Impersonate the next available agent in the queue.\r\n* `custom`: Use a specific agent or bot." }, "name": { "type": "string", "description": "Enter the name of the agent or bot that you want to use, if the `sender` is `custom`." }, "msg": { "type": "string", "description": "Enter a message for the visitor, if the action `name` is `send-message`." }, "serviceUrl": { "type": "string", "description": "Enter the external service URL you want to use, if the action `name` is `use-external-service`.", "example": "http://localhost:3000/api/vX" }, "serviceTimeout": { "type": "number", "description": "Enter the service timeout value, in seconds, if the action `name` is `use-external-service`.", "example": 5000 }, "serviceFallbackMessage": { "type": "string", "description": "Enter a message when the service is not accessible, if the action `name` is `use-external-service`.", "example": "Were sorry, we cannot complete your request" } } } } } } } }, "examples": { "Example 1": { "value": { "name": "api-trigger", "description": "testing create trigger endpoint", "enabled": false, "runOnce": true, "conditions": [ { "name": "chat-opened-by-visitor", "value": 0 } ], "actions": [ { "name": "send-message", "params": { "sender": "queue", "msg": "hello world" } } ] } } } } } } } } }, "components": { "responses": { "trueSuccess": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "success": { "type": "boolean" } } }, "examples": { "Success": { "value": { "success": true } } } } } }, "authorizationError": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" }, "message": { "type": "string" } } }, "examples": { "Authorization Error": { "value": { "status": "error", "message": "You must be logged in to do this." } } } } } }, "permissionError": { "description": "Forbidden", "content": { "application/json": { "schema": { "type": "object", "properties": { "success": { "type": "boolean" }, "error": { "type": "string" } } }, "examples": { "Permission Error": { "value": { "success": false, "error": "User does not have the permissions required for this action [error-unauthorized]" } }, "Unauthorized": { "value": { "success": false, "error": "unauthorized" } } } } } } }, "parameters": { "AuthToken": { "name": "X-Auth-Token", "in": "header", "description": "The `authToken` of the authenticated user.", "required": true, "schema": { "type": "string" }, "example": "RScctEHSmLGZGywfIhWyRpyofhKOiMoUIpimhvheU3f" }, "UserId": { "name": "X-User-Id", "in": "header", "description": "The `userId` of the authenticated user.", "required": true, "schema": { "type": "string" }, "example": "rbAXPnMktTFbNpwtJ" } } } } ````