Mattermost
19 min
the mattermost connector facilitates communication and collaboration by automating messaging actions within the swimlane turbine platform mattermost is an open source, self hosted messaging platform that enables secure team collaboration the mattermost connector for swimlane turbine allows users to automate communication workflows, manage posts, and monitor message threads within the platform by integrating with mattermost, swimlane turbine users can streamline incident response, enhance team coordination, and rapidly disseminate information across channels without manual intervention this connector empowers security teams to act swiftly, ensuring that critical updates and alerts are communicated effectively in real time mattermost is a secure collaboration platform for accelerating mission critical collaborative work the platform is built to meet the custom needs of technical and operational teams in rigorous and complex environments, including government, defense, and critical infrastructure mattermost gives organizations full control over their data with self hosted and private deployment options and access to the source code with mattermost you can connect and collaborate stay connected with your team via 1 1 and group messages, voice calls, and screensharing build repeatable processes build and configure repeatable processes with workflow automation to achieve specific and predictable outcomes customize your preferences match the way you work by adjusting your notification settings, changing your theme, or updating your profile settings prerequisites to utilize the mattermost connector for turbine, ensure you have the following mattermost credentials for authentication with these parameters url the base url of your mattermost server login id your mattermost user login id password your mattermost account password capabilities mattermost connector provides the following capabilities create a post get a thread get unread messages configurations mattermost authentication authenticates using mattermost credentials configuration parameters parameter description type required url a url to the target host string required login id username or login id string required password password string required verify ssl verify ssl certificate boolean optional http proxy a proxy to route requests through string optional actions create a post creates a new post in a specified mattermost channel, with options to comment on another post if root id is provided requires create post permission endpoint url /api/v4/posts method post input argument name type required description set online boolean optional set user status as online or not channel id string required the channel id to post in message string required the message contents formatted with markdown root id string optional the post id to comment on file ids array optional list of file ids associated with post props object optional general json property bag for the post metadata object optional json object for post metadata priority object optional object containing post's priority properties priority string optional priority label empty important or urgent requested ack boolean optional request for acknowledgements if true output parameter type description status code number http status code of the response reason string response reason phrase id string unique identifier create at number output field create at update at number output field update at edit at number output field edit at delete at number output field delete at is pinned boolean output field is pinned user id string unique identifier channel id string unique identifier root id string unique identifier original id string unique identifier message string response message type string type of the resource props object output field props hashtags string output field hashtags pending post id string unique identifier remote id string unique identifier reply count number count value last reply at number output field last reply at participants object output field participants metadata object response data example \[ { "status code" 201, "response headers" { "date" "fri, 04 oct 2024 07 46 04 gmt", "content type" "application/json", "content length" "414", "connection" "keep alive", "permissions policy" "", "referrer policy" "no referrer", "vary" "accept encoding", "x content type options" "nosniff", "x ratelimit limit" "101", "x ratelimit remaining" "100", "x ratelimit reset" "1", "x request id" "wzx7ft8j1fro9m5ctupma74cuw", "x version id" "10 0 0 10671348655 6317a4edf33bb5635a68d4d05279afac true", "strict transport security" "max age=31536000; includesubdomains", "cf cache status" "dynamic" }, "reason" "created", "json body" { "id" "q15o4qjd3jyutpxxi5m5dnbpso", "create at" 1728027964653, "update at" 1728027964653, "edit at" 0, "delete at" 0, "is pinned" false, "user id" "xcqf6ebeotg9tnbuc7qu4cxp9r", "channel id" "ptigx9meojybue6gkgoq9nbw9h", "root id" "", "original id" "", "message" "hello via connector", "type" "", "props" {}, "hashtags" "", "pending post id" "" } } ] get a thread retrieves a specific post and its associated thread in mattermost, requiring appropriate permissions based on channel privacy settings endpoint url /api/v4/posts/{{post id}}/thread method get input argument name type required description post id string required id of a post in the thread perpage number optional number of posts per page frompost string optional post id to return next page fromcreateat number optional timestamp to return next page direction string optional direction to return posts up or down skipfetchthreads boolean optional skip fetching threads or not collapsedthreads boolean optional client uses crt or not collapsedthreadsextended boolean optional return associated users in response output parameter type description status code number http status code of the response reason string response reason phrase order array output field order posts object output field posts 1sd7saa47inaufjmm6is9troxh object output field 1sd7saa47inaufjmm6is9troxh id string unique identifier create at number output field create at update at number output field update at edit at number output field edit at delete at number output field delete at is pinned boolean output field is pinned user id string unique identifier channel id string unique identifier root id string unique identifier original id string unique identifier message string response message type string type of the resource props object output field props hashtags string output field hashtags pending post id string unique identifier remote id string unique identifier reply count number count value last reply at number output field last reply at participants object output field participants metadata object response data example \[ { "status code" 200, "response headers" { "date" "fri, 04 oct 2024 07 39 38 gmt", "content type" "application/json", "content length" "397", "connection" "keep alive", "content encoding" "gzip", "etag" "10 0 0 1sd7saa47inaufjmm6is9troxh zc8zgm3qujn9xdrtytyriukijh 1728022061916", "expires" "0", "permissions policy" "", "referrer policy" "no referrer", "vary" "accept encoding", "x content type options" "nosniff", "x ratelimit limit" "101", "x ratelimit remaining" "100", "x ratelimit reset" "1", "x request id" "pioy814q6p8jmkd6br9msz8m9r" }, "reason" "ok", "json body" { "order" \[], "posts" {}, "next post id" "", "prev post id" "", "has next" false, "first inaccessible post time" 0 } } ] get unread messages retrieves the count of unread messages and mentions in a specific channel for a user on mattermost, given appropriate permissions endpoint url /api/v4/users/{{user id}}/channels/{{channel id}}/unread method get input argument name type required description user id string required unique identifier for the user channel id string required unique identifier for the channel output parameter type description status code number http status code of the response reason string response reason phrase response text string output field response text example \[ { "status code" 200, "response headers" { "date" "fri, 04 oct 2024 07 47 10 gmt", "content type" "text/html", "transfer encoding" "chunked", "connection" "keep alive", "cache control" "no cache, max age=31556926, public", "content security policy" "frame ancestors 'self' teams microsoft com; script src 'self' cdn rudderlabs com", "permissions policy" "", "referrer policy" "no referrer", "x content type options" "nosniff", "x frame options" "sameorigin", "x ratelimit limit" "101", "x ratelimit remaining" "100", "x ratelimit reset" "1", "x request id" "r9ers3i8yfdbfj5rq1j53homdo", "x version id" "10 0 0 10671348655 6317a4edf33bb5635a68d4d05279afac true" }, "reason" "ok", "response text" "\<!doctype html>\<html lang=\\"en\\">\<head>\<meta charset=\\"utf 8\\">\<meta name=\\"viewport\\" " } ] response headers header description example accept ranges http response header accept ranges bytes cache control directives for caching mechanisms no cache, max age=31556926, public cf cache status http response header cf cache status dynamic cf ray http response header cf ray 8cd38ff7dc0879f2 hyd connection http response header connection keep alive content encoding http response header content encoding gzip content length the length of the response body in bytes 397 content security policy http response header content security policy frame ancestors 'self' teams microsoft com; script src 'self' cdn rudderlabs com content type the media type of the resource application/json date the date and time at which the message was originated fri, 04 oct 2024 07 47 10 gmt etag an identifier for a specific version of a resource 10 0 0 1sd7saa47inaufjmm6is9troxh zc8zgm3qujn9xdrtytyriukijh 1728022061916 expires the date/time after which the response is considered stale 0 permissions policy http response header permissions policy referrer policy http response header referrer policy no referrer server information about the software used by the origin server cloudflare strict transport security http response header strict transport security max age=31536000; includesubdomains transfer encoding http response header transfer encoding chunked vary http response header vary accept encoding x content type options http response header x content type options nosniff x frame options http response header x frame options sameorigin x ratelimit limit the number of requests allowed in the current rate limit window 101 x ratelimit remaining the number of requests remaining in the current rate limit window 100 x ratelimit reset the time at which the current rate limit window resets 1 x request id a unique identifier for the request r9ers3i8yfdbfj5rq1j53homdo x version id http response header x version id 10 0 0 10671348655 6317a4edf33bb5635a68d4d05279afac true notes mattermost api documentation https //api mattermost com/#tag/introduction mattermost authentication link https //api mattermost com/#tag/authentication mattermost deployment documentation https //docs mattermost com/guides/deployment html