Retrieves the integrations that the group/channel has. At least one of the following integration permissions is required:
manage-incoming-integrationsmanage-own-incoming-integrationsmanage-outgoing-integrationsmanage-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 |
The authToken of the authenticated user.
The userId of the authenticated user.
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.
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.
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.
OK
{
"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
}Bad Request
{
"success": false,
"error": "The parameter \"roomId\" or \"roomName\" is required [error-room-param-not-provided]",
"errorType": "error-room-param-not-provided"
}Unauthorized
{
"success": false,
"error": "You must be logged in to do this."
}Forbidden
{
"success": false,
"error": "User does not have the permissions required for this action",
"errorType": "error-forbidden"
}