ms-teams-webhook
v2.2.2
Published
Library for using the Microsoft Teams Incomming Webhooks
Downloads
140,101
Maintainers
Readme
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.