Getting Started
Basic Concepts
Advanced Concepts
How-to Guides
Building integration flows
Data transformation
Integration patterns
Developing Components
Tenant Management
CRM Components
ERP Components
E-Commerce Components
Basic Components
Utility Components
Component Descriptor
Covered in this article
Related articles
Contracts and Workspaces Understanding credentials Data Sample Overview Creating your first integration flow Getting Started What is an integration component? What is an integration flow? What is a tenant? Take a tour of the product Creating a webhook flow Building a component in Java Building a component in Node.js Content-Based Routing Deploying a component How-to Guides Managing flow history Managing OAuth Clients Managing user roles in a tenant Managing Workspaces Mapping data Building real-time flows Sending data to a list of recipients REST API component Managing your SSH keys Managing your Teams/Components Allmysms component Amazon MWS component AMQP component AppDirect Component AWS Lambda component AWS SNS component Bazaarvoice component ChannelAdvisor component Code component Configuration component CSV component Docusign component Dun-and-bradstreet component Ebay component Edifact-parser component Email component Exact Online component Google PubSub component Google-shopping component Google-translate component Goto-webinar component Google Spreadsheets component Components JDBC Component JDBC Component JDBC Component Jsonata component Key-value-component component Ldap component Lightspeed-ecom component Lightspeed-retail component Lionbridge-translation component Magento1 component Magento2 component Mailchimp component Mandrillapp component Mapper component Microsoft Dynamics CRM component MsSQL component NetSuite component ODATA component Outlook component Petstore-nodejs component Pipedrive component Postgresql component Quickbooks-component component Request-reply component Rest API component Router component Salesforce-cpq component Salesfoce Component Sdl-translate component Sftp component Shopify-admin component Shopware component Simple-trigger component Smarty-streets component Soap component Splitter component Stripe component Sugar-crm component Timer component Twitter component Webhook component Xml component Component Descriptor Structure References Sailor compatibility matrix View Classes

Filter component


A component to filter the incoming data based on arbitrary expression.

How it works

Filter will pass though incoming message if it match the condition specified in the configuration. Expression is actually any JavaScript expression, so you can be creative. For example following expressions are possible:

  • true
  • false
  • !false
  • - will be true if is defined and not false
  • > 5
  • parseFloat(body.flString) > 2
  • body.flString > 20
  • moment(body.iso8601).day() == 1
  • moment(body.start_at).isAfter(moment("1995-12-24"))

The expression that you use in filer will be evaluated in the fresh JS context but you can expect following in the context:

  • body - this is the body of incoming message
  • attachments - attachments from incoming message
  • headers - headers for incoming message
  • moment - useful library for date and time transformation, documentation can be found here.

Rejected messages could be optionally sent to the other integration flow, but please note that only integration flows that start with Webhook and may potentially accept the incoming data could be selected as reject flow.


Environment variables

By default no environment variable is necessary to operate the component. However, a tenant level environment variables must be added to the component repository.

Tenant level environment variable

Current version of the component requires a Webhook URL basis for your environment

  • HOOKS_URL - basis url for your webhooks, like https://tenant-address/hook/ (note the slash at the end)


This component has no trigger functions. This means it will not be accessible to select as a first component during the integration flow design.



This triggers has two parameters:

  • Filter condition - A JavaScript expression which should be evaluated to a Boolean values of true or false. If it is evaluated false message will be rejected.
  • Send rejected messages to - An optional parameter with a possibility to select the flow ID which would receive the message in case the first parameter was evaluated false. Only WebHook flow can be selected.

Known limitations

  • Reject task should be:
  • Start with standard WebHook
  • Only body of the rejected message got propagated to reject flow, not the attachments or headers


Apache-2.0 © GmbH