Open monday.com items from flagged Rocket.Chat messages
A Rocket.Chat + monday.com agent flow
Support and ops chatter happens in Rocket.Chat, and the requests that need real follow-up get a thumbs-up and then forgotten. A monday.com board is where those requests would actually get tracked, prioritized, and assigned. The agent searches Rocket.Chat for messages matching a flag you've set with search_messages, reads each one, and opens a board item with create_item carrying the message text, the sender, and the channel. Rocket.Chat answers the search when the agent runs it; nothing is pushed. So the agent polls on a short interval, and a message it has already turned into an item is skipped. What was an ignored ask in chat becomes a row someone owns.
The flow
search_messagesSearch messages across channels by query.
create_itemCreates a new item in a board, optionally with column values.
Step by step
- Search for flagged messages
The agent calls search_messages with your query, a keyword like 'request' or a marker your team uses, and reads the matches across channels with their message ids, authors, and source channel.
- Filter to the unseen
It compares message ids against the ones it has already filed, or checks the board for an item already carrying that id, so an overlapping search window doesn't create duplicate rows.
- Create the board item
create_item adds a row to the chosen monday board with the message text as the item name and column values for sender, channel, the message id, and a default status, ready for someone to pick up.
Tell your agent
Every two minutes, search Rocket.Chat for messages containing '@ops-request', and for each new one, create a monday.com item on the Ops Intake board with the message text, the author, the channel, and the message id stored in a column. Don't recreate items I've already filed.
Setup
This flow needs both servers connected to your agent. Follow each install guide:
Worth knowing
- search_messages spans channels and returns a search-result shape; the surrounding thread isn't included. If the request relies on earlier context, the agent fetches it with get_message_context before writing, an extra call per match.
- create_item sets column values by column id, not by the label you see in the UI. Pull the board schema with get_board_schema once and pass the right ids, including the column holding the Rocket.Chat message id used for dedupe.
- A broad search query catches false positives. Use a distinctive marker rather than a common word, and have the agent skip its own previously created confirmations if it ever posts back into the channel.
Questions
- Can it set priority based on the message?
- Yes. The agent can read the wording, look for an urgency cue you define, and pass the matching value into a status or priority column on create. The mapping from phrasing to priority is something you spell out in the prompt.
- Does it work across many channels at once?
- search_messages searches across channels, so one query can cover the whole workspace. Scope it with the query itself, and store the channel name on each item so triagers know where the request came from.