https://github.com/waigel/node-ms-teams-webhook
Microsoft Teams webhook
https://github.com/waigel/node-ms-teams-webhook
Last synced: about 1 year ago
JSON representation
Microsoft Teams webhook
- Host: GitHub
- URL: https://github.com/waigel/node-ms-teams-webhook
- Owner: waigel
- License: apache-2.0
- Created: 2019-10-03T18:36:46.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2024-05-19T01:32:07.000Z (about 2 years ago)
- Last Synced: 2024-05-19T02:32:05.987Z (about 2 years ago)
- Language: TypeScript
- Homepage:
- Size: 75.2 KB
- Stars: 2
- Watchers: 2
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
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
```shell
$ 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:
```javascript
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:
```typescript
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()`.
```typescript
(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](https://github.com/slackapi/node-slack-sdk/blob/master/packages/webhook/README.md) as a template for this API.