<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Filters on Dripline Documentation</title><link>https://matrix86.github.io/driplane/en/doc/filters/</link><description>Recent content in Filters on Dripline Documentation</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Thu, 17 Sep 2020 11:30:11 +0200</lastBuildDate><atom:link href="https://matrix86.github.io/driplane/en/doc/filters/index.xml" rel="self" type="application/rss+xml"/><item><title>JS</title><link>https://matrix86.github.io/driplane/en/doc/filters/js/</link><pubDate>Wed, 16 Sep 2020 22:38:02 +0200</pubDate><guid>https://matrix86.github.io/driplane/en/doc/filters/js/</guid><description/></item><item><title>LLM</title><link>https://matrix86.github.io/driplane/en/doc/filters/llm/</link><pubDate>Fri, 06 Mar 2026 00:00:00 +0000</pubDate><guid>https://matrix86.github.io/driplane/en/doc/filters/llm/</guid><description>&lt;h2 id="llm"&gt;LLM&lt;/h2&gt;
&lt;p&gt;This filter sends the received &lt;code&gt;Message&lt;/code&gt; to a Large Language Model (LLM) and propagates the response. It uses &lt;a href="https://github.com/mozilla-ai/any-llm-go" target="_blank"&gt;any-llm-go&lt;/a&gt; to support multiple LLM providers through a unified interface.&lt;/p&gt;
&lt;p&gt;Both the &lt;code&gt;prompt&lt;/code&gt; and &lt;code&gt;system_prompt&lt;/code&gt; parameters support &lt;a href="https://matrix86.github.io/driplane/en/doc/rules/templates/"&gt;templates&lt;/a&gt;, allowing you to dynamically compose prompts using the &lt;code&gt;main&lt;/code&gt; field and any extra fields of the incoming &lt;code&gt;Message&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id="supported-providers"&gt;Supported Providers&lt;/h3&gt;
&lt;p&gt;OpenAI, Anthropic, Ollama, DeepSeek, Groq, Mistral, Gemini, llama.cpp, Llamafile.&lt;/p&gt;
&lt;h3 id="parameters"&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;model&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;(required)&lt;/strong&gt; The model name to use (e.g. &lt;code&gt;&amp;quot;gpt-4&amp;quot;&lt;/code&gt;, &lt;code&gt;&amp;quot;claude-3-opus-20240229&amp;quot;&lt;/code&gt;, &lt;code&gt;&amp;quot;llama3&amp;quot;&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;prompt&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;(required)&lt;/strong&gt; The user prompt sent to the LLM. Supports &lt;a href="https://matrix86.github.io/driplane/en/doc/rules/templates/"&gt;templates&lt;/a&gt; with &lt;code&gt;Message&lt;/code&gt; fields&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;system_prompt&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;empty&lt;/td&gt;
&lt;td&gt;An optional system prompt. Supports &lt;a href="https://matrix86.github.io/driplane/en/doc/rules/templates/"&gt;templates&lt;/a&gt; with &lt;code&gt;Message&lt;/code&gt; fields&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;provider&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;openai&amp;rdquo;&lt;/td&gt;
&lt;td&gt;The LLM provider to use: &lt;code&gt;openai&lt;/code&gt;, &lt;code&gt;anthropic&lt;/code&gt;, &lt;code&gt;ollama&lt;/code&gt;, &lt;code&gt;deepseek&lt;/code&gt;, &lt;code&gt;groq&lt;/code&gt;, &lt;code&gt;mistral&lt;/code&gt;, &lt;code&gt;gemini&lt;/code&gt;, &lt;code&gt;llamacpp&lt;/code&gt;, &lt;code&gt;llamafile&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;api_key&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;empty&lt;/td&gt;
&lt;td&gt;API key for the provider (required for cloud providers like OpenAI, Anthropic, etc.)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;api_url&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;empty&lt;/td&gt;
&lt;td&gt;Custom base URL for the API endpoint (useful for proxies or self-hosted instances)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;target&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;main&amp;rdquo;&lt;/td&gt;
&lt;td&gt;The field of the &lt;code&gt;Message&lt;/code&gt; where the LLM response will be stored. Use &lt;code&gt;&amp;quot;main&amp;quot;&lt;/code&gt; to replace the message content, or any other name to set an extra field&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;temperature&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;FLOAT&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;0.7&lt;/td&gt;
&lt;td&gt;Sampling temperature for the model (higher values produce more random output)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;max_tokens&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;INT&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;1024&lt;/td&gt;
&lt;td&gt;Maximum number of tokens to generate in the response&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="notices info" data-title="Example"&gt;
&lt;code&gt;... | llm(model=&amp;quot;gpt-4&amp;quot;, prompt=&amp;quot;Summarize: {{ .main }}&amp;quot;, api_key=&amp;quot;sk-...&amp;quot;, provider=&amp;quot;openai&amp;quot;) | ...&lt;/code&gt;
&lt;/div&gt;
&lt;h3 id="output"&gt;Output&lt;/h3&gt;
&lt;p&gt;The LLM response text is placed in the field specified by &lt;code&gt;target&lt;/code&gt; (default: &lt;code&gt;main&lt;/code&gt;). The following extra fields are set on the output &lt;code&gt;Message&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>Telegram</title><link>https://matrix86.github.io/driplane/en/doc/filters/telegram/</link><pubDate>Sat, 10 Feb 2024 23:02:24 +0200</pubDate><guid>https://matrix86.github.io/driplane/en/doc/filters/telegram/</guid><description>&lt;h2 id="telegram"&gt;Telegram&lt;/h2&gt;
&lt;p&gt;This filter allows you to download files received from the Telegram feeder or send messages.&lt;br /&gt;
Note: it can be used only in a rule with the Telegram Feeder.&lt;/p&gt;
&lt;h3 id="parameters"&gt;Parameters&lt;/h3&gt;
&lt;p&gt;The following parameters are required from this filter:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;action&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;send_message&amp;rdquo;&lt;/td&gt;
&lt;td&gt;action to perform: &amp;ldquo;send_message&amp;rdquo;, &amp;ldquo;download_file&amp;rdquo;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;to&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;quot;&amp;quot;&lt;/td&gt;
&lt;td&gt;used with action &lt;code&gt;send_message&lt;/code&gt;, it has to contain the recipient of the message: username, @username, phone number with the country code (supports &lt;a href="https://matrix86.github.io/driplane/en/doc/rules/templates/"&gt;templates&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;to_chatid&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;empty&lt;/td&gt;
&lt;td&gt;the recipient of the message will be a chat&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;filename&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;quot;&amp;quot;&lt;/td&gt;
&lt;td&gt;specified the path of where to store the downloaded file: &lt;code&gt;msg_filename&lt;/code&gt; in the extra will contain the name of the file (supports &lt;a href="https://matrix86.github.io/driplane/en/doc/rules/templates/"&gt;templates&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;text&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;quot;&amp;quot;&lt;/td&gt;
&lt;td&gt;the text of the file (supports &lt;a href="https://matrix86.github.io/driplane/en/doc/rules/templates/"&gt;templates&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Each &lt;code&gt;action&lt;/code&gt; can use different parameters:&lt;/p&gt;</description></item><item><title>XLS</title><link>https://matrix86.github.io/driplane/en/doc/filters/xls/</link><pubDate>Thu, 16 Nov 2023 20:08:45 +0200</pubDate><guid>https://matrix86.github.io/driplane/en/doc/filters/xls/</guid><description>&lt;h2 id="xls"&gt;XLS&lt;/h2&gt;
&lt;p&gt;This filter allows you to extract all the rows from a Excel file.&lt;br /&gt;
&lt;em&gt;Based on the &lt;a href="https://github.com/qax-os/excelize" target="_blank"&gt;qax-os/excelize&lt;/a&gt; library.&lt;/em&gt;&lt;/p&gt;
&lt;h3 id="parameters"&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;target&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;main&amp;rdquo;&lt;/td&gt;
&lt;td&gt;the field of the Message that should be used for the filter (it could be the &lt;code&gt;main&lt;/code&gt; or and extra field)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;filename&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;empty&lt;/td&gt;
&lt;td&gt;the filename of the XLS file to parse (supports &lt;a href="https://matrix86.github.io/driplane/en/doc/rules/templates/"&gt;templates&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="notices info" data-title="Example"&gt;
&lt;code&gt;... | xls(target=&amp;quot;{{ .extra_field }}&amp;quot;) | ...&lt;/code&gt;
&lt;/div&gt;
&lt;div class="notices warning" data-title="Attention"&gt;
The &lt;code&gt;filename&lt;/code&gt; field override the &lt;code&gt;target&lt;/code&gt;. They are mutually exclusive, so you can specify only one of them.
&lt;/div&gt;
&lt;h3 id="output"&gt;Output&lt;/h3&gt;
&lt;p&gt;The filter produces one Message for each row of the XLS file.&lt;/p&gt;</description></item><item><title>RateLimit</title><link>https://matrix86.github.io/driplane/en/doc/filters/ratelimit/</link><pubDate>Tue, 31 Jan 2023 18:50:23 +0200</pubDate><guid>https://matrix86.github.io/driplane/en/doc/filters/ratelimit/</guid><description>&lt;h2 id="ratelimit"&gt;RateLimit&lt;/h2&gt;
&lt;p&gt;This filter allows you to set a rate limit on the messages that can go through it. So for example if we don&amp;rsquo;t want to limit the number of messages in a pipe to 5 messages per second we just to set the parameter &lt;code&gt;rate&lt;/code&gt; to 5.&lt;/p&gt;
&lt;h3 id="parameters"&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;rate&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;0&amp;rdquo;&lt;/td&gt;
&lt;td&gt;how many event per second you want to have as rate limiter&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="notices info" data-title="Example"&gt;
&lt;code&gt;... | ratelimit(rate=&amp;quot;5&amp;quot;) | ...&lt;/code&gt;
&lt;/div&gt;
&lt;h3 id="output"&gt;Output&lt;/h3&gt;
&lt;p&gt;The filter will slow down the rate of the messages as specified on the parameter &lt;code&gt;rate&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Json</title><link>https://matrix86.github.io/driplane/en/doc/filters/json/</link><pubDate>Sun, 29 Jan 2023 18:57:01 +0200</pubDate><guid>https://matrix86.github.io/driplane/en/doc/filters/json/</guid><description>&lt;h2 id="json"&gt;Json&lt;/h2&gt;
&lt;p&gt;This filter is used to extract information from a JSON doc received through the Message.&lt;br /&gt;
It is possible to use XPath query for JSON specifying a selector to search in the doc and extract data (it uses &lt;a href="https://github.com/antchfx/jsonquery" target="_blank"&gt;jsonquery&lt;/a&gt;).&lt;/p&gt;
&lt;h3 id="parameters"&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;target&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;main&amp;rdquo;&lt;/td&gt;
&lt;td&gt;the field of the Message that should be used for the filter (it could be main or an extra field)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;selector&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;quot;&amp;quot;&lt;/td&gt;
&lt;td&gt;the selector to find the data in the JSON&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="notices info" data-title="Example"&gt;
&lt;code&gt;... | json(selector=&amp;quot;id&amp;quot;, target=&amp;quot;doc&amp;quot;) | ...&lt;/code&gt;
&lt;/div&gt;
&lt;h3 id="output"&gt;Output&lt;/h3&gt;
&lt;p&gt;The filter will generate one or more Messages. It is possible to use more than 1 time this filter.&lt;br /&gt;
The field &lt;code&gt;fulltext&lt;/code&gt; will contain the original &lt;code&gt;target&lt;/code&gt; string.&lt;/p&gt;</description></item><item><title>Html</title><link>https://matrix86.github.io/driplane/en/doc/filters/html/</link><pubDate>Tue, 19 Jul 2022 23:38:02 +0200</pubDate><guid>https://matrix86.github.io/driplane/en/doc/filters/html/</guid><description>&lt;h2 id="html"&gt;Html&lt;/h2&gt;
&lt;p&gt;This filter is used to extract information from an HTML page received through the Message.&lt;br /&gt;
Like jQuery for JS, we can set a selector to find in the page, extract text from the tags and the html content (we are using &lt;a href="https://github.com/PuerkitoBio/goquery" target="_blank"&gt;goquery library&lt;/a&gt; under the hood).&lt;/p&gt;
&lt;h3 id="parameters"&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;target&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;main&amp;rdquo;&lt;/td&gt;
&lt;td&gt;the field of the Message that should be used for the filter (it could be main or an extra field)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;selector&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;quot;&amp;quot;&lt;/td&gt;
&lt;td&gt;the selector to find in the HTML page&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;get&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;html&amp;rdquo;&lt;/td&gt;
&lt;td&gt;what do we want to retrieve on the tags found in the selected one: &lt;code&gt;html&lt;/code&gt;, &lt;code&gt;text&lt;/code&gt;, &lt;code&gt;attr&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;attr&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;quot;&amp;quot;&lt;/td&gt;
&lt;td&gt;if get is &lt;code&gt;attr&lt;/code&gt; you can define what attr name it should extract&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="notices info" data-title="Example"&gt;
&lt;code&gt;... | html(selector=&amp;quot;.link&amp;quot;, get=&amp;quot;attr&amp;quot;, attr=&amp;quot;href&amp;quot;) | ...&lt;/code&gt;
&lt;/div&gt;
&lt;h3 id="output"&gt;Output&lt;/h3&gt;
&lt;p&gt;The filter will generate one or more Messages. It is possible to use more than 1 time this filter.&lt;br /&gt;
The field &lt;code&gt;fulltext&lt;/code&gt; will contain the original &lt;code&gt;target&lt;/code&gt; string.&lt;/p&gt;</description></item><item><title>Elasticsearch</title><link>https://matrix86.github.io/driplane/en/doc/filters/elasticsearch/</link><pubDate>Sat, 12 Mar 2022 15:40:23 +0100</pubDate><guid>https://matrix86.github.io/driplane/en/doc/filters/elasticsearch/</guid><description>&lt;h2 id="elasticsearch"&gt;ElasticSearch&lt;/h2&gt;
&lt;p&gt;This filter writes on ElasticSearch all the message it receives as input and return as output the document ID.&lt;br /&gt;
You can also specify what message&amp;rsquo;s field it should use as input.&lt;/p&gt;
&lt;h3 id="parameters"&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;target&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;main&amp;rdquo;&lt;/td&gt;
&lt;td&gt;the field of the Message that should be used for filter&amp;rsquo;s output (it could be main or an extra field)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="notices info" data-title="Example"&gt;
&lt;code&gt;... | elasticsearch(target=&amp;quot;input_field&amp;quot;) | ...&lt;/code&gt;
&lt;/div&gt;
&lt;h3 id="output"&gt;Output&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;main&lt;/code&gt; field will contain the docID returned by ElasticSearch.&lt;/p&gt;</description></item><item><title>File</title><link>https://matrix86.github.io/driplane/en/doc/filters/file/</link><pubDate>Sat, 12 Mar 2022 15:33:42 +0100</pubDate><guid>https://matrix86.github.io/driplane/en/doc/filters/file/</guid><description>&lt;h2 id="file"&gt;File&lt;/h2&gt;
&lt;p&gt;This filter get as input the path of a local file, read it and return the content back to the pipeline.&lt;/p&gt;
&lt;h3 id="parameters"&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;target&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;main&amp;rdquo;&lt;/td&gt;
&lt;td&gt;the field of the Message that should be used for filter&amp;rsquo;s output (it could be main or an extra field)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="notices info" data-title="Example"&gt;
&lt;code&gt;... | file(target=&amp;quot;file_content&amp;quot;) | ...&lt;/code&gt;
&lt;/div&gt;
&lt;h3 id="output"&gt;Output&lt;/h3&gt;
&lt;p&gt;The output will contain the content of the read file. Using the &lt;code&gt;target&lt;/code&gt; parameter you can specify the output field&amp;rsquo;s name.&lt;/p&gt;</description></item><item><title>Striptag</title><link>https://matrix86.github.io/driplane/en/doc/filters/striptag/</link><pubDate>Thu, 01 Jul 2021 15:35:53 +0200</pubDate><guid>https://matrix86.github.io/driplane/en/doc/filters/striptag/</guid><description>&lt;h2 id="striptag"&gt;StripTag&lt;/h2&gt;
&lt;p&gt;This filter is used to remove all the HTML tags from a string.&lt;/p&gt;
&lt;h3 id="parameters"&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;target&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;main&amp;rdquo;&lt;/td&gt;
&lt;td&gt;the field of the Message that should be used for the filter (it could be main or an extra field)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="notices info" data-title="Example"&gt;
&lt;code&gt;... | striptag(target=&amp;quot;main&amp;quot;) | ...&lt;/code&gt;
&lt;/div&gt;
&lt;h3 id="output"&gt;Output&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;main&lt;/code&gt; of the output &lt;code&gt;Message&lt;/code&gt; will have the text extracted from the &lt;code&gt;target&lt;/code&gt; config, stripped by all the HTML tags.&lt;/p&gt;</description></item><item><title>Slack</title><link>https://matrix86.github.io/driplane/en/doc/filters/slack/</link><pubDate>Mon, 12 Oct 2020 19:38:02 +0200</pubDate><guid>https://matrix86.github.io/driplane/en/doc/filters/slack/</guid><description>&lt;h2 id="slack"&gt;Slack&lt;/h2&gt;
&lt;p&gt;This filter allows you to send files, messages and download files from Slack.&lt;br /&gt;
It can be used alone or with the Slack Feeder to create a simple Slack bot for events API.&lt;/p&gt;
&lt;h3 id="parameters"&gt;Parameters&lt;/h3&gt;
&lt;p&gt;The following parameters are required from this filter:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;action&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;send_message&amp;rdquo;&lt;/td&gt;
&lt;td&gt;action to perform: &amp;ldquo;send_message&amp;rdquo;, &amp;ldquo;send_file&amp;rdquo;, &amp;ldquo;download_file&amp;rdquo;, &amp;ldquo;user_info&amp;rdquo;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;token&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;quot;&amp;quot;&lt;/td&gt;
&lt;td&gt;Slack bot Token&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Each &lt;code&gt;action&lt;/code&gt; can use different parameters:&lt;/p&gt;
&lt;h4 id="action--send_message"&gt;action = send_message&lt;/h4&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;to&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;quot;&amp;quot;&lt;/td&gt;
&lt;td&gt;channel ID or User ID that should receive the message (supports &lt;a href="https://matrix86.github.io/driplane/en/doc/rules/templates/"&gt;templates&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;target&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;main&amp;rdquo;&lt;/td&gt;
&lt;td&gt;if &lt;code&gt;text&lt;/code&gt; is not used you can choose which field of &lt;code&gt;Message&lt;/code&gt; to use as text&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;text&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;quot;&amp;quot;&lt;/td&gt;
&lt;td&gt;you can define the text of the message to send (supports &lt;a href="https://matrix86.github.io/driplane/en/doc/rules/templates/"&gt;templates&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;blocks&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;BOOL&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;false&lt;/td&gt;
&lt;td&gt;if true you can use the Slack template blocks (&lt;a href="https://api.slack.com/tools/block-kit-builder" target="_blank"&gt;block builder&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="action--send_file"&gt;action = send_file&lt;/h4&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;to&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;quot;&amp;quot;&lt;/td&gt;
&lt;td&gt;channel ID or User ID that should receive the message (supports &lt;a href="https://matrix86.github.io/driplane/en/doc/rules/templates/"&gt;templates&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;target&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;main&amp;rdquo;&lt;/td&gt;
&lt;td&gt;if &lt;code&gt;filename&lt;/code&gt; is not specified you can choose which field of &lt;code&gt;Message&lt;/code&gt; has to be used as file content to send&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;filename&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;quot;&amp;quot;&lt;/td&gt;
&lt;td&gt;path of the file to send (supports &lt;a href="https://matrix86.github.io/driplane/en/doc/rules/templates/"&gt;templates&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="action--download_file"&gt;action = download_file&lt;/h4&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;url&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;quot;&amp;quot;&lt;/td&gt;
&lt;td&gt;it should contain the Slack private url for the file download (supports &lt;a href="https://matrix86.github.io/driplane/en/doc/rules/templates/"&gt;templates&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;target&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;urlprivate&amp;rdquo;&lt;/td&gt;
&lt;td&gt;if &lt;code&gt;url&lt;/code&gt; is not specified you can choose which field of &lt;code&gt;Message&lt;/code&gt; contains the Slack private url&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;filename&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;quot;&amp;quot;&lt;/td&gt;
&lt;td&gt;path of where to save the downloaded file. If not specified the file content will be inserted in the &lt;code&gt;main&lt;/code&gt; field (supports &lt;a href="https://matrix86.github.io/driplane/en/doc/rules/templates/"&gt;templates&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="action--user_info"&gt;action = user_info&lt;/h4&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;target&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;user&amp;rdquo;&lt;/td&gt;
&lt;td&gt;this field has to contain the USERID&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;In the output Message you can find all the user information returned by Slack:&lt;/p&gt;</description></item><item><title>Cache</title><link>https://matrix86.github.io/driplane/en/doc/filters/cache/</link><pubDate>Wed, 16 Sep 2020 22:38:02 +0200</pubDate><guid>https://matrix86.github.io/driplane/en/doc/filters/cache/</guid><description>&lt;h2 id="cache"&gt;Cache&lt;/h2&gt;
&lt;p&gt;This filter introduces a simple cache mechanism in the rule. It is a TTL based cache and it can have a local visibility (cache is only visible to the current filter) or a global visibility (cache shared across &lt;strong&gt;ALL&lt;/strong&gt; the rules).&lt;br /&gt;
If the target of the Message as input has been cached before, and his TTL is not expired, it will be dropped and not propagated to the next filter.&lt;br /&gt;
Otherwise if the target of the Message is new to the cache, it is inserted in it and propagated to the next filter.&lt;/p&gt;</description></item><item><title>Changed</title><link>https://matrix86.github.io/driplane/en/doc/filters/changed/</link><pubDate>Wed, 16 Sep 2020 22:38:02 +0200</pubDate><guid>https://matrix86.github.io/driplane/en/doc/filters/changed/</guid><description>&lt;h2 id="changed"&gt;Changed&lt;/h2&gt;
&lt;p&gt;This filter is similar to the cache. It can only stop the propagation of the Message across the lane, but only if the target of the received Message is different from the previous one.&lt;/p&gt;
&lt;h3 id="parameters"&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;target&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;main&amp;rdquo;&lt;/td&gt;
&lt;td&gt;the field of the Message that should be used for the filter (it could be main or and extra field)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="notices info" data-title="Example"&gt;
&lt;code&gt;... | changed(target=&amp;quot;original_author&amp;quot;) | ...&lt;/code&gt;
&lt;/div&gt;
&lt;h3 id="output"&gt;Output&lt;/h3&gt;
&lt;p&gt;The output is not being changed. This filter can only stop or not the propagation of the Message.&lt;/p&gt;</description></item><item><title>Echo</title><link>https://matrix86.github.io/driplane/en/doc/filters/echo/</link><pubDate>Wed, 16 Sep 2020 22:38:02 +0200</pubDate><guid>https://matrix86.github.io/driplane/en/doc/filters/echo/</guid><description>&lt;h2 id="echo"&gt;Echo&lt;/h2&gt;
&lt;p&gt;This filter prints the Message on the logs. It is mostly used to debug the rules.&lt;/p&gt;
&lt;h3 id="parameters"&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;extra&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;BOOL&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;false&amp;rdquo;&lt;/td&gt;
&lt;td&gt;print also all the extra fields&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="notices info" data-title="Example"&gt;
&lt;code&gt;... | echo(extra=&amp;quot;false&amp;quot;) | ...&lt;/code&gt;
&lt;/div&gt;
&lt;h3 id="output"&gt;Output&lt;/h3&gt;
&lt;p&gt;The output is not being changed. This filter prints the received Message and send it to the next filter in the rule.&lt;/p&gt;
&lt;h3 id="examples"&gt;Examples&lt;/h3&gt;
&lt;div class="alert alert-warning" role="alert" data-dir="ltr"&gt;Soon&amp;hellip;&lt;/div&gt;</description></item><item><title>Format</title><link>https://matrix86.github.io/driplane/en/doc/filters/format/</link><pubDate>Wed, 16 Sep 2020 22:38:02 +0200</pubDate><guid>https://matrix86.github.io/driplane/en/doc/filters/format/</guid><description>&lt;h2 id="format"&gt;Format&lt;/h2&gt;
&lt;p&gt;This filter is used to format the received Message. It is based on&lt;br /&gt;
&lt;a href="https://matrix86.github.io/driplane/en/doc/rules/templates/"&gt;Go templates&lt;/a&gt; and it can load templates from the &lt;code&gt;template_path&lt;/code&gt;&lt;br /&gt;
directory specified in the configuration file. All &lt;a href="https://matrix86.github.io/driplane/en/doc/rules/templates/#sprig-functions"&gt;Sprig functions&lt;/a&gt; are available.&lt;/p&gt;
&lt;h3 id="parameters"&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;type&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;text&amp;rdquo;&lt;/td&gt;
&lt;td&gt;specify the type of template to use : &lt;code&gt;&amp;quot;text&amp;quot;&lt;/code&gt; or &lt;code&gt;&amp;quot;html&amp;quot;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;template&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;empty&lt;/td&gt;
&lt;td&gt;a template could be specified directly here, instead of load it from file (supports &lt;a href="https://matrix86.github.io/driplane/en/doc/rules/templates/"&gt;templates&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;file&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;empty&lt;/td&gt;
&lt;td&gt;load the template from file (supports &lt;a href="https://matrix86.github.io/driplane/en/doc/rules/templates/"&gt;templates&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;target&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;main&amp;rdquo;&lt;/td&gt;
&lt;td&gt;the field of the Message that should be used for the filter (it could be main or an extra field)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;In the template is allowed to use all the fields of the received Message: main or extra.&lt;/p&gt;</description></item><item><title>Hash</title><link>https://matrix86.github.io/driplane/en/doc/filters/hash/</link><pubDate>Wed, 16 Sep 2020 22:38:02 +0200</pubDate><guid>https://matrix86.github.io/driplane/en/doc/filters/hash/</guid><description>&lt;h2 id="hash"&gt;Hash&lt;/h2&gt;
&lt;p&gt;This filter is used to search or extract hashes from a Message.&lt;br /&gt;
Supported types of hashes are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MD5&lt;/li&gt;
&lt;li&gt;SHA1&lt;/li&gt;
&lt;li&gt;SHA256&lt;/li&gt;
&lt;li&gt;SHA512&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="parameters"&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;target&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;main&amp;rdquo;&lt;/td&gt;
&lt;td&gt;the field of the Message that should be used for the filter (it could be main or an extra field)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;extract&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;BOOL&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;false&amp;rdquo;&lt;/td&gt;
&lt;td&gt;if &lt;code&gt;&amp;quot;true&amp;quot;&lt;/code&gt; the main field of the output Message will be the extracted hash&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;md5&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;BOOL&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;true&amp;rdquo;&lt;/td&gt;
&lt;td&gt;if &lt;code&gt;&amp;quot;false&amp;quot;&lt;/code&gt; md5 hashes will be ignored&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;sha1&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;BOOL&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;true&amp;rdquo;&lt;/td&gt;
&lt;td&gt;if &lt;code&gt;&amp;quot;false&amp;quot;&lt;/code&gt; sha1 hashes will be ignored&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;sha256&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;BOOL&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;true&amp;rdquo;&lt;/td&gt;
&lt;td&gt;if &lt;code&gt;&amp;quot;false&amp;quot;&lt;/code&gt; sha256 hashes will be ignored&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;sha512&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;BOOL&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;true&amp;rdquo;&lt;/td&gt;
&lt;td&gt;if &lt;code&gt;&amp;quot;false&amp;quot;&lt;/code&gt; sha512 hashes will be ignored&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="notices info" data-title="Example"&gt;
&lt;code&gt;... | hash(target=&amp;quot;description&amp;quot;, extract=&amp;quot;true&amp;quot;) | ...&lt;/code&gt;
&lt;/div&gt;
&lt;h3 id="output"&gt;Output&lt;/h3&gt;
&lt;p&gt;If the &lt;code&gt;extract&lt;/code&gt; parameter is &amp;ldquo;false&amp;rdquo;, the received Message will be propagated only if at least one hash is found in it.&lt;br /&gt;
Otherwise, if &lt;code&gt;extract&lt;/code&gt; is &amp;ldquo;true&amp;rdquo; and the Message contains one or more hashes, the &lt;code&gt;main&lt;/code&gt; field of the propagated Message will contain only the extracted hash.&lt;/p&gt;</description></item><item><title>Http</title><link>https://matrix86.github.io/driplane/en/doc/filters/http/</link><pubDate>Wed, 16 Sep 2020 22:38:02 +0200</pubDate><guid>https://matrix86.github.io/driplane/en/doc/filters/http/</guid><description>&lt;h2 id="http"&gt;HTTP&lt;/h2&gt;
&lt;p&gt;This filter allows you to send HTTP requests. When a &lt;code&gt;Message&lt;/code&gt; arrives to the filter, we can decide if use the &lt;code&gt;main&lt;/code&gt; field of the &lt;code&gt;Message&lt;/code&gt; as URL on the request, or its content for the HTTP data.&lt;br /&gt;
This behaviour can be handled with the parameters.&lt;/p&gt;
&lt;h3 id="parameters"&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;url&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;empty&lt;/td&gt;
&lt;td&gt;URL of the web page. It is possible use &lt;a href="https://matrix86.github.io/driplane/en/doc/rules/templates/"&gt;templates&lt;/a&gt; to use fields of the &lt;code&gt;Message&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;download_to&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;empty&lt;/td&gt;
&lt;td&gt;path of where to download the file. It is possible use &lt;a href="https://matrix86.github.io/driplane/en/doc/rules/templates/"&gt;templates&lt;/a&gt; to use fields of the &lt;code&gt;Message&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;text_only&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;BOOL&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;false&amp;rdquo;&lt;/td&gt;
&lt;td&gt;if &amp;ldquo;true&amp;rdquo; it removes all the tags from the body response&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;method&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;GET&amp;rdquo;&lt;/td&gt;
&lt;td&gt;HTTP method to use on the request&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;headers&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;JSON&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;empty&lt;/td&gt;
&lt;td&gt;Headers to use in the request&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;data&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;JSON&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;empty&lt;/td&gt;
&lt;td&gt;POST fields to send with the request (it&amp;rsquo;s not possible to use in combination with &lt;code&gt;rawData&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;rawData&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;empty&lt;/td&gt;
&lt;td&gt;raw body of the request (it&amp;rsquo;s not possible to use in combination with &lt;code&gt;data&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;status&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;empty&lt;/td&gt;
&lt;td&gt;the filter will propagate the Message only if the returned status has the specified value&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;cookies&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;empty&lt;/td&gt;
&lt;td&gt;Path of the JSON file containing the cookies to use&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="notices info" data-title="Example"&gt;
&lt;code&gt;... | http(url=&amp;quot;{{ .main }}&amp;quot;, cookies=&amp;quot;exported.json&amp;quot;, headers=&amp;quot;{\&amp;quot;Content-type\&amp;quot;: \&amp;quot;application/json\&amp;quot;}&amp;quot;) | ...&lt;/code&gt;
&lt;/div&gt;
&lt;h3 id="output"&gt;Output&lt;/h3&gt;
&lt;p&gt;If the request was successful, the output &lt;code&gt;Message&lt;/code&gt; will have the &lt;code&gt;main&lt;/code&gt; field set to the HTTP body response. If the &lt;code&gt;status&lt;/code&gt; is set, and the response http status is different from it, the &lt;code&gt;Message&lt;/code&gt; will be dropped.&lt;/p&gt;</description></item><item><title>Mail</title><link>https://matrix86.github.io/driplane/en/doc/filters/mail/</link><pubDate>Wed, 16 Sep 2020 22:38:02 +0200</pubDate><guid>https://matrix86.github.io/driplane/en/doc/filters/mail/</guid><description>&lt;h2 id="mail"&gt;Mail&lt;/h2&gt;
&lt;p&gt;This filter allows you to send an e-mail. When a &lt;code&gt;Message&lt;/code&gt; arrives to the filter, we can decide if use the &lt;code&gt;main&lt;/code&gt; field of the &lt;code&gt;Message&lt;/code&gt; as URL on the request, or its content for the HTTP data.&lt;br /&gt;
This behaviour can be handled with the parameters.&lt;/p&gt;
&lt;h3 id="parameters"&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;body&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;empty&lt;/td&gt;
&lt;td&gt;the body of the e-mail (supports &lt;a href="https://matrix86.github.io/driplane/en/doc/rules/templates/"&gt;templates&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;username&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;empty&lt;/td&gt;
&lt;td&gt;username for the host authentication&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;password&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;empty&lt;/td&gt;
&lt;td&gt;password for the host authentication&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;host&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;empty&lt;/td&gt;
&lt;td&gt;host server used to send the e-mail&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;port&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;empty&lt;/td&gt;
&lt;td&gt;port of the host server&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;fromAddr&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;empty&lt;/td&gt;
&lt;td&gt;source e-mail address&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;fromName&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;empty&lt;/td&gt;
&lt;td&gt;source name address&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;to&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;empty&lt;/td&gt;
&lt;td&gt;destination e-mail address (supports multi-destination, comma separated)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;subject&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;empty&lt;/td&gt;
&lt;td&gt;subject field of the e-mail to send&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;use_auth&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;BOOL&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;false&amp;rdquo;&lt;/td&gt;
&lt;td&gt;if &amp;ldquo;true&amp;rdquo; the sendmail server will receive the credentials specified in &lt;code&gt;username&lt;/code&gt; and &lt;code&gt;password&lt;/code&gt; fields&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="notices info" data-title="Example"&gt;
&lt;code&gt;... | http(url=&amp;quot;{{ .main }}&amp;quot;, cookies=&amp;quot;exported.json&amp;quot;, headers=&amp;quot;{\&amp;quot;Content-type\&amp;quot;: \&amp;quot;application/json\&amp;quot;}&amp;quot;) | ...&lt;/code&gt;
&lt;/div&gt;
&lt;div class="notices success" data-title="Remember"&gt;
Every default&amp;rsquo;s value can be set in the configuration, creating a section with the name of the&lt;code&gt;Filter&lt;/code&gt;/&lt;code&gt;Feeder&lt;/code&gt;.&lt;br /&gt;
&lt;a href="https://matrix86.github.io/configuration"&gt;more info&lt;/a&gt;
&lt;/div&gt;
&lt;h3 id="output"&gt;Output&lt;/h3&gt;
&lt;p&gt;The input &lt;code&gt;Message&lt;/code&gt; is always propagated to the next filter without changes.&lt;/p&gt;</description></item><item><title>MIME type</title><link>https://matrix86.github.io/driplane/en/doc/filters/mimetype/</link><pubDate>Wed, 16 Sep 2020 22:38:02 +0200</pubDate><guid>https://matrix86.github.io/driplane/en/doc/filters/mimetype/</guid><description>&lt;h2 id="mime-type"&gt;MIME type&lt;/h2&gt;
&lt;p&gt;This filter allows you to detect the MIME type of a file and its extension.&lt;br /&gt;
&lt;em&gt;Based on the &lt;a href="https://github.com/gabriel-vasile/mimetype" target="_blank"&gt;gabriel-vasile/mimetype&lt;/a&gt; library.&lt;/em&gt;&lt;/p&gt;
&lt;h3 id="parameters"&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;target&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;main&amp;rdquo;&lt;/td&gt;
&lt;td&gt;the field of the Message that should be used for the filter (it could be the &lt;code&gt;main&lt;/code&gt; or and extra field)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;filename&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;empty&lt;/td&gt;
&lt;td&gt;the filename of the file to detect (supports &lt;a href="https://matrix86.github.io/driplane/en/doc/rules/templates/"&gt;templates&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="notices info" data-title="Example"&gt;
&lt;code&gt;... | mime(target=&amp;quot;{{ .extra_field }}&amp;quot;) | ...&lt;/code&gt;
&lt;/div&gt;
&lt;div class="notices warning" data-title="Attention"&gt;
The &lt;code&gt;filename&lt;/code&gt; field override the &lt;code&gt;target&lt;/code&gt;. They are mutually exclusive, so you can specify only one of them.
&lt;/div&gt;
&lt;h3 id="output"&gt;Output&lt;/h3&gt;
&lt;p&gt;The propagated Message will contain the mimetype&amp;rsquo;s string in the &lt;code&gt;main&lt;/code&gt; field and the extension in the extra field &lt;code&gt;mimetype_ext&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Number</title><link>https://matrix86.github.io/driplane/en/doc/filters/number/</link><pubDate>Wed, 16 Sep 2020 22:38:02 +0200</pubDate><guid>https://matrix86.github.io/driplane/en/doc/filters/number/</guid><description>&lt;h2 id="number"&gt;Number&lt;/h2&gt;
&lt;p&gt;This filter allows you to treat a string from the input Message as numeric value and apply some operator on it (for example, check if this field contains a number greater than X).&lt;/p&gt;
&lt;h3 id="parameters"&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;target&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;main&amp;rdquo;&lt;/td&gt;
&lt;td&gt;the field of the Message that should be used for the filter (it could be main or and extra field)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;op&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;quot;&amp;quot;&lt;/td&gt;
&lt;td&gt;Compare operator to use for the numeric value (&amp;quot;&amp;gt;&amp;quot;, &amp;ldquo;&amp;gt;=&amp;rdquo;, &amp;ldquo;&amp;lt;&amp;rdquo;, &amp;ldquo;&amp;lt;=&amp;rdquo;, &amp;ldquo;!=&amp;rdquo;, &amp;ldquo;==&amp;rdquo;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;value&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;quot;&amp;quot;&lt;/td&gt;
&lt;td&gt;It has to be a numeric value and it is the number to use for the comparison&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="notices info" data-title="Example"&gt;
&lt;code&gt;... | number(target=&amp;quot;num_field&amp;quot;, op=&amp;quot;&amp;gt;=&amp;quot;, value=&amp;quot;44&amp;quot;) | ...&lt;/code&gt;
&lt;/div&gt;
&lt;h3 id="output"&gt;Output&lt;/h3&gt;
&lt;p&gt;If the comparison is verified the received Message will be propagated.&lt;/p&gt;</description></item><item><title>Override</title><link>https://matrix86.github.io/driplane/en/doc/filters/override/</link><pubDate>Wed, 16 Sep 2020 22:38:02 +0200</pubDate><guid>https://matrix86.github.io/driplane/en/doc/filters/override/</guid><description>&lt;h2 id="override"&gt;Override&lt;/h2&gt;
&lt;p&gt;This filter allows you to change a field of a Message, before sending it to the next filter. &lt;a href="https://matrix86.github.io/driplane/en/doc/rules/templates/"&gt;Templates&lt;/a&gt; with &lt;a href="https://matrix86.github.io/driplane/en/doc/rules/templates/#sprig-functions"&gt;Sprig functions&lt;/a&gt; can be used.&lt;/p&gt;
&lt;h3 id="parameters"&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;name&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;empty&lt;/td&gt;
&lt;td&gt;name of the field to change (supports &lt;a href="https://matrix86.github.io/driplane/en/doc/rules/templates/"&gt;templates&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;value&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;empty&lt;/td&gt;
&lt;td&gt;new value to assign to the Message&amp;rsquo;s field specified (supports &lt;a href="https://matrix86.github.io/driplane/en/doc/rules/templates/"&gt;templates&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="notices info" data-title="Example"&gt;
&lt;code&gt;... | override(name=&amp;quot;description&amp;quot;, value=&amp;quot;{{ .title }}&amp;quot;) | ...&lt;/code&gt;
&lt;/div&gt;
&lt;h3 id="output"&gt;Output&lt;/h3&gt;
&lt;p&gt;The propagated Message will be identical to the original, with only the specified field changed.&lt;/p&gt;</description></item><item><title>Pdf</title><link>https://matrix86.github.io/driplane/en/doc/filters/pdf/</link><pubDate>Wed, 16 Sep 2020 22:38:02 +0200</pubDate><guid>https://matrix86.github.io/driplane/en/doc/filters/pdf/</guid><description>&lt;h2 id="pdf"&gt;Pdf&lt;/h2&gt;
&lt;p&gt;This filter allows you to extract plain text from a PDF file.&lt;br /&gt;
&lt;em&gt;Based on the &lt;a href="https://github.com/ledongthuc/pdf" target="_blank"&gt;ledongthuc/pdf&lt;/a&gt; library.&lt;/em&gt;&lt;/p&gt;
&lt;h3 id="parameters"&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;target&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;main&amp;rdquo;&lt;/td&gt;
&lt;td&gt;the field of the Message that should be used for the filter (it could be the &lt;code&gt;main&lt;/code&gt; or and extra field)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;filename&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;empty&lt;/td&gt;
&lt;td&gt;the filename of the PDF file to parse (supports &lt;a href="https://matrix86.github.io/driplane/en/doc/rules/templates/"&gt;templates&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="notices info" data-title="Example"&gt;
&lt;code&gt;... | pdf(target=&amp;quot;{{ .extra_field }}&amp;quot;) | ...&lt;/code&gt;
&lt;/div&gt;
&lt;div class="notices warning" data-title="Attention"&gt;
The &lt;code&gt;filename&lt;/code&gt; field override the &lt;code&gt;target&lt;/code&gt;. They are mutually exclusive, so you can specify only one of them.
&lt;/div&gt;
&lt;h3 id="output"&gt;Output&lt;/h3&gt;
&lt;p&gt;The propagated Message contains the plain text of the input PDF file (&lt;code&gt;fulltext&lt;/code&gt; will be set to the file name received as input).&lt;/p&gt;</description></item><item><title>Random</title><link>https://matrix86.github.io/driplane/en/doc/filters/random/</link><pubDate>Wed, 16 Sep 2020 22:38:02 +0200</pubDate><guid>https://matrix86.github.io/driplane/en/doc/filters/random/</guid><description>&lt;h2 id="random"&gt;Random&lt;/h2&gt;
&lt;p&gt;This filter is used to inject an extra field with a random number in the propagated &lt;code&gt;Message&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id="parameters"&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;output&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;main&amp;rdquo;&lt;/td&gt;
&lt;td&gt;the field of the propagated &lt;code&gt;Message&lt;/code&gt; that will contain the random number&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;min&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;0&amp;rdquo;&lt;/td&gt;
&lt;td&gt;the min value of the extracted number is &lt;code&gt;min&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;max&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;999999&amp;rdquo;&lt;/td&gt;
&lt;td&gt;the max value of the extracted number is &lt;code&gt;max&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="notices info" data-title="Example"&gt;
&lt;code&gt;... | random(output=&amp;quot;random_field&amp;quot;, min=&amp;quot;9&amp;quot;, max=&amp;quot;90&amp;quot;) | ...&lt;/code&gt;
&lt;/div&gt;
&lt;h3 id="output"&gt;Output&lt;/h3&gt;
&lt;p&gt;The output &lt;code&gt;Message&lt;/code&gt; will be equal to the input, but it will also include the new random field.&lt;/p&gt;</description></item><item><title>System</title><link>https://matrix86.github.io/driplane/en/doc/filters/system/</link><pubDate>Wed, 16 Sep 2020 22:38:02 +0200</pubDate><guid>https://matrix86.github.io/driplane/en/doc/filters/system/</guid><description>&lt;h2 id="system"&gt;System&lt;/h2&gt;
&lt;p&gt;This filter allows you to exec a command on the host machine. The received Message can be used to create the command to launch.&lt;br /&gt;
It supports &lt;a href="https://matrix86.github.io/driplane/en/doc/rules/templates/"&gt;templates&lt;/a&gt; with &lt;a href="https://matrix86.github.io/driplane/en/doc/rules/templates/#sprig-functions"&gt;Sprig functions&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="parameters"&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;cmd&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;empty&lt;/td&gt;
&lt;td&gt;command line to exec for each received Message (supports &lt;a href="https://matrix86.github.io/driplane/en/doc/rules/templates/"&gt;templates&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="notices info" data-title="Example"&gt;
&lt;code&gt;... | system(cmd=&amp;quot;echo '{{ .author }} wrote {{ .main }}' &amp;gt;&amp;gt; logs.txt&amp;quot;) | ...&lt;/code&gt;
&lt;/div&gt;
&lt;h3 id="output"&gt;Output&lt;/h3&gt;
&lt;p&gt;The propagated Message will contain the output of the command if it is provided, and it is not failed.&lt;/p&gt;</description></item><item><title>Text</title><link>https://matrix86.github.io/driplane/en/doc/filters/text/</link><pubDate>Wed, 16 Sep 2020 22:38:02 +0200</pubDate><guid>https://matrix86.github.io/driplane/en/doc/filters/text/</guid><description>&lt;h2 id="text"&gt;Text&lt;/h2&gt;
&lt;p&gt;This filter searches or extracts strings from the received Message. It can be used with a regular expression or a simple string.&lt;br /&gt;
If the string is found, the condition is matched and the Message is propagated to the next filter.&lt;/p&gt;
&lt;h3 id="parameters"&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;target&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;main&amp;rdquo;&lt;/td&gt;
&lt;td&gt;the field of the Message that should be used for the filter (it could be main or and extra field)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;regexp&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;BOOL&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;false&lt;/td&gt;
&lt;td&gt;the pattern field is a regular expression&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;extract&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;BOOL&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;false&amp;rdquo;&lt;/td&gt;
&lt;td&gt;if &amp;ldquo;true&amp;rdquo; the &lt;code&gt;main&lt;/code&gt; field of the propagated Message will contain the extracted string (it can be used only if &lt;code&gt;regexp&lt;/code&gt; parameter is set true)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;pattern&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;empty&lt;/td&gt;
&lt;td&gt;specifies the pattern that should be matched on the Message to check the condition&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="notices info" data-title="Example"&gt;
&lt;code&gt;... | text(target=&amp;quot;description&amp;quot;, pattern=&amp;quot;(#[^\\s]+)&amp;quot;, regexp=&amp;quot;true&amp;quot;, extract=&amp;quot;true&amp;quot;) | ...&lt;/code&gt;
&lt;/div&gt;
&lt;h3 id="output"&gt;Output&lt;/h3&gt;
&lt;p&gt;If the &lt;code&gt;extract&lt;/code&gt; parameter is &amp;ldquo;false&amp;rdquo;, the received Message will be propagated only if the specified &lt;code&gt;pattern&lt;/code&gt; is matched in the &lt;code&gt;target&lt;/code&gt; field of the Message.&lt;br /&gt;
Otherwise if &lt;code&gt;extract&lt;/code&gt; is &amp;ldquo;true&amp;rdquo; (only &lt;code&gt;regexp&lt;/code&gt; can be used in this case), and one or more strings matches with the pattern, the &lt;code&gt;main&lt;/code&gt; field of the propagated Message will contain only the matched string.&lt;/p&gt;</description></item><item><title>Url</title><link>https://matrix86.github.io/driplane/en/doc/filters/url/</link><pubDate>Wed, 16 Sep 2020 22:38:02 +0200</pubDate><guid>https://matrix86.github.io/driplane/en/doc/filters/url/</guid><description>&lt;h2 id="url"&gt;Url&lt;/h2&gt;
&lt;p&gt;This filter is used to search or extract URLs from a Message.&lt;br /&gt;
Currently supported types of URLs are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;http/s&lt;/li&gt;
&lt;li&gt;ftp&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="parameters"&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;target&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;STRING&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;main&amp;rdquo;&lt;/td&gt;
&lt;td&gt;the field of the Message that should be used for the filter (it could be main or an extra field)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;http&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;BOOL&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;true&amp;rdquo;&lt;/td&gt;
&lt;td&gt;if &amp;ldquo;false&amp;rdquo;, &lt;code&gt;http&lt;/code&gt; scheme urls are ignored&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;https&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;BOOL&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;true&amp;rdquo;&lt;/td&gt;
&lt;td&gt;if &amp;ldquo;false&amp;rdquo;, &lt;code&gt;https&lt;/code&gt; scheme urls are ignored&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;ftp&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;BOOL&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;true&amp;rdquo;&lt;/td&gt;
&lt;td&gt;if &amp;ldquo;false&amp;rdquo;, &lt;code&gt;ftp&lt;/code&gt; scheme urls are ignored&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;extract&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;BOOL&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&amp;ldquo;true&amp;rdquo;&lt;/td&gt;
&lt;td&gt;if &amp;ldquo;true&amp;rdquo;, the &lt;code&gt;main&lt;/code&gt; field of the propagated Message will contain the found URL&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="notices info" data-title="Example"&gt;
&lt;code&gt;... | url(extract=&amp;quot;true&amp;quot;) | ...&lt;/code&gt;
&lt;/div&gt;
&lt;h3 id="output"&gt;Output&lt;/h3&gt;
&lt;p&gt;If the &lt;code&gt;extract&lt;/code&gt; parameter is &amp;ldquo;false&amp;rdquo;, the received Message will be propagated only if at least one URL is found in it.&lt;br /&gt;
Otherwise, if &lt;code&gt;extract&lt;/code&gt; is &amp;ldquo;true&amp;rdquo; and the Message contains one or more URLs, the &lt;code&gt;main&lt;/code&gt; field of the propagated Message will contain only the extracted URLs.&lt;/p&gt;</description></item></channel></rss>