> ## 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. # Update Integration > Update an existing integration. From Rocket.Chat 9.0.0, scripts are stored and run as written, without Babel. Existing scripts keep their transpiled version until they're edited and saved on Rocket.Chat 9.0.0 or later. See Script compatibility for the script patterns that must be updated. Permissions required: * `manage-incoming-integrations` * `manage-own-incoming-integrations` * `manage-outgoing-integrations` * `manage-own-outgoing-integrations` ### Changelog | Version | Description | | ---------------- | ------------| |9.0.0 | Removed `skipTranspile`. | |8.4.0 | Added `skipTranspile` field to opt-out of Babel transpilation | |3.4.0 | Added | ## OpenAPI ````json PUT /api/v1/integrations.update { "openapi": "3.0.0", "info": { "version": "1.0.0", "title": "Integrations" }, "servers": [ { "url": "https://apiexplorer.support.rocket.chat" } ], "tags": [ { "name": "Integration" }, { "name": "OAuth Apps" } ], "paths": { "/api/v1/integrations.update": { "put": { "tags": [ "Integration" ], "summary": "Update Integration", "description": "Update an existing integration.\n\nFrom Rocket.Chat 9.0.0, scripts are stored and run as written, without Babel. Existing scripts keep their transpiled version until they're edited and saved on Rocket.Chat 9.0.0 or later. See Script compatibility for the script patterns that must be updated.\n\nPermissions required:\n* `manage-incoming-integrations`\n* `manage-own-incoming-integrations`\n* `manage-outgoing-integrations`\n* `manage-own-outgoing-integrations`\n\n### Changelog\n| Version | Description | \n| ---------------- | ------------|\n|9.0.0 | Removed `skipTranspile`. |\n|8.4.0 | Added `skipTranspile` field to opt-out of Babel transpilation |\n|3.4.0 | Added |", "operationId": "put-api-v1-integrations.update", "parameters": [ { "$ref": "#/components/parameters/X-Auth-Token" }, { "$ref": "#/components/parameters/X-User-Id" } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "type": { "type": "string", "description": "The type of integration. The possible values are:\r\n* `webhook-outgoing`\r\n* `webhook-incoming`" }, "name": { "type": "string", "description": "The name of the integration." }, "enabled": { "type": "boolean", "description": "Whether this integration should be enabled or not." }, "username": { "type": "string", "description": "The username to post this the messages as." }, "scriptEnabled": { "type": "boolean", "description": "Whether the script should be enabled." }, "channel": { "type": "string", "description": "The channel, group, or @username. The values can also be `all_public_channels`, `all_private_groups`, or `all_direct_messages`. Comma separated for more than one." }, "integrationId": { "type": "string", "description": "The integration ID." }, "urls": { "type": "array", "description": "The urls to call whenever this integration is triggered.", "items": { "type": "string" } }, "event": { "type": "string", "description": "This field is required only for outgoing integrations. \r\nThe type of event can be any of these: `sendMessage`, `fileUploaded`, `roomArchived`, `roomCreated`, `roomJoined`, `roomLeft`, `userCreated`." }, "triggerWords": { "type": "string", "description": "Specific words, separated by commas, which should trigger this integration." }, "alias": { "type": "string", "description": "The alias which should be applied to messages when this integration is processed." }, "avatar": { "type": "string", "description": "The logo to apply to the messages that this integration sends.", "example": "http://res.guggy.com/logo_128.png" }, "emoji": { "type": "string", "description": "The emoji which should be displayed as the avatar for messages from this integration.", "example": ":ghost:" }, "token": { "type": "string", "description": "If your integration requires a special token from the server (API key), use this parameter." }, "script": { "type": "string", "description": "Script triggered when this integration is triggered." }, "targetChannel": { "type": "string", "description": "The channel where messages will be sent to." }, "target_url": { "type": "string", "description": "The target url to set." } }, "required": [ "type", "name", "enabled", "username", "scriptEnabled", "channel", "integrationId" ] }, "examples": { "Example 1": { "value": { "type": "webhook-incoming", "name": "Test", "enabled": false, "username": "rocket.cat", "scriptEnabled": false, "channel": "#test", "integrationId": "x3tPXa9XXRqW6Xp2M" } } } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "integration": { "type": "object", "properties": { "_id": { "type": "string" }, "enabled": { "type": "boolean" }, "channel": { "type": "array", "items": { "type": "string" } }, "username": { "type": "string" }, "name": { "type": "string" }, "alias": { "type": "string" }, "avatarUrl": { "type": "string" }, "emoji": { "type": "string" }, "scriptEnabled": { "type": "boolean" }, "script": { "type": "string" }, "type": { "type": "string" }, "token": { "type": "string" }, "userId": { "type": "string" }, "_createdAt": { "type": "string" }, "_createdBy": { "type": "object", "properties": { "_id": { "type": "string" }, "username": { "type": "string" } } }, "_updatedAt": { "type": "string" }, "_updatedBy": { "type": "object", "properties": { "_id": { "type": "string" }, "username": { "type": "string" } } } } }, "success": { "type": "boolean" } } }, "examples": { "Success Example": { "value": { "integration": { "_id": "x3tPXa9XXRqW6Xp2M", "enabled": false, "channel": [ "#test" ], "username": "rodriq", "name": "Test", "alias": "Jim", "avatarUrl": "", "emoji": ":ghost:", "scriptEnabled": false, "script": "console.log(\"MANNNNN ---------------------------------------------------------\")", "type": "webhook-incoming", "token": "XYsrkngRr5PBkWhCqJWk5ZfKzQoxSv4QhxkK5trSgJENwbRL", "userId": "d26x6zSkaPSe5gCyy", "_createdAt": "2021-10-22T14:48:46.025Z", "_createdBy": { "_id": "d26x6zSkaPSe5gCyy", "username": "rod" }, "_updatedAt": "2021-10-22T16:08:39.843Z", "_updatedBy": { "_id": "d26x6zSkaPSe5gCyy", "username": "rod" } }, "success": true } } } } } }, "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 'type'\n must have required property 'type'\n must match exactly one schema in oneOf [error-invalid-params]", "errorType": "error-invalid-params" } }, "Example 2": { "value": { "success": false, "error": "must have required property 'integrationId'\n must have required property 'type'\n must match exactly one schema in oneOf [error-invalid-params]", "errorType": "error-invalid-params" } }, "Example 3": { "value": { "success": false, "error": "No integration found." } } } } } }, "401": { "$ref": "#/components/responses/authorizationError" } } } } }, "components": { "parameters": { "X-Auth-Token": { "name": "X-Auth-Token", "in": "header", "description": "The authorization token of the user.", "required": true, "schema": { "type": "string" }, "example": "9HqLlyZOugD_0YdwAJF8V47U3QHXSq" }, "X-User-Id": { "name": "X-User-Id", "in": "header", "description": "The user ID of the user.", "required": true, "schema": { "type": "string" }, "example": "aobEdbYhXfu5hkeqG" } }, "responses": { "authorizationError": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "success": { "type": "boolean" }, "error": { "type": "string" } } }, "examples": { "Authorization Error": { "value": { "success": false, "error": "You must be logged in to do this." } } } } } } } } } ````