2.2.2 • Published 10 months ago

ms-teams-webhook v2.2.2

Weekly downloads
6,943
License
MIT
Repository
github
Last release
10 months ago

Microsoft Incoming Webhooks

This package helps you making requests to Microsoft Teams Incoming Webhooks. Use it in your application to send a notification to a channel.

Installation

$ npm install ms-teams-webhook

Usage

Initialize the webhook

The package exports a IncomingWebhook class. You'll need to initialize it with the URL you received from Microsoft Teams.

The URL can come from installation the Webhook Connector by right click on a channel > Incomming Webhook > Configuration > (insert a name) > Create

Javascript example:

const { IncomingWebhook } = import("ms-teams-webhook");

// Read a url from the environment variables
const url = process.env.MS_TEAMS_WEBHOOK_URL;

// Initialize
const webhook = new IncomingWebhook(url);

Typescript example:

import { IncomingWebhook } from "ms-teams-webhook";

// Read a url from the environment variables
const url = process.env.MS_TEAMS_WEBHOOK_URL;
if (!url) {
  throw new Error("MS_TEAMS_WEBHOOK_URL is required");
}

// Initialize
const webhook = new IncomingWebhook(url);

Send a webhook

You can use the "Editor for adaptive cards" in the Microsoft Teams Developer Portal

https://dev.teams.microsoft.com/cards

After you set up the webhook (see above), you can send a message to the channel by calling webhook.send().

(async () => {
  await webhook.send({
    "@type": "MessageCard",
    "@context": "https://schema.org/extensions",
    summary: "Issue 176715375",
    themeColor: "0078D7",
    title: 'Issue opened: "Push notifications not working"',
    sections: [
      {
        activityTitle: "Miguel Garcie",
        activitySubtitle: "9/13/2016, 11:46am",
        activityImage:
          "https://connectorsdemo.azurewebsites.net/images/MSC12_Oscar_002.jpg",
        text: "There is a problem with Push notifications, they don't seem to be picked up by the connector.",
      },
    ],
  });
})();

Credits go out to Slack. I took her Webhook lib as a template for this API.