XMPP Trigger icon

XMPP Trigger

Listen for XMPP (messages and files) and Rabbit (send commands).

XMPP Trigger

AI-generated

Overview

This node acts as a trigger for XMPP (Extensible Messaging and Presence Protocol) messages and file transfers, as well as RabbitMQ commands. It listens for incoming XMPP messages and files, processes them, and emits the data to workflows. It also consumes RabbitMQ queues to send XMPP messages and files. This node is useful for integrating XMPP-based chat and file transfer capabilities into automation workflows, such as receiving chat messages, handling file transfers over XMPP, and sending messages or files via RabbitMQ commands.

Use Case Examples

  1. Automatically process incoming XMPP chat messages and trigger workflows based on message content.
  2. Receive files sent over XMPP using In-Band Bytestreams (IBB) and process them in workflows.
  3. Send XMPP messages or files by publishing commands to RabbitMQ queues, enabling integration with other systems.

Properties

Name Meaning
Priority Sets the XMPP connection priority, influencing message routing when multiple resources are connected.
IBB Timeout (s) Timeout in seconds for In-Band Bytestream (IBB) file transfers before considering them failed or aborted.
Emit Raw Stanza If enabled, emits raw XMPP XML stanzas as output for advanced processing or debugging.

Output

JSON

  • status - Indicates success status of the event (true for success).
  • data
    • type - Type of the event data, e.g., 'conversation' for messages or 'file' for file transfers.
    • body - Content of the message or a description of the file event.
    • from - Sender of the message or file.
    • file
      * fileName - Name of the received file (if applicable).
      * mime - MIME type of the received file (empty string in current implementation).
      * base64 - Base64 encoded content of the received file.
  • type - Type of emitted data, e.g., 'raw-stanza' for raw XML stanzas.
  • xml - Raw XML stanza content when emitting raw stanzas.
  • time - Timestamp when the raw stanza was emitted.

Dependencies

  • Requires XMPP connection credentials (username, password, domain, service) for connecting to the XMPP server.
  • Requires RabbitMQ connection credentials for connecting to RabbitMQ to consume and send messages.

Troubleshooting

  • Ensure XMPP and RabbitMQ credentials are correctly configured; missing credentials will cause connection failures.
  • Check that the 'to' field in RabbitMQ messages is valid and not empty or literal strings 'undefined' or 'null', otherwise messages will be rejected.
  • Timeouts during IBB file transfer may occur if the remote client does not respond; adjust 'IBB Timeout (s)' accordingly.
  • Enable debug logging by setting environment variable DEBUG_XMPP to see detailed processing logs for troubleshooting.

Links

Discussion