Get Group Integrations

Get
/api/v1/groups.getIntegrations

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
1.1.0 Separate permissions in incoming and outgoing.
0.49.0 Added
Header parameters
X-Auth-Token
stringRequired

The authToken of the authenticated user.

ExampleRScctEHSmLGZGywfIhWyRpyofhKOiMoUIpimhvheU3f
X-User-Id
stringRequired

The userId of the authenticated user.

ExamplerbAXPnMktTFbNpwtJ
Query parameters
roomId
stringRequired

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:

  • Get List of User Groups: This endpoint returns all private channels in the workspace, if you have the required permissions to view them.
  • Get Groups: This endpoint returns the private channels that you are a member of.
Example6731de043b74d3c57d334d0c
offset
integer

Number of items to "skip" in the query, i.e. requests return count items, skipping the first offset items. Refer to the official documentation to learn more.

Example50
count
integer

The number of items to return. Refer to the official documentation to learn more.

Example50
sort

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 to learn more.

query

This parameter allows you to use MongoDB query operators to search for specific data. For example, to query users with a name that contains the letter "g": query={ "name": { "$regex": "g" } }. Refer to the official documentation to learn more.

fields
string

This parameter accepts a JSON object with properties that have a value of 1 or 0 to include or exclude them in the response. For example, to only retrieve the usernames of users: fields={ "username": 1 }. Refer to the official documentation to learn more.

Responses
200

OK

Success
{
  "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.660Z",
      "_createdBy": {
        "username": "graywolf336",
        "_id": "R4jgcQaQhvvK6K3iY"
      },
      "_updatedAt": "2017-01-05T17:06:05.660Z"
    }
  ],
  "success": true
}
Expand All
object
integrations
Array of object
object
_id
string
enabled
boolean
username
string
alias
string
avatar
string
name
string
triggerWords
Array of string
string
urls
Array of string
string
token
string
script
string
scriptEnabled
boolean
impersonateUser
boolean
scriptCompiled
string
scriptError
string
type
string
userId
string
channel
Array of string
string
_createdAt
string
_createdBy
object
username
string
_id
string
_updatedAt
string
success
boolean
400

Bad Request

Example 1
{
  "success": false,
  "error": "The parameter \"roomId\" or \"roomName\" is required [error-room-param-not-provided]",
  "errorType": "error-room-param-not-provided"
}
Example 2
{
  "success": false,
  "error": "User does not have the permissions required for this action [error-unauthorized]"
}
object
success
boolean
error
string
errorType
string
401

Unauthorized

Authorization Error
{
  "status": "error",
  "message": "You must be logged in to do this."
}
object
status
string
message
string