N
Novu6mo ago
akshaj

Onboarding different MS Team organizations and their users on Novu

I am using Novu for integrating a SaaS application for MS Teams notifications. Webhook URLs is what are needed for individual users to get personalised notifications. What is the process of getting all these users' webhook URLs when onboarding different organizations on my notification server. Industry practice for onboarding different organizations and their employee's as my applications users. This way new users can be onboarded, existing ones can be added in bulk.
5 Replies
Ask Inkeep
Ask Inkeep6mo ago
Hi @akshaj, I'm an AI assistant for Novu. While a team member reviews this question, I'll see if I can find relevant sources for your question. ----------------------------- While I generate an answer, here are some sources that might be helpful: * MS Teams * Zulip * Email Webhook * Overview ----------------------------- Answer For integrating MS Teams notifications with Novu, the process involves obtaining a webhook URL for each channel where you want to send messages. This webhook URL serves as the credential for sending notifications to that specific channel. Here's a general overview of the steps required to onboard MS Teams channels for different organizations: 1. Obtaining MS Teams Webhook URL: For each MS Teams channel you wish to send notifications to, you need to obtain a webhook URL. This is done within MS Teams: - Go to the channel settings by clicking on the three dots next to the channel name. - Select ‘Connectors’ and then find ‘Incoming Webhook’. - Configure the webhook by setting a name and creating it, which generates the webhook URL (1) . 2. Connecting Subscribers to MS Teams: With the webhook URL, you then update the subscriber's details in Novu to include this URL, using the Novu API or one of the provided SDKs. For example, using the @novu/node library, you can set the credentials for a subscriber like this:
import { Novu, ChatProviderIdEnum } from '@novu/node';

const novu = new Novu("<NOVU_API_KEY>");

await novu.subscribers.setCredentials('subscriberId', ChatProviderIdEnum.MsTeams, {
webhookUrl: "<WEBHOOK_URL>",
});

import { Novu, ChatProviderIdEnum } from '@novu/node';

const novu = new Novu("<NOVU_API_KEY>");

await novu.subscribers.setCredentials('subscriberId', ChatProviderIdEnum.MsTeams, {
webhookUrl: "<WEBHOOK_URL>",
});

Ask Inkeep
Ask Inkeep6mo ago
This associates the MS Teams channel with a subscriber in Novu, allowing you to send notifications to this channel. For onboarding different organizations and their users, you would repeat these steps for each new MS Teams channel you want to integrate with. This process allows for personalized notifications to be sent to individual or multiple users within different organizations. Bulk addition of users or channels isn't directly covered in the provided sources, but typically, for bulk operations, you would automate the steps above, iterating over a list of channels or users you want to onboard and programmatically setting their webhook URLs in Novu. Remember, for more specific implementations or if you're using a different programming language, you'd want to refer to Novu's documentation or the SDK corresponding to your tech stack for exact methods and functionalities.
Sources [1] MS Teams
Pawan Jain
Pawan Jain6mo ago
@akshaj when user will install your app, then webhook url is generated. At that time, subscriber credentials can be updated
akshaj
akshaj6mo ago
Do I need to go check MS Teams functionality as to how I can onboard different organizations and their members? Or there is a way in Novu like: 1. Using the organization endpoint for MS Teams, I can get a list of webhook URL's 2. Using the users email address, I can get the webhook URL for each user and do a bulk onboard?
Pawan Jain
Pawan Jain6mo ago
@akshaj As the webhook URL is generated while the app is installed, I don't think so there is a way to list all users and bulk update This flow might be helpful for you 🙂
No description
Want results from more Discord servers?
Add your server