Create Integration

Creates an integration, if the callee has the permissions.

Permissions required to create incoming integrations:

  • manage-incoming-integrations

  • manage-own-incoming-integrations

Permissions required to create incoming integrations:

  • manage-outgoing-integrations

  • manage-own-outgoing-integrations

HTTP MethodURLRequires Auth

POST

/api/v1/integrations.create

Incoming Webhook

Body Parameters

KeyExample ValueDescription

type*

webhook-incoming

The type of integration to create.

username*

rocket.cat

The username who to post this the messages as.

channel*

#general

The channel, group, or @username. Can also be all_public_channels, all_private_groups, or all_direct_messages. Comma separated for more than one.

scriptEnabled*

sendMessage

Whether the script should be enabled.

script

Integration

Script triggered when this integration is triggered.

name*

rocket.cat

The username who to post this the messages as.

enabled*

true

Whether this integration should be enabled or not.

alias

Guggy

The alias which should be applied to messages when this integration is processed.

avatar

http://res.guggy.com/logo_128.png

The logo to apply to the messages that this integration sends.

emoji

:ghost:

The emoji which should be displayed as the avatar for messages from this integration.

Example Call

curl -H "X-Auth-Token: 9HqLlyZOugoStsXCUfD_0YdwnNnunAJF8V47U3QHXSq" \
     -H "X-User-Id: aobEdbYhXfu5hkeqG" \
     -H "Content-type: application/json" \
     http://localhost:3000/api/v1/integrations.create \
     -d '{ 
          "type": "webhook-incoming", 
          "username": "rocket.cat", 
          "channel": "#general", 
          "scriptEnabled": false,
          "name": "testHook",
          "enabled": true }'

Example Response

{
    "integration": {
        "type": "webhook-incoming",
        "username": "rocket.cat",
        "channel": false,
        "scriptEnabled": "sendMessage",
        "name": "sendMessage",
        "enabled": "sendMessage",
        }

Outgoing Webhook

Body Parameters

KeyExample ValueDescription

type*

webhook-outgoing

The type of integration to create, webhook-outgoing and webhook-incoming are supported.

name*

Guggy

The name of the integration, only is show on the Administration area.

enabled*

true

Whether this integration should be enabled or not.

event*

sendMessage

This field is required only for outgoing integration. The type of event, can be any of these: sendMessage, fileUploaded, roomArchived, roomCreated, roomJoined, roomLeft, userCreated.

username*

rocket.cat

The username who to post this the messages as.

urls*

['http://text2gif.guggy.com/guggify']

The urls to call whenever this integration is triggered.

scriptEnabled*

false

Whether the script should be enabled.

channel*

#general

The channel, group, or @username. Can also be all_public_channels, all_private_groups, or all_direct_messages. Comma separated for more than one.

triggerWords

!guggy

Specific words, separated by commas, which should trigger this integration.

alias

Guggy

The alias which should be applied to messages when this integration is processed.

avatar

http://res.guggy.com/logo_128.png

The logo to apply to the messages that this integration sends.

emoji

:ghost:

The emoji which should be displayed as the avatar for messages from this integration.

token

8DFS89DMKLWEN

If your integration requires a special token from the server (api key), use this.

script

Integrations

Script triggered when this integration is triggered.

Example Call

curl -H "X-Auth-Token: 9HqLlyZOugoStsXCUfD_0YdwnNnunAJF8V47U3QHXSq" \
     -H "X-User-Id: aobEdbYhXfu5hkeqG" \
     -H "Content-type: application/json" \
     http://localhost:3000/api/v1/integrations.create \
     -d '{ 
          "type": "webhook-outgoing", 
          "name": "Testing via REST API", 
          "event": "sendMessage", 
          "enabled": false, 
          "channel": "#general", 
          "username": "rocket.cat", 
          "urls": ["http://text2gif.guggy.com/guggify"], 
          "scriptEnabled": false }'

Example Response

{
    "integration": {
        "type": "webhook-outgoing",
        "name": "Testing via REST API",
        "enabled": false,
        "username": "rocket.cat",
        "event": "sendMessage",
        "urls": [
            "http://text2gif.guggy.com/guggify"
        ],
        "scriptEnabled": false,
        "userId": "rocket.cat",
        "channel": [],
        "_createdAt": "2017-01-06T13:23:46.018Z",
        "_createdBy": {
            "username": "graywolf336",
            "_id": "aobEdbYhXfu5hkeqG"
        },
        "_updatedAt": "2017-01-06T13:23:46.018Z",
        "_id": "3aazpZ2WzoBP8msi9"
    },
    "success": true
}

Change Log

VersionDescription

1.1.0

Separate permissions in incoming and outgoing.

0.49.0

Added

Last updated

Rocket.Chat versions receive support for six months after release.