agentmanager
The module nodes are the building blocks for the flow-based programming. Each node represents a specific task or operation that can be performed by the module. The following table lists the available nodes for this module.
- HTTP Client
- HTTP Receiver
- HTTP Sender
- MQTT Receiver
- MQTT Sender
- NATS Receiver
- NATS Sender
- Webhook Endpoint
HTTP Client
Section titled “HTTP Client”HTTP client to fetch data from an HTTP endpoint.
Metadata:
Section titled “Metadata:”- Name: HttpClient
- Tags: http, client, get, data
- Category: Resource
- Subcategory: Endpoint > Http
Description:
Section titled “Description:”This node acts as an HTTP client that retrieves data from an external HTTP server. It is set up with the server’s URL and the HTTP verb for the request (e.g., GET, POST, PUT, DELETE). The node sends a request and processes the response as an ‘any’ type. This is useful for accessing external APIs, web services, or remote servers.
Inputs: (1)
- Trigger : Trigger
Outputs: (1)
Section titled “Outputs: (1)”- Received Data : The data received from the HTTP server, formatted as an ‘any’ type.
Configuration:
Section titled “Configuration:”The following configuration parameters can be set for this node:
NodeHTTPClientConfig: {
# The HTTP method to use for the request (e.g., GET, POST, PUT, DELETE). method: string, # The full URL to send the HTTP request to. url: string, # Optional headers to send with the HTTP request. headers: map<string,string>,}
HTTP Receiver
Section titled “HTTP Receiver”HTTP client to receive data from an HTTP server.
Metadata:
Section titled “Metadata:”- Name: HttpReceiver
- Tags: http, endpoint, get, data
- Category: Resource
- Subcategory: Endpoint > Http
Description:
Section titled “Description:”This node acts as an HTTP receiver that retrieves data from an external HTTP server. It is configured with the server’s URL and the HTTP verb to use (e.g., GET, POST, PUT, DELETE). The node sends a request to the specified server and captures the response data as an ‘any’ type. This functionality is useful for integrating with external APIs, fetching data from web services, or receiving information from remote servers.
Inputs: (0)
Outputs: (1)
Section titled “Outputs: (1)”- Received Data : The data received from the HTTP server, formatted as a key-value map.
Configuration:
Section titled “Configuration:”The following configuration parameters can be set for this node:
NodeHTTPReceiverConfig: {
# The endpoint to listen for incoming HTTP requests. endpoint: string, # The port on which the HTTP server will listen for requests. port: string, # Optional headers to include in the HTTP response, such as content-type. headers: map<string,string>,}
HTTP Sender
Section titled “HTTP Sender”HTTP client to send data to an HTTP server.
Metadata:
Section titled “Metadata:”- Name: HttpSender
- Tags: http, sender, send, data
- Category: Resource
- Subcategory: Endpoint > Http
Description:
Section titled “Description:”This node acts as an HTTP sender that transmits data to an external HTTP server. It is configured with the server’s URL, the HTTP verb (e.g., POST), and optional headers for the request. The node sends data as an ‘any’ type, facilitating interaction with various external systems. Use this node to send data to external services over HTTP.
Inputs: (1)
- Data to send : The data to be sent to the HTTP server, provided as a key-value map.
Outputs: (0)
Section titled “Outputs: (0)”Configuration:
Section titled “Configuration:”The following configuration parameters can be set for this node:
NodeHttpSenderConfig: {
# The URL to connect to. url: string, # Optional headers to send with the HTTP request. headers: map<string,string>,}
MQTT Receiver
Section titled “MQTT Receiver”MQTT endpoint node for receiving data from an MQTT broker.
Metadata:
Section titled “Metadata:”- Name: MqttReceiver
- Tags: mqtt, endpoint, receiver, broker, communication
- Category: Resource
- Subcategory: Endpoint > Mqtt
Description:
Section titled “Description:”This node acts as an MQTT receiver that retrieves data from a configured MQTT broker. It requires broker details such as address, port, and optional authentication credentials. The node subscribes to a specified topic to receive real-time messages, which are then passed along as an ‘any’ type to accommodate various message structures. Configuration via the NodeMqttConfig is required to establish a successful connection.
Inputs: (0)
Outputs: (1)
Section titled “Outputs: (1)”- Received Data : The data received from the MQTT broker, formatted as a key-value map representing the payload from the subscribed topic.
Configuration:
Section titled “Configuration:”The following configuration parameters can be set for this node:
NodeMqttConfig: {
# URI to the broker to be used. The format should be scheme://host:port where scheme is one of tcp, ssl, ws, wss. host is the IP address or hostname of the broker. port is the port number of the broker. For example, tcp://localhost:1883 broker: string, # The topic to which the message will be published or subscribed. topic: string, # Quality of service level to be used when publishing or subscribing to a topic. The value can be 0, 1, or 2. 0 means at most once delivery, 1 means at least once delivery, and 2 means exactly once delivery. qos: int32, # Set the username to be used by this client when connecting to the MQTT broker. Note: without the use of SSL/TLS, this information will be sent in plaintext across the wire. username: string, # Set the password to be used by this client when connecting to the MQTT broker. Note: without the use of SSL/TLS, this information will be sent in plaintext across the wire. password: string, # Set the client id to be used by this client when connecting to the MQTT broker. According to the MQTT specification, client ids must be unique per broker. auto-generated client id will be used if not provided. client_id: string, # Set the order of the messages matters order_matters: bool, # Auto reconnect auto_reconnect: bool, # Connect Retry connect_retry: bool, # Connect Retry Interval connect_retry_interval: int32, # With TLS with_tls: bool, # Root Certificate root_certificate: string, # Client Certificate client_certificate: string, # Client Key client_key: string,}
MQTT Sender
Section titled “MQTT Sender”MQTT sender node for transmitting data to an MQTT broker.
Metadata:
Section titled “Metadata:”- Name: MqttSender
- Tags: mqtt, sender, send, data, broker, communication
- Category: Resource
- Subcategory: Endpoint > Mqtt
Description:
Section titled “Description:”This node functions as an MQTT sender for transmitting data to a specified MQTT broker. It requires broker details such as address, port, and optional authentication credentials. The node sends data as an ‘any’ type, supporting various message structures. Configuration via the NodeMqttConfig is necessary to ensure proper connection and data transmission.
Inputs: (1)
- Data to send : The data to be sent to the MQTT broker, formatted as a key-value map.
Outputs: (0)
Section titled “Outputs: (0)”Configuration:
Section titled “Configuration:”The following configuration parameters can be set for this node:
NodeMqttConfig: {
# URI to the broker to be used. The format should be scheme://host:port where scheme is one of tcp, ssl, ws, wss. host is the IP address or hostname of the broker. port is the port number of the broker. For example, tcp://localhost:1883 broker: string, # The topic to which the message will be published or subscribed. topic: string, # Quality of service level to be used when publishing or subscribing to a topic. The value can be 0, 1, or 2. 0 means at most once delivery, 1 means at least once delivery, and 2 means exactly once delivery. qos: int32, # Set the username to be used by this client when connecting to the MQTT broker. Note: without the use of SSL/TLS, this information will be sent in plaintext across the wire. username: string, # Set the password to be used by this client when connecting to the MQTT broker. Note: without the use of SSL/TLS, this information will be sent in plaintext across the wire. password: string, # Set the client id to be used by this client when connecting to the MQTT broker. According to the MQTT specification, client ids must be unique per broker. auto-generated client id will be used if not provided. client_id: string, # Set the order of the messages matters order_matters: bool, # Auto reconnect auto_reconnect: bool, # Connect Retry connect_retry: bool, # Connect Retry Interval connect_retry_interval: int32, # With TLS with_tls: bool, # Root Certificate root_certificate: string, # Client Certificate client_certificate: string, # Client Key client_key: string,}
NATS Receiver
Section titled “NATS Receiver”NATS Streaming receiver node for receiving data from a NATS Streaming server.
Metadata:
Section titled “Metadata:”- Name: NatssReceiver
- Tags: NATS, Streaming, Receiver, Messaging, Event-Driven, Real-Time, Data-Ingestion
- Category: Messaging
- Subcategory: Receiver > Nats streaming
Description:
Section titled “Description:”This node subscribes to a NATS Streaming channel, receiving messages from a configured NATS Streaming server in real time. It requires server details including address, port, and optional credentials. The received messages are passed along as an ‘any’ type, offering flexibility in message structure. Proper configuration via the NodeNatssConfig ensures reliable data reception.
Inputs: (0)
Outputs: (1)
Section titled “Outputs: (1)”- Received Data : The data received from the NATS Streaming server, formatted as a key-value map representing the payload from the subscribed channel.
Configuration:
Section titled “Configuration:”The following configuration parameters can be set for this node:
NodeNatssConfig: {
# The NATS server URL, which may include username and password. Example: 'nats://derek:pass@localhost:4222'. url: string, # The subject for NATS subscription or publishing. Wildcards are supported (e.g., 'foo.*' or 'bar.>'). subject: string, # The client ID used for the NATS connection. clientid: string,}
NATS Sender
Section titled “NATS Sender”NATS Streaming sender node for transmitting data to a NATS Streaming server.
Metadata:
Section titled “Metadata:”- Name: NatssSender
- Tags: NATS, Streaming, Publisher, Messaging, Event-Driven, Real-Time, Data-Transmission, Distributed
- Category: Messaging
- Subcategory: Publish > Nats streaming
Description:
Section titled “Description:”This node acts as a NATS Streaming sender, transmitting data to a configured NATS Streaming server with details such as address, port, and optional credentials. It sends data as an ‘any’ type, supporting various message structures. Configuration via the NodeNatssConfig is required to ensure a reliable connection and successful data transmission.
Inputs: (1)
- Data to send : The data to be sent to the NATS Streaming server, provided as a key-value map.
Outputs: (0)
Section titled “Outputs: (0)”Configuration:
Section titled “Configuration:”The following configuration parameters can be set for this node:
NodeNatssConfig: {
# The NATS server URL, which may include username and password. Example: 'nats://derek:pass@localhost:4222'. url: string, # The subject for NATS subscription or publishing. Wildcards are supported (e.g., 'foo.*' or 'bar.>'). subject: string, # The client ID used for the NATS connection. clientid: string,}
Webhook Endpoint
Section titled “Webhook Endpoint”Webhook endpoint to receive data from external sources.
Metadata:
Section titled “Metadata:”- Name: WebhookEndpoint
- Tags: webhook, endpoint, get, data
- Category: Resource
- Subcategory: Endpoint > Webhook
Description:
Section titled “Description:”This node serves as a webhook endpoint that receives data from external sources via HTTP requests. It is configured with a URL path to listen for incoming requests. When a request is received, the node captures the payload and passes it along as an ‘any’ type, providing flexibility in the data structure. Proper configuration via the NodeWebhookConfig object ensures that the node can receive and process incoming webhook data efficiently.
Inputs: (1)
- WebhookData : The data received from the webhook.
Outputs: (0)
Section titled “Outputs: (0)”Configuration:
Section titled “Configuration:”The following configuration parameters can be set for this node:
NodeWebhookConfig: {
# Method method: string, # URL to send the webhook url: string, # Secure secure: bool, # Username username: string, # Password password: string,}