XMPP Trigger
AI-generatedOverview
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
- Automatically process incoming XMPP chat messages and trigger workflows based on message content.
- Receive files sent over XMPP using In-Band Bytestreams (IBB) and process them in workflows.
- 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).datatype- 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
- XEP-0047: In-Band Bytestreams - Specification for transferring files over XMPP using IBB.
- RabbitMQ - Message broker used for sending and receiving commands in this node.
