> ## 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. Permissions required: * `manage-incoming-integrations` * `manage-own-incoming-integrations` * `manage-outgoing-integrations` * `manage-own-outgoing-integrations` ### Changelog | Version | Description | | ---------------- | ------------| |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" }, { "name": "WebDAV" } ], "paths": { "/api/v1/integrations.update": { "put": { "tags": [ "Integration" ], "summary": "Update Integration", "description": "Update an existing integration.\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|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." }, "skipTranspile": { "type": "boolean", "description": "From 8.4.0, the optional `skipTranspile` field is available to opt out of Babel transpilation for the integration script.\nFrom 9.0.0, Babel will no longer be used for webhook integration script compilation. This is a breaking change for scripts that rely on sloppy-mode behavior. Admins must review the existing integrations. \n\nThis parameter lets you test each integration so you can fix any scripts that break and reliably upgrade to 9.0.0 with `scriptTranspile: false` set on every integration.\n\nWhen `skipTranspile` is true, the script is stored as-is without Babel processing, matching the 9.0.0 default. Defaults to false for backward compatibility. Refer to the Script compatibility section in the Integrations user guide for more details.\n\nNote: This parameter is deprecated and will be removed in the 9.0.0 version.", "default": "false" } }, "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 [invalid-params]", "errorType": "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 [invalid-params]", "errorType": "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": { "status": { "type": "string" }, "message": { "type": "string" } } }, "examples": { "Authorization Error": { "value": { "status": "error", "message": "You must be logged in to do this." } } } } } } } } } ````