<extensionManifest><groupId>org.apache.nifi</groupId><artifactId>nifi-slack-nar</artifactId><version>1.22.0</version><systemApiVersion>1.22.0</systemApiVersion><buildInfo><tag>nifi-1.22.0-RC1</tag><branch>UNKNOWN</branch><revision>71e3ea9</revision></buildInfo><extensions><extension><name>org.apache.nifi.processors.slack.PostSlack</name><type>PROCESSOR</type><description>Sends a message on Slack. The FlowFile content (e.g. an image) can be uploaded and attached to the message.</description><tags><tag>slack</tag><tag>post</tag><tag>notify</tag><tag>upload</tag><tag>message</tag></tags><properties><property><name>post-message-url</name><displayName>Post Message URL</displayName><description>Slack Web API URL for posting text messages to channels. It only needs to be changed if Slack changes its API URL.</description><defaultValue>https://slack.com/api/chat.postMessage</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>file-upload-url</name><displayName>File Upload URL</displayName><description>Slack Web API URL for uploading files to channels. It only needs to be changed if Slack changes its API URL.</description><defaultValue>https://slack.com/api/files.upload</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>access-token</name><displayName>Access Token</displayName><description>OAuth Access Token used for authenticating/authorizing the Slack request sent by NiFi.</description><required>true</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>channel</name><displayName>Channel</displayName><description>Slack channel, private group, or IM channel to send the message to.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>text</name><displayName>Text</displayName><description>Text of the Slack message to send. Only required if no attachment has been specified and 'Upload File' has been set to 'No'.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>upload-flowfile</name><displayName>Upload FlowFile</displayName><description>Whether or not to upload and attach the FlowFile content to the Slack message.</description><defaultValue>false</defaultValue><allowableValues><allowableValue><displayName>Yes</displayName><value>true</value><description>Upload and attach FlowFile content to the Slack message.</description></allowableValue><allowableValue><displayName>No</displayName><value>false</value><description>Don't upload and attach FlowFile content to the Slack message.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>file-title</name><displayName>File Title</displayName><description>Title of the file displayed in the Slack message. The property value will only be used if 'Upload FlowFile' has been set to 'Yes'.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>file-name</name><displayName>File Name</displayName><description>Name of the file to be uploaded. The property value will only be used if 'Upload FlowFile' has been set to 'Yes'. If the property evaluated to null or empty string, then the file name will be set to 'file' in the Slack message.</description><defaultValue>${filename}</defaultValue><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>file-mime-type</name><displayName>File Mime Type</displayName><description>Mime type of the file to be uploaded. The property value will only be used if 'Upload FlowFile' has been set to 'Yes'. If the property evaluated to null or empty string, then the mime type will be set to 'application/octet-stream' in the Slack message.</description><defaultValue>${mime.type}</defaultValue><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><dynamicProperties><dynamicProperty><name>&lt;Arbitrary name&gt;</name><value>JSON snippet specifying a Slack message "attachment"</value><description>The property value will be converted to JSON and will be added to the array of attachments in the JSON payload being sent to Slack. The property name will not be used by the processor.</description><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope></dynamicProperty></dynamicProperties><relationships><relationship><name>success</name><description>FlowFiles are routed to success after being successfully sent to Slack</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>FlowFiles are routed to failure if unable to be sent to Slack</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>slack.file.url</name><description>The Slack URL of the uploaded file. It will be added if 'Upload FlowFile' has been set to 'Yes'.</description></writesAttribute></writesAttributes><inputRequirement>INPUT_REQUIRED</inputRequirement></extension><extension><name>org.apache.nifi.processors.slack.PutSlack</name><type>PROCESSOR</type><description>Sends a message to your team on slack.com</description><tags><tag>put</tag><tag>slack</tag><tag>notify</tag></tags><properties><property><name>webhook-url</name><displayName>Webhook URL</displayName><description>The POST URL provided by Slack to send messages into a channel.</description><required>true</required><sensitive>true</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>webhook-text</name><displayName>Webhook Text</displayName><description>The text sent in the webhook message</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>channel</name><displayName>Channel</displayName><description>A public channel using #channel or direct message using @username. If not specified, the default webhook channel as specified in Slack's Incoming Webhooks web interface is used.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>username</name><displayName>Username</displayName><description>The displayed Slack username</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>icon-url</name><displayName>Icon URL</displayName><description>Icon URL to be used for the message</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>icon-emoji</name><displayName>Icon Emoji</displayName><description>Icon Emoji to be used for the message. Must begin and end with a colon, e.g. :ghost:</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><dynamicProperties><dynamicProperty><name>A JSON object to add to Slack's "attachments" JSON payload.</name><value>JSON-formatted string to add to Slack's payload JSON appended to the "attachments" JSON array.</value><description>Converts the contents of each value specified by the Dynamic Property's value to JSON and appends it to the payload being sent to Slack.</description><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope></dynamicProperty></dynamicProperties><relationships><relationship><name>success</name><description>FlowFiles are routed to success after being successfully sent to Slack</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>FlowFiles are routed to failure if unable to be sent to Slack</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes></writesAttributes><inputRequirement>INPUT_REQUIRED</inputRequirement></extension></extensions></extensionManifest>