Sin4wd / Webhook-Connectors

This repository contains code base for Squadcast Connectors & is intended to be used along with Squadcast Webhooks.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

image

Squadcast Webhook Connectors

This repository contains the code for the Squadcast Webhook Connectors and is intended to be used along with Webhooks V2. The repository supports :

  1. Slack
  2. Discord
  3. Trello
  4. Click Up
  5. Linear
  6. Telegram
  7. MatterMost
  8. Zulip
  9. Service Now
  10. Email

Prerequisites

  • git
  • NodeJs | npm
  • nodemon

Tip : For Linux Users, just execute the command below to install all the NodeJS prerequisites

bash dependencies.sh

Authentication

Squadcast Webhook Connectors has authentication built-in. Users can choose between a user defined authKey or an automatically generated authKey.

  • User Defined authKey :- Inside the .env file, users need to define the authKey and change the useAuthKey variable’s value to “yes”. image

  • Auto generated authKey :- Once the Node Server is up and running, an authKey will be provided. image

    Note : Make sure that inside the .env file, useAuthKey variable’s value is “no”

Users need to add authKey in the headers section of the Squadcast's Outgoing Webhooks. Eg. : image

Getting Started

  • Clone this repo
git clone https://github.com/highlyUnderrated/Squadcast-Webhook-Connectors
  • Install dependencies
npm install
  • Run
nodemon start



Use Cases

Slack


URL : https://Server-IP-Address:5000/squadcast/connector/slack

Request Headers :-

  • Slack URL can support multiple channels. To notify channels, just put integers as name of Key value pair & value should be the Slack Webhook. Eg. : image

Discord


URL : https://Server-IP-Address:5000/squadcast/connector/discord

Request Headers :-

  • Discord URL can support multiple channels. To notify channels, just put integers as name of Key value pair & value should be the Discord Webhook. Eg. : image

Trello


URL : https://Server-IP-Address:5000/squadcast/connector/trello

Request Headers :-

  • To use the Trello webhook, just paste the URL mentioned above in Squadcast Webhook URl box. In the headers, just add "idList", "key" & "token" and their proper values. Eg. : image

  • To see your idList, Open a card > Click on Share > Click on Export Json > You'll see a JSON which will contain idList.

  • image

  • Tip : To get you own token & key, navigate to : https://trello.com/app-key

Linear


URL : https://Server-IP-Address:5000/squadcast/connector/linear

Request Headers :-

  • Inside the .env file, users need to define the linearAPIKey and change the initializeLinearClient variable’s value to “yes”. image

  • To use the Linear webhook, just paste the URL mentioned above in Squadcast Webhook URl box. Additionally, users can also define priority for the issues. 1 is Urgent, 2 is High, 3 is Medium & 4 is Low. Eg. : image

MatterMost


URL : https://Server-IP-Address:5000/squadcast/connector/mattermost

Steps :-

  • Important : Before starting, create your own MatterMost Incoming webhook. For that, navigate to Integrations > Incoming Webhooks > Add Incoming Webhook. Eg. : image
  • To notify a Channel, just paste the URL mentioned above in Squadcast Webhook URl box. In the headers, just add the Incoming Webhook as "webhook". Eg. :
  • image

Zulip


URL : https://Server-IP-Address:5000/squadcast/connector/zulip

Steps :-

  • Important : Before starting, create your own Zulip Bot. Then add the bot in the respective organisation and Streams. Eg. : image
  • To notify Stream and create a topic, just paste the URL mentioned above in Squadcast Webhook URl box. In the headers, just add the BOT EMAIL as "username", BOT API KEY as "password" & add the name of the STREAM as "stream". Eg. :
  • image

Service Now


URL : https://Server-IP-Address:5000/squadcast/connector/servicenow

Request Headers :-

  • To use the Service Now webhook, just paste the URL mentioned above in Squadcast Webhook URl box. In the headers, just add "subdomain", "urgency", "impact", "username" & "password" and their proper values. Eg. : image

Telegram


URL : https://Server-IP-Address:5000/squadcast/connector/telegram

Steps :-

  1. Important : Before starting, create your own Telegram Bot : https://core.telegram.org/bots#6-botfather
  2. Paste the Telegram Bot Token in the telegram_bot_token in .env file. Also change the telegram_bot_start variable's value to "yes". Eg. : image
  3. Now you can start the server, Refer Getting Started - Step 3.
  4. To use the Telegram webhook, just paste the URL mentioned above in Squadcast Webhook URl box. In the headers, just add "chatId" and its proper value. Eg. : image

Click Up


URL : https://Server-IP-Address:5000/squadcast/connector/clickup

Request Headers :-

  • To use the Click Up webhook, just paste the URL mentioned above in Squadcast Webhook URl box. In the headers, just add "listId", "token" & "priority" and their proper values. Eg. : image
  • Important : Priority is a number that corresponds to the Priorities available in the ClickUp UI. As in the ClickUp UI, priorities cannot be customized.1 is Urgent, 2 is High, 3 is Normal & 4 is Low.
  • Tip : To get your own Access Token & listId, refer https://jsapi.apiary.io/apis/clickup20/introduction/authentication.html

Email


URL : https://Server-IP-Address:5000/squadcast/connector/email

Request Headers :-

  • To use the email webhook, just paste the URL mentioned above in Squadcast Webhook URl box. In the headers, just add "from_email", "from_password", "to_email" & "SMTP" and their proper values. Eg. : image

List of SMTP Providers Supported : -

  • Service names are case insensitive : "126" "163" "1und1" "AOL" "DebugMail" "DynectEmail" "FastMail" "GandiMail" "Gmail" "Godaddy" "GodaddyAsia" "GodaddyEurope" "hot.ee" "Hotmail" "iCloud" "mail.ee" "Mail.ru" "Maildev" "Mailgun" "Mailjet" "Mailosaur" "Mandrill" "Naver" "OpenMailBox" "Outlook365" "Postmark" "QQ" "QQex" "SendCloud" "SendGrid" "SendinBlue" "SendPulse" "SES" "SES-US-EAST-1" "SES-US-WEST-2" "SES-EU-WEST-1" "Sparkpost" "Yahoo" "Yandex" "Zoho" "qiye.aliyun"



Other Use Cases

Rapid7 InsightIDR - Reassign Incident


URL : https://Server-IP-Address:5000/squadcast/connector/update-escalation/rapid7

Request Headers :-

  • Rapid7 InsightIDR URL supports Reassigning of an incident based on the Priority. In the headers, just add "region", "x-refresh-token", "x-api-key", "reassignId" & "reassignType" and their proper values. Eg. : image

  • Tip : To get you own "x-api-key", go to Settings > API Keys > User Key > New User Key

Update Tag


URL : https://Server-IP-Address:5000/squadcast/connector/updatetag

Request Headers :-

  • This API will update incident tag if incident title includes Ticket # followed by number. i.e. if incident title is: Updated test Ticket #221208-01805: TRI-ALT:Critical:Pure then incident will be tagged as ticket:221208-01805 image
  • Please send "x-refresh-token" in outgoing webhook headers. image

About

This repository contains code base for Squadcast Connectors & is intended to be used along with Squadcast Webhooks.


Languages

Language:JavaScript 98.1%Language:Shell 1.9%