Sensitive Property: trueReply Monitor Window | Reply Monitor Window | 7 days | | After consuming all messages in a given channel, this Processor will periodically poll all "threaded messages", aka Replies, whose timestamp is between now and this amount of time in the past in order to check for any new replies. Setting this value to a larger value may result in additional resource use and may result in Rate Limiting. However, if a user replies to an old thread that was started outside of this window, the reply may not be captured. |
Reply Monitor Frequency | Reply Monitor Frequency | 5 mins | | After consuming all messages in a given channel, this Processor will periodically poll all "threaded messages", aka Replies, whose timestamp falls between now and the amount of time specified by the <Reply Monitor Window> property. This property determines how frequently those messages are polled. Setting the value to a shorter duration may result in replies to messages being captured more quickly, providing a lower latency. However, it will also result in additional resource use and could trigger Rate Limiting to occur. |
Batch Size | Batch Size | 100 | | The maximum number of messages to retrieve in a single request to Slack. The entire response will be parsed into memory, so it is important that this be kept in mind when setting this value. |
Resolve Usernames | Resolve Usernames | true | | Specifies whether or not User IDs should be resolved to usernames. By default, Slack Messages provide the ID of the user that sends a message, such as U0123456789, but not the username, such as NiFiUser. The username may be resolved, but it may require additional calls to the Slack API and requires that the Token used be granted the users:read scope. If set to true, usernames will be resolved with a best-effort policy: if a username cannot be obtained, it will be skipped over. Also, note that when a username is obtained, the Message's <username> field is populated, and the <text> field is updated such that any mention will be output such as "Hi @user" instead of "Hi <@U1234567>". |
Include Message Blocks | Include Message Blocks | false | | Specifies whether or not the output JSON should include the value of the 'blocks' field for each Slack Message. This field includes information such as individual parts of a message that are formatted using rich text. This may be useful, for instance, for parsing. However, it often accounts for a significant portion of the data and as such may be set to null when it is not useful to you. |
Include Null Fields | Include Null Fields | true | | Specifies whether or not fields that have null values should be included in the output JSON. If true, any field in a Slack Message that has a null value will be included in the JSON with a value of null. If false, the key omitted from the output JSON entirely. Omitting null values results in smaller messages that are generally more efficient to process, but including the values may provide a better understanding of the format, especially for schema inference. |
Relationships:
Name | Description |
---|
success | Slack messages that are successfully received will be routed to this relationship |
Reads Attributes:
None specified.Writes Attributes:
Name | Description |
---|
slack.channel.id | The ID of the Slack Channel from which the messages were retrieved |
slack.message.count | The number of slack messages that are included in the FlowFile |
mime.type | Set to application/json, as the output will always be in JSON format |
State management:
Scope | Description |
---|
CLUSTER | Maintains a mapping of Slack Channel IDs to the timestamp of the last message that was retrieved for that channel. This allows the processor to only retrieve messages that have been posted since the last time the processor was run. This state is stored in the cluster so that if the Primary Node changes, the new node will pick up where the previous node left off. |
Restricted:
This component is not restricted.Input requirement:
This component does not allow an incoming relationship.System Resource Considerations:
None specified.See Also:
ListenSlack