Updated Jan 2024
Crosser Module Library
This document presents the currently available standard modules for use with the Crosser Node.
The module library is constantly expanded with new modules. New modules are typically developed in a time frame of days to weeks, either by Crosser, partners or end customers. Please contact Crosser to discuss availability of any missing modules.
Input modules
Name |
Description |
IIoT/IPA |
Aveva Historian Reader |
Get time series data from an Aveva Historian. |
Both |
Azure IoT Edge Hub Receiver |
Receive data from the Azure IoT Edge hub (this requires the Crosser Edge node to be hosted on an IoT Edge device). |
Both |
Azure IoT Hub C2D |
Receive data from Azure IoT hub. |
Both |
Azure Event Hubs Consumer |
Recieves data from Azure Event Hubs |
Both |
BigMarker Search Conferences |
Find web conferences in BigMarker. |
IPA |
BigMarker Conference Registrations |
Find registered users in a BigMarker web conference. |
IPA |
BigMarker Conference Attendees |
Find user attendees in a BigMarker web conference. |
IPA |
CAN Raw Reader |
Get raw data from CAN bus (Linux systems only). |
IIoT |
Couchbase Executer |
Get data from a Couchbase database by running generic queries. |
IPA |
CSV Reader |
Read data from a local CSV file. |
Both |
Data Trigger |
Collects messages and creates an output based on a defined list of trigger definition conditions. |
Both |
File Finder |
Finds files in a local directory matching some criteria. |
Both |
File Tail Reader |
Get lines added to a file. |
Both |
File Reader |
Reads text or bytes from a file into a property and passes it to the next module(s). |
Both |
Files Watcher |
Watch for events on files matching a pattern (Created, Deleted, Changed). |
Both |
Firebird Select |
Get rows from a Firebird database. |
Both |
Google PubSub Subscriber |
Subscribe to data from Google PubSub. |
IPA |
Google Sheet Read Rows |
Get rows from a Google Sheet document. |
IPA |
HTTP Listener |
Receive data over HTTP POST or GET. Filter on path. |
Both |
HTTP Requester |
Request data from HTTP servers at regular intervals. |
Both |
HTTP Response |
Write a HTTP response back to a requesting client. |
Both |
HubSpot CRM Search |
Search for records in Hubspot CRM. |
IPA |
Influx Select |
Get time series data from an Influx database. |
Both |
Interval |
Trigger a message at specified intervals. |
Both |
If Else Condition |
Add if/else conditions to split/route messages to different outputs. |
Both |
Kafka Consumer |
Will consume messages from Kafka |
Both |
KeyValue Get |
Get data from the internal key/value store. |
Both |
Kubernetes Events |
Get events from a Kubernetes namespace. |
Both |
MariaDB Executer |
Execute generic SQL statements against a MariaDB SQL server. |
Both |
MariaDB Select |
Get data from a MariaDB SQL server table based on a SELECT query. |
Both |
Modbus Reader |
Request data from Modbus PLCs at specified intervals. Provides configurable mapping to more complex data types. |
IIoT |
MongoDB Select |
Get data from a MongoDB database. |
Both |
MQTT Sub broker |
Get data from the internal MQTT broker. Filter on topics. |
Both |
MQTT Sub client |
Get data from an external MQTT broker. Filter on topics. |
Both |
Microsoft Dynamics Get Records |
Get records from a Microsoft Dynamics server. |
IPA |
MS SQL Executer |
Execute generic SQL statements against a Microsoft SQL server. |
Both |
MS SQL Select |
Get data from a Microsoft SQL server table based on a SELECT query. |
Both |
MS SQL Stored Procedure |
Get data from a Microsoft SQL server by triggering a stored procedure. |
Both |
MS Teams List Chats |
List chats in Microsoft Teams to get their IDs. |
Both |
MySQL Executer |
Execute generic SQL statements against a MySQL server. |
Both |
MySQL Select |
Get data from a MySQL server table based on a SELECT query. |
Both |
OPC UA Browser |
Collects a list of all node IDs/tags with value attributes below a specified root level on an OPC UA server. |
IIoT |
OPC UA Events |
Get events from an OPC UA server. |
IIoT |
OPC UA Reader |
Get data from OPC UA servers by polling all configured tags when triggered. Tags can be given friendly names. |
IIoT |
OPC UA Subscriber |
Get data from OPC UA servers by subscribing to a specified list of nodeIds/tags. Receives data when any of the subscribed tags change value. Custom properties can be added to each tag. |
IIoT |
Oracle DB Select |
Get data from a Oracle database table based on a SELECT query. |
Both |
OSIsoft WebAPI Subscriber |
Subscribe to changes in PI points on a OSIsoft server. |
IIoT |
Postgres Executer |
Execute generic SQL statements against aPostgreSQL server. |
Both |
PostgreSQL Select |
Get rows from a PostgreSQL database table. |
Both |
RabbitMQ Consumer |
Get messages from a RabbitMQ broker. |
Both |
Redis Get |
Lookup a value in a Redis store by using data from the incoming message as key. |
Both |
Redis Subscribe |
Subscribe to a topic in a Redis store. |
Both |
Rockwell Data Table Receiver |
Receives data from a Data Table write operation on a Rockwell PLC. |
IIoT |
Rockwell Reader |
Get data from Rockwell (Allen Bradley) PLCs. |
IIoT |
S7 OUC Receiver |
Get data from Siemens PLCs using the Open User Communication protocol. |
IIoT |
S7 Reader |
Get data from Siemens S7-200, 300, 400, 1200 and 1500 PLCs. |
IIoT |
Salesforce Get Record |
Get a record from Salesforce based on ID. |
IPA |
Salesforce Search Records |
Free-text search of records in Salesforce. |
IPA |
Salesforce SOQL Query |
Find records by executing a SOQL query in Salesforce. |
IPA |
SAP RFC |
Call any RFC/ABAP/BAPI function on an SAP system using Netweaver. Supports both reading and writing data. |
Both |
Scheduler |
Trigger repetitive events based on wall-clock time patterns (cf *nix `cron` command). |
Both |
SFTP Directory Reader |
List files in a directory on a remote SFTP server. |
Both |
SFTP Download |
Download files from FTP servers to local storage. |
Both |
SFTP Files Watcher |
Check for updates on FTP servers. |
Both |
SFTP Text Reader |
Get files from a FTP server. |
Both |
SNMP Get |
Get OIDs from an SNMP server. |
Both |
Snowflake Executer |
Run generic queries against a Snowflake database. |
IPA |
Snowflake Select |
Get rows from a Snowflake database. |
IPA |
TCP Client Listener |
Connect to a TCP server and receive raw data on a specified port. |
IIoT |
TCP Listener |
Receive data over a TCP connection. |
IIoT |
TimescaleDB Select |
Get time series data from a TimescaleDB database. |
Both |
UDP Multicast Receiver |
Receive data from UDP multicast. |
IIoT |
UDP Unicast Receiver |
Receive data from UDP unicast. |
IIoT |
Websocket Listener |
Receive data over websocket connections. |
Both |
Zoho Desk Search Tickets |
Search for tickets in Zoho Desk. |
IPA |
Analytics modules
Name |
Description |
IIoT/IPA |
Aggregate |
Aggregate data over a time period or a number of samples. Group data per source label. Calculates average, min and max. |
Both |
Array Groupby |
Group array elements into sub-arrays based on the value of a selected property |
Both |
Array Join |
Combine multiple messages into an array, either by collecting messages during a specified time window, or a specified number of messages. |
Both |
Array Property Get |
Get one property for each object in an array and creates a new array, with only the values of the properties. |
Both |
Array Property Omit |
Omits properties from all objects in an array of objects and creates a new array with objects without the omitted properties. |
Both |
Array Property Pick |
Picks properties from all objects in an array of objects and creates a new array with objects containing only the picked properties. |
Both |
Array Regex |
Select a subset of an array by checking a selected property in each element against a regex filter. |
Both |
Array Sort by List |
Sort the elements of an array of objects by providing a list of values matching a selected property. |
Both |
Array Sort by Property |
Sort an array based on the value of a selected property. |
Both |
Array Split |
Splits an array into individual messages. |
Both |
Array To Object |
Convert an array of name/value properties into a flat object. |
Both |
Base64 Decode |
Decode a base64 encoded string. |
Both |
Base64 Encode |
Encode a byte array or string as base64 or base64url strings. |
Both |
CAN J1939 Decoder |
Decode raw can messages using a DBC file. |
IIoT |
Csharp |
Process message data using custom C# code. |
Both |
CSV LineParser |
Splits a single line of CSV into an object. |
Both |
CSV TextParser |
Parses CSV text into an array of objects. |
Both |
Data Mapper |
Transform messages using a visual configuration tool. |
Both |
Deadband |
Deadband filter that only lets through data that has changed by a certain amount (absolute or relative). |
Both |
Delay |
Delay messages during a specified time period. |
Both |
Files Delete |
Delete files matching a pattern. |
Both |
Files Move |
Move files matching a pattern. |
Both |
IronPython |
Process message data using custom Python code. This module uses the IronPython interpreter that runs within the .NET core environment. Therefore only the standard Python libraries can be used. This interpreter is compatible with Python 2.7. See the Python Bridge module for other Python options. |
Both |
Javascript |
Process message data using Javascript code. |
Both |
JSON Schema Validation |
Validate message data against a JSON schema |
Both |
Join |
Join multiple messages arriving from different sources into a single message. Messages can be aligned in time. Different modes are available to handle data with different sampling rates. |
Both |
JSON |
Converts to/from JSON and the internal data representation. |
Both |
Key Value Delete |
Delete an entry from the internal key/value store. |
Both |
Math Expression |
Evaluate generic mathematical expressions on message data. |
Both |
Math |
Evaluate generic mathematical expression on message data |
Both |
Memory Buffer |
Buffers messages in front of output modules so that no data is lost even if the availability of external systems is intermittent, e.g. due to connectivity issues. The buffer size is configurable. Supports configurable retries by looking at the status property delivered by all output modules. Can also be used to smooth out bursty message flows by specifying a message delay. |
Both |
Message Counter |
Calculate statistics on message value counts (eg for KPI calculations). |
Both |
Object To Array |
Converts an object with key=value properties to an array of objects with separate name and value properties. |
Both |
Property Mapper |
Renames properties on incoming messages. Can also be used to remove unwanted properties from messages. |
Both |
Python Bridge |
Process message data using custom Python code. This module uses a standard Python 3 interpreter running outside .NET core, hence any library can be used. |
Both |
Range Classifier |
Map numerical ranges of a property on the incoming message to text strings added to the output messages. |
Both |
Range Filter |
Only let through messages where some numerical parameter is either within or outside a specified range. Note: This functionality is also available using the message filters present on all modules. |
Both |
Report By Exception |
Only let through messages where a selected parameter has changed. Supports grouping over multiple source labels. |
Both |
Scale |
Scale a numerical value and/or add an offset. |
Both |
Smooth |
Smooth numerical data by applying either an exponential filter or by averaging over a rolling time window. |
Both |
Split |
Split messages onto separate paths by defining conditions on message data. |
Both |
State |
Temporarily store any message property. Used to keep data that is updated infrequently but needs to be added to more frequent messages. |
Both |
Statistics |
Calculates statistics on selected data over a rolling window, specified either by time or by number of samples. Supports grouping over multiple source labels. Outputs average, median, standard deviation, min, max and sample count. This module will eventually replace the Standard Deviation module. |
Both |
String Replace |
Replace text on a selected property in a message. |
Both |
String Substring |
Extract a substring of a string on a selected property. |
Both |
Text Template |
Create a text message based on a template that uses data from the incoming message. |
Both |
Throttle |
Limit the peak rate of messages by discarding messages when the specified peak rate is reached. |
Both |
Time Counter |
Calculate statistics on message value times (eg for KPI calculations). |
Both |
Time Difference |
Calculate the difference between timestamps. |
Both |
Timeout |
Generate a message when no message (fulfilling some condition) has been received within the specified timeout period. Can be used to detect loss of connectivity with a sensor or other data source. |
Both |
Timestamp |
Converts between timestamp formats and can also add the current time to an incoming message. |
Both |
Toggle |
Toggle the value of a boolean property. |
Both |
Unique Counter |
Count the number of different values seen on a selected property of the incoming message. |
Both |
Window |
Create sliding and tumbling windows (arrays) out of a sequence of messages. |
Both |
XML |
Converts to/from XML and the internal data format. |
Both |
Output modules
Name |
Description |
IIoT/IPA |
AWS IoT Core Publisher |
Publish message or update shadow state of an AWS 'Thing'. |
Both |
AWS IoT Core HTTP Publisher |
Publishes messages over HTTP. |
Both |
AWS S3 Bucket Writer |
Send files to an AWS S3 bucket. |
Both |
Azure Blob Storage |
Add blobs to Azure blob storage. The source can be a file, string or byte array. Three types of blobs are supported: append, page and block blobs. |
Both |
Azure DataLake Writer |
Add files to Azure DataLake gen2 storage. The source can be files, strings or byte arrays. |
Both |
Azure Event Hubs Publisher |
Publishes message data to Azure Event Hubs. |
Both |
Azure Event Grid Publisher |
Publishes message data to Azure Event Grid. |
Both |
Azure File Storage |
Send data to Azure file storage. The source can be a file, files, strings or byte arrays. |
Both |
Azure IoT Edge Hub Sender |
Send data to the Azure IoT Edge hub (this requires the Crosser Edge node to be hosted on an IoT Edge device). |
Both |
Azure IoT Hub D2C |
Send data to Azure IoT Hub. |
Both |
Azure Queue Storage |
Send data to an Azure Queue storage. |
Both |
BigQuery Insert |
Send data to a Google BigQuery table. |
Both |
CAN Raw Writer |
Send raw data to a CAN bus (Linux only). |
IIoT |
CSV StreamWriter |
Append data to CSV files and rotate on time or number of rows. |
Both |
Databricks Publisher |
Transfer files from a staging area to a Databricks delta table. |
Both |
File StreamWriter |
Appends message data to a file on the local file system. (used to be called File Writer). |
Both |
File Writer |
Writes the content of the source property to a file. |
Both |
Firebird Insert |
Write data to a Firebird database. |
Both |
Google Cloud Storage Writer |
Writes data to Google Cloud storage. |
Both |
Google PubSub Publisher |
Send data to Google PubSub. |
Both |
Google Sheet Append Row |
Append rows to a Google Sheet. |
Both |
HTTP Requester |
Send data to HTTP servers using POST/PUT requests. |
Both |
HubSpot CRM Create |
Create a record in Hubspot CRM. |
Both |
HubSpot CRM Delete |
Delete a record in Hubspot CRM. |
Both |
HubSpot CRM Update |
Update a record in Hubspot CRM. |
Both |
IFS Observation Publisher |
Send observations to IFS ERP systems. |
Both |
InfluxDB Insert |
Write data to an InfluxDB version 1 database. |
Both |
InfluxDB v2 Insert |
Write data to an InfluxDB version 2 database. |
Both |
Kafka Producer |
Publish data on a Kafka topic. |
Both |
Key Value Set |
Store data in the internal key/value store. |
Both |
MariaDB Insert |
Write data to a MariaDB server table. |
Both |
Modbus Writer |
Write data to a Modbus PLC. |
IIoT |
MongoDB Insert |
Write data to a MongoDB database. |
Both |
MQTT Pub broker |
Send data to the internal MQTT broker. |
Both |
MQTT Pub client |
Send data to an external MQTT broker. |
Both |
Microsoft Dynamics Create Record |
Create records in a Microsoft Dynamics server. |
Both |
MS SQL Insert |
Write data to a Microsoft SQL server table. |
Both |
MS Teams Send Chat |
Send messages to a Microsoft Teams chat. |
Both |
MySQL Insert |
Write data to a MySQL server table. |
Both |
Nexmo SMS |
Send an SMS using the Nexmo service. |
Both |
OPC UA Writer |
Update values in an OPC UA server. |
IIoT |
Oracle DB Insert |
Write data to an Oracle database table. |
Both |
Parquet Writer Module |
Write data to a Parquet file. |
Both |
PostgreSQL Insert |
Write rows to a PostgreSQL database table. |
Both |
RabbitMQ Producer |
Publish messages to a RabbitMQ broker. |
Both |
Redis Publish |
Publish data on a topic in a Redis store. |
Both |
Redis Set |
Set or update a key/value in a Redis cache. |
Both |
S7 Writer |
Write data to Siemens S7-200, 300, 400, 1200 and 1500 PLCs. |
IIoT |
Salesforce Create Record |
Create a new record in Salesforce. |
Both |
Salesforce Update Record |
Update an existing record in Salesforce. |
Both |
SendGrid |
Send an email using the SendGrid service. |
Both |
SFTP Upload |
Upload a local file to an FTP server. |
Both |
SIGNL4 Publisher |
Publish data to SIGNL4. |
Both |
Slack |
Send a message to a Slack channel. |
Both |
SMTP Send |
Send emails using an SMTP server. |
Both |
Snowflake Insert |
Write data to Snowflake. |
Both |
Snowflake Publisher |
Transfer data from a staging area to a Snowflake database |
Both |
Thingworx Publisher |
Send data to Thingworx by updating properties on a Thing. |
Both |
TimescaleDB Insert |
Write timeseries data to a TimescaleDB database. |
Both |
Twilio SMS |
Send SMS messages using the Twilio service. |
Both |
UDP Multicast Sender |
Send data over UDP multicast. |
IIoT |
UDP Unicast Sender |
Send data over UDP unicast. |
IIoT |
Websocket Publisher |
Sends data to one or several websocket listeners that have subscribed to the specified topic. |
Both |
Zendesk Ticket Create |
Create tickets in Zendesk. |
Both |
Zoho Desk Create Ticket |
Create a new ticket in Zoho Desk. |
Both |
Zoho Desk Update Ticket |
Update a ticket in Zoho Desk. |
Both |
Test modules
These modules are primarily useful for testing flows with internally generated data.
Name |
Description |
Status |
Data Generator |
Generate messages based on a JSON template. Randomize numeric properties and generate sequences of string values over a group of messages. |
Both |
Date Generator |
Generates a random date between specified limits |
Both |
Debug |
Send data to the internal log |
Both |
Random |
Generates a random number in a given range |
Both |
String Generator |
Generates a random text string based on criteria given |
Both |
Universal Connectors
This is a wizard-based tool with which you can build your own reusable modules for connecting to REST-based APIs. Using the step-by-step wizard you configure:
- API endpoints
- Authentication
- User configurable parameters
- Module icon
- Documentation
API requests can use both user settings and data from incoming flow messages.
Modules built with the Universal Connector tool are only available to users within your organisation.
SDK modules
Using the Crosser .NET Core SDK you can develop your own custom modules, which can then be registered in Crosser Cloud to be used alongside the standard modules when building flows in the FlowStudio. Custom modules are only available to users in your organization.
If you want to know more about the SDK and how to develop custom modules, please contact support@crosser.io.
Search Documentation
Page Sections