MicrosoftTeamsEventsProcessor
The Microsoft Graph API allows you to register event handlers, so that notifications are sent to a web server when various events take place. The MicrosoftTeamsEventsProcessor is a NiFi Ingest processor that handles these events.
The processor supports the following Graph API subscriptions:
- Organization-wide channel messages
- Organization-wide chat messages
- User-specific chat messages (supports multiple users)
There are many use cases for this processor - for example you could use it to ingest new messages as soon as they are created (real-time ingestion), rather than having a connector retrieve messages at regular intervals. You can also use the processor to create a Microsoft Teams automated bot by intercepting messages and then providing suitable responses.
To receive notifications from Microsoft, you must have a public-facing web server with a trusted SSL certificate. The MicrosoftTeamsEventsProcessor starts its own web server but you must provide the certificate, and you might want to set up a reverse proxy.
The processor produces FlowFile documents that are compatible with the Microsoft Teams connector processors for created/updated/deleted messages and replies. To retrieve attachments and call recordings, route the FlowFiles to a ListMicrosoftTeams processor (to obtain the relevant identifiers) followed by a FetchMicrosoftTeams processor (to obtain the binary files).
Properties
| Name | Description |
|---|---|
| IDOL License Service |
An IdolLicenseServiceImpl that provides a way to communicate with a Knowledge Discovery License Server. |
| Event Types |
A comma-separated list of event types to request from Microsoft Teams:
|
| Event Web Server Host | The processor starts a web server to receive event notifications from Microsoft. This parameter specifies the host name to bind to. |
| Event Web Server Port | The processor starts a web server to receive event notifications from Microsoft. This parameter specifies the port number to use. |
| OAuth site name | The processor must be able to use the Microsoft Graph API. To configure OAuth authentication, right-click the processor and click Advanced, and then follow the instructions on the GUIDED SETUP tab. |
| OAuth sites file | The processor must be able to use the Microsoft Graph API. To configure OAuth authentication, right-click the processor and click Advanced, and then follow the instructions on the GUIDED SETUP tab. |
| Proxy Configuration Service | A ProxyConfigurationServiceImpl to use when connecting to the Microsoft Graph API. The processor has to register the Event Web Server with Microsoft. |
| SSL Config Service | An IdolSSLConfigServiceImpl to use to configure the SSL settings for the Event Web Server. The web server must have a trusted SSL certificate (not a self-signed certificate). |
| Attachment version |
Specifies which version of an attachment to ingest:
|
| Chat User IDs | Chat member user identifiers. To process chats for all users, leave this property unset. |
| Event Web Server Max Request Size | The maximum size (in bytes) for incoming requests to the web server. |
| Event Web Server Threads | The number of threads to use for processing incoming requests. |
| Event Web Server Trace Logging Enabled | To log debug-level information about incoming requests, set this property to TRUE. |
| Event Web Server Use SSL | To configure the events web server to accept secure connections, set this property to TRUE. |
| License model | The license model that you want to use. Some parts of the Teams API have additional requirements, including payment to Microsoft for using certain features. |
| Process Channels | Specifies whether to monitor channels. |
| Process Chats | Specifies whether to monitor chats. |
| Receiver Expiry | If the Receiver URL is not available for this time duration, Microsoft removes the subscription (no further events are sent). |
| Receiver URL | The URL for Microsoft to send events to. |
Relationships
| Name | Description |
|---|---|
| created | FlowFiles that represent something being created in Microsoft Teams. |
| updated | FlowFiles that represent something being updated in Microsoft Teams. |
| success | Successfully handled ProcessEvent FlowFiles. |
| failure | Unsuccessfully handled ProcessEvent FlowFiles. |