> ## 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.
# Get Group Integrations
> Retrieves the integrations that the group/channel has. At least one of the following integration permissions is required:
* `manage-incoming-integrations`
* `manage-own-incoming-integrations`
* `manage-outgoing-integrations`
* `manage-own-outgoing-integrations`
It will return the integrations based on the user's permission.
### Changelog
| Version | Description |
| ------- | ----------- |
|9.0.0 | Removed the `fields` and `query` parameters. Returns `403` with `errorType: error-forbidden` instead of `400` when refused. |
| 1.1.0 | Separate permissions in incoming and outgoing. |
| 0.49.0 | Added |
## OpenAPI
````json GET /api/v1/groups.getIntegrations
{
"openapi": "3.0.0",
"info": {
"version": "1.0.0",
"title": "Rooms"
},
"servers": [
{
"url": "https://apiexplorer.support.rocket.chat"
}
],
"tags": [
{
"name": "Channels"
},
{
"name": "Directory"
},
{
"name": "Groups"
},
{
"name": "Rooms"
},
{
"name": "Teams"
},
{
"name": "Room Invites"
},
{
"name": "Subscriptions"
},
{
"name": "ABAC"
}
],
"paths": {
"/api/v1/groups.getIntegrations": {
"get": {
"tags": [
"Groups"
],
"summary": "Get Group Integrations",
"description": "Retrieves the integrations that the group/channel has. At least one of the following integration permissions is required:\n* `manage-incoming-integrations`\n* `manage-own-incoming-integrations`\n* `manage-outgoing-integrations`\n* `manage-own-outgoing-integrations`\n\nIt will return the integrations based on the user's permission. \n### Changelog\n| Version | Description |\n| ------- | ----------- |\n|9.0.0 | Removed the `fields` and `query` parameters. Returns `403` with `errorType: error-forbidden` instead of `400` when refused. |\n| 1.1.0 | Separate permissions in incoming and outgoing. |\n| 0.49.0 | Added |",
"operationId": "get-api-v1-groups.getIntegrations",
"parameters": [
{
"$ref": "#/components/parameters/Auth-Token"
},
{
"$ref": "#/components/parameters/UserId"
},
{
"schema": {
"type": "string",
"example": "6731de043b74d3c57d334d0c"
},
"in": "query",
"name": "roomId",
"description": "Enter the private channel's ID. Alternatively, you can enter the room name using the `roomName` query parameter. You can find the IDs by using any of the following endpoints:\n* Get List of User Groups: This endpoint returns all private channels in the workspace, if you have the required permissions to view them.\n* Get Groups: This endpoint returns the private channels that you are a member of.",
"required": true
},
{
"$ref": "#/components/parameters/offset"
},
{
"$ref": "#/components/parameters/count"
},
{
"$ref": "#/components/parameters/sort"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"integrations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"_id": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"username": {
"type": "string"
},
"alias": {
"type": "string"
},
"avatar": {
"type": "string"
},
"name": {
"type": "string"
},
"triggerWords": {
"type": "array",
"items": {
"type": "string"
}
},
"urls": {
"type": "array",
"items": {
"type": "string"
}
},
"token": {
"type": "string"
},
"script": {
"type": "string"
},
"scriptEnabled": {
"type": "boolean"
},
"impersonateUser": {
"type": "boolean"
},
"scriptCompiled": {
"type": "string"
},
"scriptError": {
"type": "string"
},
"type": {
"type": "string"
},
"userId": {
"type": "string"
},
"channel": {
"type": "array",
"items": {
"type": "string"
}
},
"_createdAt": {
"type": "string"
},
"_createdBy": {
"type": "object",
"properties": {
"username": {
"type": "string"
},
"_id": {
"type": "string"
}
}
},
"_updatedAt": {
"type": "string"
}
}
}
},
"success": {
"type": "boolean"
}
}
},
"examples": {
"Success": {
"value": {
"integrations": [
{
"_id": "WMQDChpnYTRmFre9h",
"enabled": true,
"username": "rocket.cat",
"alias": "Guggy",
"avatar": "http://res.guggy.com/logo_128.png",
"name": "Guggy",
"triggerWords": [
"!guggy",
"guggy",
"gif+"
],
"urls": [
"http://text2gif.guggy.com/guggify"
],
"token": "8DFS89DMKLWEN",
"script": "const config = {\n color: '#ffffff'\n};\n\nclass Script {\n prepare_outgoing_request({ request }) {\n const trigger = request.data.trigger_word + ' ';\n const phrase = request.data.text.replace(trigger, '');\n request.headers['Content-Type']='application/json';\n request.headers['apiKey']=request.data.token;\n return {\n url: request.url,\n headers: request.headers,\n data: {format: 'gif', sentence: phrase},\n method: 'POST'\n };\n }\n\n process_outgoing_response({ request, response }) {\n if(response.content.gif) {\n return {\n content: {\n attachments: [\n {\n image_url: response.content.gif,\n color: ((config['color'] != '') ? '#' + config['color'].replace('#', '') : '#ffffff')\n }\n ]\n }\n };\n } else {\n return {\n content: {\n text: 'Sorry I don\\'t have a photo for you :disappointed_relieved:'\n }\n };\n }\n }\n}",
"scriptEnabled": true,
"impersonateUser": false,
"scriptCompiled": "function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError('Cannot call a class as a function')}}var config={color:'#ffffff'};var Script=function(){function Script(){_classCallCheck(this,Script)}Script.prototype.prepare_outgoing_request=function prepare_outgoing_request(_ref){var request=_ref.request;var trigger=request.data.trigger_word+' ';var phrase=request.data.text.replace(trigger,'');request.headers['Content-Type']='application/json';request.headers['apiKey']=request.data.token;return{url:request.url,headers:request.headers,data:{format:'gif',sentence:phrase},method:'POST'}};Script.prototype.process_outgoing_response=function process_outgoing_response(_ref2){var request=_ref2.request;var response=_ref2.response;if(response.content.gif){return{content:{attachments:[{image_url:response.content.gif,color:config['color']!=''?'#'+config['color'].replace('#',''):'#ffffff'}]}}}else{return{content:{text:'Sorry I don\\'t have a photo for you :disappointed_relieved:'}}}};return Script}();",
"scriptError": "",
"type": "webhook-outgoing",
"userId": "rocket.cat",
"channel": [
"#private-group-name"
],
"_createdAt": "2017-01-05T17:06:05.66Z",
"_createdBy": {
"username": "graywolf336",
"_id": "R4jgcQaQhvvK6K3iY"
},
"_updatedAt": "2017-01-05T17:06:05.66Z"
}
],
"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": "The parameter \"roomId\" or \"roomName\" is required [error-room-param-not-provided]",
"errorType": "error-room-param-not-provided"
}
}
}
}
}
},
"401": {
"$ref": "#/components/responses/authorizationError"
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": "string"
},
"errorType": {
"type": "string"
}
}
},
"examples": {
"Example 2": {
"value": {
"success": false,
"error": "User does not have the permissions required for this action",
"errorType": "error-forbidden"
}
}
}
}
}
}
}
}
}
},
"components": {
"parameters": {
"Auth-Token": {
"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"
},
"offset": {
"name": "offset",
"in": "query",
"description": "Number of items to \"skip\" in the query, i.e. requests return count items, skipping the first offset items. Refer to the [official documentation](https://developer.rocket.chat/apidocs/query-parameters#pagination) to learn more.",
"required": false,
"schema": {
"type": "integer"
},
"example": 50
},
"count": {
"name": "count",
"in": "query",
"description": "The number of items to return. Refer to the [official documentation](https://developer.rocket.chat/apidocs/query-parameters#pagination) to learn more.",
"required": false,
"schema": {
"type": "integer"
},
"example": 50
},
"sort": {
"name": "sort",
"in": "query",
"description": "List of fields to order by, and in which direction. This is a JSON object, with properties listed in desired order, with values of 1 for ascending, or -1 for descending. For example, {\"value\": -1, \"_id\": 1}. Refer to the [official documentation](https://developer.rocket.chat/apidocs/query-parameters#pagination) to learn more.",
"required": false,
"schema": {}
}
},
"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."
}
}
}
}
}
}
}
}
}
````