Skip to main content Skip to footer

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

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

File Finder

Finds files in a local directory matching some criteria.

Both

File Tail Reader

Get lines added to a file.

Both

File TextReader

Reads a text file on the local file system into a single message.

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

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

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 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 EventHub Publisher

Send data to an Azure EventHub.

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 TextWriter

Writes a text message to a new file on the local file system.

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.