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:

  • created
  • updated
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:

  • To ingest the latest version of the file that exists in OneDrive use the default value (Latest).
  • To ingest the version that was attached to the message, and ignore any subsequent changes made to the attachment in OneDrive, set this property to Matching.
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.