{"schemaVersion":1,"catalogVersion":"673e8549","name":"NoriaFlow","alternateName":"Noria","canonicalUrl":"https://noriaflow.com","productType":"Hosted visual no-code workflow automation and custom bot builder","summary":"NoriaFlow lets users build, test and host event-driven workflows visually. It combines provider triggers and actions with conditions, reusable data, persistent memory, webhooks, schedules and live execution diagnostics.","differentiators":["A visual graph instead of a fixed list of preset bot commands","Bring-your-own Discord bot identity","Multiple integrations can be combined in one workflow","Node and whole-workflow dry testing before activation","Version history, validation and execution diagnostics","ChatGPT and Claude can edit inactive drafts through the optional NoriaFlow MCP connector"],"importantLimits":["NoriaFlow is a hosted workflow product, not a general-purpose code hosting platform.","An AI connected through MCP cannot activate a workflow; activation remains a user action.","Roblox real-time in-game events require game-side code, while Open Cloud actions work through the hosted connector."],"providers":[{"id":"discord","name":"Discord","summary":"Listen to your server and act on it — messages, members, roles, moderation, voice and interactions.","color":"#5865f2","triggerCount":23,"actionCount":97,"capabilities":[{"id":"trigger.discord.message","label":"Discord — Message","description":"Trigger when a message is sent in a Discord channel","category":"trigger","group":"Messages & reactions","nodeType":"trigger.discord.message","destructive":false,"support":"supported"},{"id":"trigger.discord.member","label":"Discord — Member","description":"Trigger when a member joins, leaves, or receives a role","category":"trigger","group":"People","nodeType":"trigger.discord.member","destructive":false,"support":"supported"},{"id":"trigger.discord.voice","label":"Discord — Voice Channel","description":"Trigger when a member joins or disconnects from voice, starts streaming, or mutes","category":"trigger","group":"Voice","nodeType":"trigger.discord.voice","destructive":false,"support":"supported"},{"id":"trigger.discord.reaction","label":"Discord — Reaction","description":"Trigger when a reaction is added to or removed from a message","category":"trigger","group":"Messages & reactions","nodeType":"trigger.discord.reaction","destructive":false,"support":"supported"},{"id":"trigger.discord.slash_command","label":"Discord — Slash Command","description":"Trigger when a slash command is used — define options to pass arguments (user, text, number…)","category":"trigger","group":"Commands & buttons","nodeType":"trigger.discord.slash_command","destructive":false,"support":"supported"},{"id":"trigger.discord.message_edit","label":"Discord — Message Edited","description":"Trigger when a message is edited in a Discord channel","category":"trigger","group":"Messages & reactions","nodeType":"trigger.discord.message_edit","destructive":false,"support":"supported"},{"id":"trigger.discord.message_delete","label":"Discord — Message Deleted","description":"Trigger when a message is deleted in a Discord channel","category":"trigger","group":"Messages & reactions","nodeType":"trigger.discord.message_delete","destructive":false,"support":"supported"},{"id":"trigger.discord.automod_action","label":"Discord — AutoMod Blocked Something","description":"Trigger when Discord's built-in AutoMod acts on a message","category":"trigger","group":"Server admin","nodeType":"trigger.discord.automod_action","destructive":false,"support":"supported"},{"id":"trigger.discord.channel","label":"Discord — Channel Created / Updated / Deleted","description":"Trigger when a channel is created, renamed, deleted, or its pins change","category":"trigger","group":"Server admin","nodeType":"trigger.discord.channel","destructive":false,"support":"supported"},{"id":"trigger.discord.role","label":"Discord — Role Created / Updated / Deleted","description":"Trigger when a role is created, changed, or deleted","category":"trigger","group":"Server admin","nodeType":"trigger.discord.role","destructive":false,"support":"supported"},{"id":"trigger.discord.thread","label":"Discord — Thread Created / Updated / Deleted","description":"Trigger when a thread or forum post is created, changed, or deleted","category":"trigger","group":"Server admin","nodeType":"trigger.discord.thread","destructive":false,"support":"supported"},{"id":"trigger.discord.invite","label":"Discord — Invite Created / Deleted","description":"Trigger when someone creates or revokes an invite link","category":"trigger","group":"Server admin","nodeType":"trigger.discord.invite","destructive":false,"support":"supported"},{"id":"trigger.discord.scheduled_event","label":"Discord — Scheduled Event","description":"Trigger when a scheduled event is created, changed, cancelled, or someone RSVPs","category":"trigger","group":"Server admin","nodeType":"trigger.discord.scheduled_event","destructive":false,"support":"supported"},{"id":"trigger.discord.automod_rule","label":"Discord — AutoMod Rule Changed","description":"Trigger when an AutoMod rule is created, edited, or removed","category":"trigger","group":"Server admin","nodeType":"trigger.discord.automod_rule","destructive":false,"support":"supported"},{"id":"trigger.discord.audit_log","label":"Discord — Audit Log Entry","description":"Trigger when something is recorded in the server audit log (who kicked, banned, deleted…)","category":"trigger","group":"Server admin","nodeType":"trigger.discord.audit_log","destructive":false,"support":"supported"},{"id":"trigger.discord.poll_vote","label":"Discord — Poll Vote","description":"Trigger when someone votes on (or withdraws a vote from) a poll","category":"trigger","group":"Messages & reactions","nodeType":"trigger.discord.poll_vote","destructive":false,"support":"supported"},{"id":"trigger.discord.button","label":"Discord — Button Click","description":"Trigger when a user clicks a button component on a message","category":"trigger","group":"Commands & buttons","nodeType":"trigger.discord.button","destructive":false,"support":"supported"},{"id":"trigger.discord.select_menu","label":"Discord — Select Menu","description":"Trigger when a user picks option(s) from a select menu component","category":"trigger","group":"Commands & buttons","nodeType":"trigger.discord.select_menu","destructive":false,"support":"supported"},{"id":"trigger.discord.modal_submit","label":"Discord — Modal Submitted","description":"Trigger when a user submits a modal (form) — read its fields and reply to the submission","category":"trigger","group":"Commands & buttons","nodeType":"trigger.discord.modal_submit","destructive":false,"support":"supported"},{"id":"trigger.discord.ticket","label":"When a ticket changes","description":"Continue a workflow when the built-in Ticket Panel opens, claims, closes or updates a ticket.","category":"trigger","group":"Commands & buttons","nodeType":"trigger.discord.ticket","destructive":false,"support":"partial"},{"id":"trigger.discord.self_role","label":"When a self role changes","description":"Continue a workflow after the built-in Self Role panel grants or removes a role.","category":"trigger","group":"Commands & buttons","nodeType":"trigger.discord.self_role","destructive":false,"support":"partial"},{"id":"trigger.discord.giveaway","label":"When a giveaway changes","description":"Continue a workflow when someone enters, withdraws, or when the built-in Giveaway draw ends.","category":"trigger","group":"Commands & buttons","nodeType":"trigger.discord.giveaway","destructive":false,"support":"partial"},{"id":"trigger.discord.guild_ban","label":"Discord — Ban / Unban","description":"Trigger when a user is banned or unbanned from the server","category":"trigger","group":"People","nodeType":"trigger.discord.guild_ban","destructive":false,"support":"supported"},{"id":"send_message","label":"Send Message","description":"Post a message in a channel.","category":"action","group":"Messages","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"send_embed","label":"Send Embed","description":"Post a rich embed card in a channel.","category":"action","group":"Messages","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"send_dm","label":"Send Direct Message","description":"Send a private message to a member.","category":"action","group":"Messages","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"delete_message","label":"Delete Message","description":"Delete a message from a channel.","category":"action","group":"Messages","nodeType":"action.discord","destructive":true,"support":"supported"},{"id":"react","label":"Add Reaction","description":"Add an emoji reaction to a message.","category":"action","group":"Messages","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"reply_interaction","label":"Reply to Slash Command","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Interactions","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"followup_interaction","label":"Followup Message","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Interactions","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"open_modal","label":"Open a Form Modal","description":"Open a form when a button is clicked.","category":"action","group":"Interactions","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"add_role","label":"Add Role","description":"Give a role to a member.","category":"action","group":"Roles","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"remove_role","label":"Remove Role","description":"Take a role away from a member.","category":"action","group":"Roles","nodeType":"action.discord","destructive":true,"support":"supported"},{"id":"kick","label":"Kick Member","description":"Remove a member from the server.","category":"action","group":"Moderation","nodeType":"action.discord","destructive":true,"support":"supported"},{"id":"ban","label":"Ban Member","description":"Ban a member from the server.","category":"action","group":"Moderation","nodeType":"action.discord","destructive":true,"support":"supported"},{"id":"unban","label":"Unban User","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Moderation","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"timeout","label":"Timeout Member","description":"Mute a member for a set time.","category":"action","group":"Moderation","nodeType":"action.discord","destructive":true,"support":"supported"},{"id":"set_nickname","label":"Set Nickname","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Members","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"voice_mute","label":"Server Mute / Unmute","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Voice","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"voice_deafen","label":"Server Deafen / Undeafen","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Voice","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"set_roles","label":"Set Member Roles (replace all)","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Roles","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"edit_message","label":"Edit Message","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Messages","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"pin_message","label":"Pin Message","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Messages","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"unpin_message","label":"Unpin Message","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Messages","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"remove_reaction","label":"Remove Reaction","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Messages","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"remove_all_reactions","label":"Remove All Reactions","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Messages","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"bulk_delete","label":"Bulk Delete (purge)","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Messages","nodeType":"action.discord","destructive":true,"support":"supported"},{"id":"crosspost","label":"Crosspost (publish)","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Messages","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"get_message","label":"Get Message","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Messages","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"list_messages","label":"Get Recent Messages","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Messages","nodeType":"action.discord","destructive":false,"support":"partial"},{"id":"end_poll","label":"End Poll","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Messages","nodeType":"action.discord","destructive":true,"support":"supported"},{"id":"get_poll_voters","label":"Get Poll Voters","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Messages","nodeType":"action.discord","destructive":false,"support":"partial"},{"id":"get_reactors","label":"Get Reactors","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Messages","nodeType":"action.discord","destructive":false,"support":"partial"},{"id":"list_pins","label":"List Pinned Messages","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Messages","nodeType":"action.discord","destructive":false,"support":"partial"},{"id":"get_member","label":"Get Member","description":"Look up a member and their roles.","category":"action","group":"Members","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"get_guild_info","label":"Get Server Info","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Administration","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"list_members","label":"List Members","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Members","nodeType":"action.discord","destructive":false,"support":"partial"},{"id":"search_members","label":"Search Members","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Members","nodeType":"action.discord","destructive":false,"support":"partial"},{"id":"list_channels","label":"List Channels","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Channels","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"get_user","label":"Get User","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Members","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"check_ban","label":"Check If Banned","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Moderation","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"list_audit_log","label":"Read Audit Log","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Moderation","nodeType":"action.discord","destructive":false,"support":"partial"},{"id":"list_active_threads","label":"List Active Threads","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Threads","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"bulk_ban","label":"Ban Multiple Members","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Moderation","nodeType":"action.discord","destructive":true,"support":"supported"},{"id":"update_automod_rule","label":"Update AutoMod Rule","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Moderation","nodeType":"action.discord","destructive":false,"support":"partial"},{"id":"list_roles","label":"List Roles","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Roles","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"update_role","label":"Update Role","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Roles","nodeType":"action.discord","destructive":false,"support":"partial"},{"id":"get_channel","label":"Get Channel Info","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Channels","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"set_channel_permission","label":"Set Channel Permission","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Channels","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"clear_channel_permission","label":"Reset Channel Permission","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Channels","nodeType":"action.discord","destructive":true,"support":"supported"},{"id":"list_channel_invites","label":"List Channel Invites","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Channels","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"follow_channel","label":"Follow Announcement Channel","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Channels","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"list_thread_members","label":"List Thread Members","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Threads","nodeType":"action.discord","destructive":false,"support":"partial"},{"id":"join_thread","label":"Join Thread","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Threads","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"leave_thread","label":"Leave Thread","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Threads","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"list_archived_threads","label":"List Archived Threads","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Threads","nodeType":"action.discord","destructive":false,"support":"partial"},{"id":"create_channel","label":"Create Channel","description":"Create a new text or voice channel.","category":"action","group":"Channels","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"delete_channel","label":"Delete Channel","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Channels","nodeType":"action.discord","destructive":true,"support":"supported"},{"id":"create_thread","label":"Create Thread","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Threads","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"create_invite","label":"Create Invite","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Channels","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"move_to_voice","label":"Move to Voice","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Voice","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"disconnect_voice","label":"Disconnect from Voice","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Voice","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"remove_timeout","label":"Remove Timeout","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Moderation","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"create_role","label":"Create Role","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Roles","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"delete_role","label":"Delete Role","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Roles","nodeType":"action.discord","destructive":true,"support":"supported"},{"id":"create_event","label":"Create Scheduled Event","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Scheduled events","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"delete_event","label":"Delete Scheduled Event","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Scheduled events","nodeType":"action.discord","destructive":true,"support":"supported"},{"id":"list_events","label":"List Scheduled Events","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Scheduled events","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"create_automod_rule","label":"Create AutoMod Rule","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Moderation","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"delete_automod_rule","label":"Delete AutoMod Rule","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Moderation","nodeType":"action.discord","destructive":true,"support":"supported"},{"id":"list_automod_rules","label":"List AutoMod Rules","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Moderation","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"create_webhook","label":"Create Webhook","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Webhooks","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"execute_webhook","label":"Execute Webhook","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Webhooks","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"delete_webhook","label":"Delete Webhook","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Webhooks","nodeType":"action.discord","destructive":true,"support":"supported"},{"id":"archive_thread","label":"Archive Thread","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Threads","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"lock_thread","label":"Lock Thread","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Threads","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"add_thread_member","label":"Add Thread Member","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Threads","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"remove_thread_member","label":"Remove Thread Member","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Threads","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"create_emoji","label":"Create Emoji","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Administration","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"delete_emoji","label":"Delete Emoji","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Administration","nodeType":"action.discord","destructive":true,"support":"supported"},{"id":"update_channel","label":"Update Channel","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Channels","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"update_guild","label":"Update Server","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Administration","nodeType":"action.discord","destructive":false,"support":"partial"},{"id":"prune_guild","label":"Prune Members","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Members","nodeType":"action.discord","destructive":true,"support":"supported"},{"id":"list_bans","label":"List Bans","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Moderation","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"list_invites","label":"List Invites","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Channels","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"delete_invite","label":"Delete Invite","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Channels","nodeType":"action.discord","destructive":true,"support":"supported"},{"id":"get_role","label":"Get Role","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Roles","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"preview_prune","label":"Preview Inactive Members","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Members","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"list_emojis","label":"List Emojis","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Administration","nodeType":"action.discord","destructive":false,"support":"partial"},{"id":"pause_invites","label":"Pause Invites & DMs (raid shield)","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Moderation","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"show_typing","label":"Show Typing","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Channels","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"list_channel_webhooks","label":"List Channel Webhooks","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Webhooks","nodeType":"action.discord","destructive":false,"support":"partial"},{"id":"list_voice_members","label":"List Voice Channel Members","description":"Perform any Discord action — send messages, manage members, reply to commands","category":"action","group":"Voice","nodeType":"action.discord","destructive":false,"support":"supported"},{"id":"action.discord.welcome","label":"Greet new members","description":"Attach to a Member trigger: greets arrivals in a channel or privately, hands them their starting roles, and posts a goodbye when they leave — no other nodes needed.","category":"action","group":"Ready-made automations","nodeType":"action.discord.welcome","destructive":false,"support":"supported"},{"id":"action.discord.autoresponder","label":"Reply to a phrase","description":"Attach to a Message trigger: when a message contains one of your phrases, the bot answers, reacts or writes privately — with a cooldown so it never spams.","category":"action","group":"Ready-made automations","nodeType":"action.discord.autoresponder","destructive":false,"support":"supported"},{"id":"action.discord.self_role","label":"Pick a Role","description":"Post a message where members get a role by clicking a button, picking from a dropdown, or reacting with an emoji (your choice) — no other nodes needed.","category":"action","group":"Ready-made automations","nodeType":"action.discord.self_role","destructive":false,"support":"supported"},{"id":"action.discord.giveaway","label":"Run a giveaway","description":"Post a giveaway members enter by clicking a button or reacting, then automatically pick and announce winners when it ends — no other nodes needed.","category":"action","group":"Ready-made automations","nodeType":"action.discord.giveaway","destructive":false,"support":"supported"},{"id":"action.discord.leveling","label":"XP & Levels","description":"Attach to a Message trigger: awards XP per message, tracks levels automatically, announces level-ups and can grant roles at chosen levels — no other nodes needed.","category":"action","group":"Ready-made automations","nodeType":"action.discord.leveling","destructive":false,"support":"supported"},{"id":"action.discord.word_filter","label":"Block Bad Words","description":"Attach to a Message trigger: deletes messages containing any banned word, and can warn, timeout and log the author — no other nodes needed.","category":"action","group":"Ready-made automations","nodeType":"action.discord.word_filter","destructive":false,"support":"supported"},{"id":"action.discord.ticket_panel","label":"Support Tickets","description":"Post a message where members open a private ticket channel by clicking a button. Support staff get Close plus optional Claim, Hold, Escalate, Priority and Transcript controls. No other nodes needed.","category":"action","group":"Ready-made automations","nodeType":"action.discord.ticket_panel","destructive":false,"support":"supported"}]},{"id":"twitch","name":"Twitch","summary":"React to your channel — follows, subs, bits, raids, channel points and chat — and act back on it.","color":"#9146ff","triggerCount":20,"actionCount":30,"capabilities":[{"id":"trigger.twitch.chat_message","label":"Chat Message","description":"Fires when a chat message is received","category":"trigger","group":"Chat","nodeType":"trigger.twitch.chat_message","destructive":false,"support":"supported"},{"id":"trigger.twitch.new_follower","label":"New Follower","description":"Fires when someone follows the channel","category":"trigger","group":"Followers & subs","nodeType":"trigger.twitch.new_follower","destructive":false,"support":"supported"},{"id":"trigger.twitch.new_sub","label":"New Subscription","description":"Fires when someone subscribes to the channel","category":"trigger","group":"Followers & subs","nodeType":"trigger.twitch.new_sub","destructive":false,"support":"supported"},{"id":"trigger.twitch.resub","label":"Re-subscription Message","description":"Fires when a viewer shares a re-subscription message in chat","category":"trigger","group":"Followers & subs","nodeType":"trigger.twitch.resub","destructive":false,"support":"supported"},{"id":"trigger.twitch.gift_sub","label":"Gift Subscription","description":"Fires when a subscription is gifted","category":"trigger","group":"Followers & subs","nodeType":"trigger.twitch.gift_sub","destructive":false,"support":"supported"},{"id":"trigger.twitch.bits","label":"Bits Cheered","description":"Fires when someone cheers bits","category":"trigger","group":"Hype & goals","nodeType":"trigger.twitch.bits","destructive":false,"support":"supported"},{"id":"trigger.twitch.raid","label":"Raid Received","description":"Fires when another channel raids","category":"trigger","group":"Stream","nodeType":"trigger.twitch.raid","destructive":false,"support":"supported"},{"id":"trigger.twitch.stream_online","label":"Stream Goes Live","description":"Fires when the stream goes online","category":"trigger","group":"Stream","nodeType":"trigger.twitch.stream_online","destructive":false,"support":"supported"},{"id":"trigger.twitch.stream_offline","label":"Stream Goes Offline","description":"Fires when the stream ends","category":"trigger","group":"Stream","nodeType":"trigger.twitch.stream_offline","destructive":false,"support":"supported"},{"id":"trigger.twitch.channel_point_redeem","label":"Channel Point Redeemed","description":"Fires when a viewer redeems a channel point reward","category":"trigger","group":"Channel points","nodeType":"trigger.twitch.channel_point_redeem","destructive":false,"support":"supported"},{"id":"trigger.twitch.ban","label":"User Banned / Timed Out","description":"Fires when a user is banned or timed out","category":"trigger","group":"Moderation","nodeType":"trigger.twitch.ban","destructive":false,"support":"supported"},{"id":"trigger.twitch.channel_update","label":"Stream Info Changed","description":"Fires when the title, category or language of the stream changes","category":"trigger","group":"Stream","nodeType":"trigger.twitch.channel_update","destructive":false,"support":"supported"},{"id":"trigger.twitch.ad_break","label":"Ad Break Started","description":"Fires when an ad break begins — the moment to post \"brb, ads\"","category":"trigger","group":"Stream","nodeType":"trigger.twitch.ad_break","destructive":false,"support":"supported"},{"id":"trigger.twitch.hype_train_begin","label":"Hype Train Started","description":"Fires when a hype train begins","category":"trigger","group":"Hype & goals","nodeType":"trigger.twitch.hype_train_begin","destructive":false,"support":"supported"},{"id":"trigger.twitch.hype_train_end","label":"Hype Train Ended","description":"Fires when a hype train finishes, with the level it reached","category":"trigger","group":"Hype & goals","nodeType":"trigger.twitch.hype_train_end","destructive":false,"support":"supported"},{"id":"trigger.twitch.poll_end","label":"Poll Ended","description":"Fires when a poll closes, with the final vote counts","category":"trigger","group":"Channel points","nodeType":"trigger.twitch.poll_end","destructive":false,"support":"supported"},{"id":"trigger.twitch.prediction_end","label":"Prediction Resolved","description":"Fires when a prediction is resolved or cancelled","category":"trigger","group":"Channel points","nodeType":"trigger.twitch.prediction_end","destructive":false,"support":"supported"},{"id":"trigger.twitch.goal_end","label":"Goal Ended","description":"Fires when a creator goal finishes — reached or not","category":"trigger","group":"Hype & goals","nodeType":"trigger.twitch.goal_end","destructive":false,"support":"supported"},{"id":"trigger.twitch.sub_end","label":"Subscription Ended","description":"Fires when someone's subscription lapses","category":"trigger","group":"Followers & subs","nodeType":"trigger.twitch.sub_end","destructive":false,"support":"supported"},{"id":"trigger.twitch.redemption_update","label":"Redemption Updated","description":"Fires when a channel point redemption is fulfilled or refunded","category":"trigger","group":"Channel points","nodeType":"trigger.twitch.redemption_update","destructive":false,"support":"supported"},{"id":"send_chat","label":"Send Chat Message","description":"Post a message in your Twitch chat.","category":"action","group":"Chat","nodeType":"action.twitch","destructive":false,"support":"supported"},{"id":"send_announcement","label":"Send Announcement","description":"Post a highlighted announcement in chat.","category":"action","group":"Chat","nodeType":"action.twitch","destructive":false,"support":"supported"},{"id":"timeout_user","label":"Timeout User","description":"Time out a viewer for a set time.","category":"action","group":"Moderation","nodeType":"action.twitch","destructive":true,"support":"supported"},{"id":"ban_user","label":"Ban User","description":"Ban a viewer from your chat.","category":"action","group":"Moderation","nodeType":"action.twitch","destructive":true,"support":"supported"},{"id":"unban_user","label":"Unban User","description":"Perform any Twitch action — send chat, moderate, update stream, create clips","category":"action","group":"Moderation","nodeType":"action.twitch","destructive":false,"support":"supported"},{"id":"clear_chat","label":"Clear Chat","description":"Perform any Twitch action — send chat, moderate, update stream, create clips","category":"action","group":"Chat","nodeType":"action.twitch","destructive":true,"support":"supported"},{"id":"update_title","label":"Update Stream Info","description":"Change your stream title or category.","category":"action","group":"Stream","nodeType":"action.twitch","destructive":false,"support":"partial"},{"id":"create_clip","label":"Create Clip","description":"Perform any Twitch action — send chat, moderate, update stream, create clips","category":"action","group":"Stream","nodeType":"action.twitch","destructive":false,"support":"supported"},{"id":"send_shoutout","label":"Send Shoutout","description":"Perform any Twitch action — send chat, moderate, update stream, create clips","category":"action","group":"Chat","nodeType":"action.twitch","destructive":false,"support":"supported"},{"id":"update_redemption_status","label":"Update Redemption Status","description":"Perform any Twitch action — send chat, moderate, update stream, create clips","category":"action","group":"Channel Points","nodeType":"action.twitch","destructive":false,"support":"supported"},{"id":"update_chat_settings","label":"Update Chat Settings","description":"Perform any Twitch action — send chat, moderate, update stream, create clips","category":"action","group":"Moderation","nodeType":"action.twitch","destructive":false,"support":"partial"},{"id":"get_chat_settings","label":"Get Chat Settings","description":"Perform any Twitch action — send chat, moderate, update stream, create clips","category":"action","group":"Moderation","nodeType":"action.twitch","destructive":false,"support":"supported"},{"id":"get_stream_info","label":"Get Stream Info","description":"Check if you are live and read stream stats.","category":"action","group":"Stream","nodeType":"action.twitch","destructive":false,"support":"supported"},{"id":"get_followers","label":"Get Followers","description":"Check whether a viewer follows you.","category":"action","group":"Community","nodeType":"action.twitch","destructive":false,"support":"supported"},{"id":"get_chatters","label":"Get Chatters","description":"Perform any Twitch action — send chat, moderate, update stream, create clips","category":"action","group":"Community","nodeType":"action.twitch","destructive":false,"support":"supported"},{"id":"start_raid","label":"Start Raid","description":"Perform any Twitch action — send chat, moderate, update stream, create clips","category":"action","group":"Stream","nodeType":"action.twitch","destructive":false,"support":"supported"},{"id":"cancel_raid","label":"Cancel Raid","description":"Perform any Twitch action — send chat, moderate, update stream, create clips","category":"action","group":"Stream","nodeType":"action.twitch","destructive":false,"support":"supported"},{"id":"create_poll","label":"Create Poll","description":"Perform any Twitch action — send chat, moderate, update stream, create clips","category":"action","group":"Engagement","nodeType":"action.twitch","destructive":false,"support":"supported"},{"id":"end_poll","label":"End Poll","description":"Perform any Twitch action — send chat, moderate, update stream, create clips","category":"action","group":"Engagement","nodeType":"action.twitch","destructive":true,"support":"supported"},{"id":"create_prediction","label":"Create Prediction","description":"Perform any Twitch action — send chat, moderate, update stream, create clips","category":"action","group":"Engagement","nodeType":"action.twitch","destructive":false,"support":"supported"},{"id":"end_prediction","label":"End Prediction","description":"Perform any Twitch action — send chat, moderate, update stream, create clips","category":"action","group":"Engagement","nodeType":"action.twitch","destructive":true,"support":"supported"},{"id":"create_reward","label":"Create Channel Point Reward","description":"Perform any Twitch action — send chat, moderate, update stream, create clips","category":"action","group":"Channel Points","nodeType":"action.twitch","destructive":false,"support":"partial"},{"id":"update_reward","label":"Update Channel Point Reward","description":"Perform any Twitch action — send chat, moderate, update stream, create clips","category":"action","group":"Channel Points","nodeType":"action.twitch","destructive":false,"support":"partial"},{"id":"delete_reward","label":"Delete Channel Point Reward","description":"Perform any Twitch action — send chat, moderate, update stream, create clips","category":"action","group":"Channel Points","nodeType":"action.twitch","destructive":true,"support":"partial"},{"id":"list_rewards","label":"List Channel Point Rewards","description":"Perform any Twitch action — send chat, moderate, update stream, create clips","category":"action","group":"Channel Points","nodeType":"action.twitch","destructive":false,"support":"partial"},{"id":"list_redemptions","label":"List Reward Redemptions","description":"Perform any Twitch action — send chat, moderate, update stream, create clips","category":"action","group":"Channel Points","nodeType":"action.twitch","destructive":false,"support":"partial"},{"id":"get_channel_info","label":"Get Channel Info","description":"Perform any Twitch action — send chat, moderate, update stream, create clips","category":"action","group":"Stream","nodeType":"action.twitch","destructive":false,"support":"supported"},{"id":"start_commercial","label":"Start Commercial","description":"Perform any Twitch action — send chat, moderate, update stream, create clips","category":"action","group":"Stream","nodeType":"action.twitch","destructive":true,"support":"supported"},{"id":"get_ad_schedule","label":"Get Ad Schedule","description":"Perform any Twitch action — send chat, moderate, update stream, create clips","category":"action","group":"Stream","nodeType":"action.twitch","destructive":false,"support":"supported"},{"id":"snooze_next_ad","label":"Snooze Next Ad","description":"Perform any Twitch action — send chat, moderate, update stream, create clips","category":"action","group":"Stream","nodeType":"action.twitch","destructive":false,"support":"supported"}]},{"id":"youtube","name":"YouTube","summary":"Go-live and new-video triggers, plus read access to channels, playlists, videos and comments.","color":"#ff4d4d","triggerCount":2,"actionCount":8,"capabilities":[{"id":"trigger.youtube.stream_went_live","label":"Stream Goes Live","description":"Fires when the channel starts a live broadcast on YouTube","category":"trigger","group":"Live","nodeType":"trigger.youtube.stream_went_live","destructive":false,"support":"partial"},{"id":"trigger.youtube.new_video","label":"New Video","description":"Fires when the channel uploads a new video","category":"trigger","group":"Videos","nodeType":"trigger.youtube.new_video","destructive":false,"support":"supported"},{"id":"action.youtube.list_videos","label":"Get Videos","description":"Get public video details by video ID","category":"action","group":"Videos","nodeType":"action.youtube.list_videos","destructive":false,"support":"partial"},{"id":"action.youtube.list_channels","label":"Get Channels","description":"Get public channel details by ID, handle, or legacy username","category":"action","group":"Channels","nodeType":"action.youtube.list_channels","destructive":false,"support":"partial"},{"id":"action.youtube.search","label":"Search YouTube","description":"Search public YouTube videos, channels, and playlists (costs 100× a normal read — avoid running it on a short schedule)","category":"action","group":"Search","nodeType":"action.youtube.search","destructive":false,"support":"partial"},{"id":"action.youtube.list_playlists","label":"Get Playlists","description":"List public playlists for a channel or by playlist ID","category":"action","group":"Playlists","nodeType":"action.youtube.list_playlists","destructive":false,"support":"partial"},{"id":"action.youtube.list_playlist_items","label":"Get Playlist Items","description":"List the videos and resources contained in a public playlist","category":"action","group":"Playlists","nodeType":"action.youtube.list_playlist_items","destructive":false,"support":"partial"},{"id":"action.youtube.list_comment_threads","label":"Get Comment Threads","description":"List public top-level comments and their replies","category":"action","group":"Comments","nodeType":"action.youtube.list_comment_threads","destructive":false,"support":"partial"},{"id":"action.youtube.list_comments","label":"Get Comment Replies","description":"List the replies under one comment thread","category":"action","group":"Comments","nodeType":"action.youtube.list_comments","destructive":false,"support":"partial"},{"id":"action.youtube.list_video_categories","label":"Get Video Categories","description":"Look up YouTube category names for a region","category":"action","group":"Videos","nodeType":"action.youtube.list_video_categories","destructive":false,"support":"partial"}]},{"id":"resend","name":"Resend","summary":"Send transactional email and read what was sent.","color":"#10b981","triggerCount":0,"actionCount":3,"capabilities":[{"id":"action.resend.get_emails","label":"Retrieve a list of emails","description":"Retrieve a list of emails","category":"action","group":"Actions","nodeType":"action.resend.get_emails","destructive":false,"support":"supported"},{"id":"action.resend.post_emails","label":"Send an email","description":"Send an email","category":"action","group":"Actions","nodeType":"action.resend.post_emails","destructive":false,"support":"supported"},{"id":"action.resend.get_emails_email_id","label":"Retrieve a single email","description":"Retrieve a single email","category":"action","group":"Actions","nodeType":"action.resend.get_emails_email_id","destructive":false,"support":"supported"}]},{"id":"roblox","name":"Roblox","summary":"Check and manage Roblox experiences through Open Cloud, with credentials hosted by Noria.","color":"#e2231a","triggerCount":0,"actionCount":3,"capabilities":[{"id":"action.roblox.get_status","label":"Check Roblox connection","description":"Check that Noria can reach this experience and that its Open Cloud key is valid.","category":"action","group":"Observe","nodeType":"action.roblox.get_status","destructive":false,"support":"supported"},{"id":"action.roblox.publish_message","label":"Send to Roblox servers","description":"Publish a message to every live server subscribed to an Open Cloud topic.","category":"action","group":"Communicate","nodeType":"action.roblox.publish_message","destructive":false,"support":"supported"},{"id":"action.roblox.restart_servers","label":"Restart Roblox servers","description":"Request a graceful restart of the live servers in this experience.","category":"action","group":"Manage","nodeType":"action.roblox.restart_servers","destructive":true,"support":"supported"}]},{"id":"fivem","name":"FiveM","summary":"Monitor players and control a public FiveM server without installing a Noria resource.","color":"#f59e0b","triggerCount":4,"actionCount":5,"capabilities":[{"id":"trigger.fivem.status_changed","label":"FiveM went online or offline","description":"Run when the server becomes reachable or unreachable.","category":"trigger","group":"Server events","nodeType":"trigger.fivem.status_changed","destructive":false,"support":"supported"},{"id":"trigger.fivem.player_count_changed","label":"Player count changed","description":"Run when the number of connected players changes.","category":"trigger","group":"Player events","nodeType":"trigger.fivem.player_count_changed","destructive":false,"support":"supported"},{"id":"trigger.fivem.player_joined","label":"Player joined","description":"Run when a player appears in the public player list.","category":"trigger","group":"Player events","nodeType":"trigger.fivem.player_joined","destructive":false,"support":"supported"},{"id":"trigger.fivem.player_left","label":"Player left","description":"Run when a player disappears from the public player list.","category":"trigger","group":"Player events","nodeType":"trigger.fivem.player_left","destructive":false,"support":"supported"},{"id":"action.fivem.get_status","label":"Get server status","description":"Read live status and the privacy-safe player list.","category":"action","group":"Observe","nodeType":"action.fivem.get_status","destructive":false,"support":"supported"},{"id":"action.fivem.announce","label":"Announce in game","description":"Send a server-wide chat message through RCON.","category":"action","group":"Communicate","nodeType":"action.fivem.announce","destructive":false,"support":"supported"},{"id":"action.fivem.kick_player","label":"Kick player","description":"Disconnect a player by server ID with an optional reason.","category":"action","group":"Moderate","nodeType":"action.fivem.kick_player","destructive":true,"support":"supported"},{"id":"action.fivem.manage_resource","label":"Manage resource","description":"Start, stop or restart one FiveM resource.","category":"action","group":"Manage","nodeType":"action.fivem.manage_resource","destructive":true,"support":"supported"},{"id":"action.fivem.run_command","label":"Run RCON command","description":"Advanced escape hatch for an existing FiveM server command.","category":"action","group":"Advanced","nodeType":"action.fivem.run_command","destructive":true,"support":"supported"}]},{"id":"minecraft","name":"Minecraft","summary":"Monitor and control a Minecraft Java server through its native status and RCON protocols.","color":"#62b34f","triggerCount":2,"actionCount":5,"capabilities":[{"id":"trigger.minecraft.status_changed","label":"Minecraft went online or offline","description":"Run when the server becomes reachable or unreachable.","category":"trigger","group":"Server events","nodeType":"trigger.minecraft.status_changed","destructive":false,"support":"supported"},{"id":"trigger.minecraft.player_count_changed","label":"Player count changed","description":"Run when the public player count changes.","category":"trigger","group":"Player events","nodeType":"trigger.minecraft.player_count_changed","destructive":false,"support":"supported"},{"id":"action.minecraft.get_status","label":"Get server status","description":"Read status, MOTD, version and player count with the native Minecraft ping protocol.","category":"action","group":"Observe","nodeType":"action.minecraft.get_status","destructive":false,"support":"supported"},{"id":"action.minecraft.announce","label":"Announce in game","description":"Broadcast a message through Minecraft RCON.","category":"action","group":"Communicate","nodeType":"action.minecraft.announce","destructive":false,"support":"supported"},{"id":"action.minecraft.whitelist_player","label":"Manage whitelist","description":"Add or remove a player from the whitelist.","category":"action","group":"Players","nodeType":"action.minecraft.whitelist_player","destructive":false,"support":"supported"},{"id":"action.minecraft.moderate_player","label":"Moderate player","description":"Kick, ban or pardon a player.","category":"action","group":"Moderate","nodeType":"action.minecraft.moderate_player","destructive":true,"support":"supported"},{"id":"action.minecraft.run_command","label":"Run RCON command","description":"Advanced escape hatch for an existing Minecraft command.","category":"action","group":"Advanced","nodeType":"action.minecraft.run_command","destructive":true,"support":"supported"}]}],"coreCapabilities":[{"id":"trigger.webhook","label":"Webhook","description":"Trigger workflow via HTTP request","category":"trigger","group":"Triggers","nodeType":"trigger.webhook","destructive":false,"support":"supported"},{"id":"trigger.schedule","label":"Schedule","description":"Run workflow on a cron schedule","category":"trigger","group":"Triggers","nodeType":"trigger.schedule","destructive":false,"support":"supported"},{"id":"trigger.manual","label":"Manual Trigger","description":"Manually trigger this workflow from the dashboard","category":"trigger","group":"Triggers","nodeType":"trigger.manual","destructive":false,"support":"supported"},{"id":"action.http.request","label":"HTTP Request","description":"Make an HTTP request to any API or URL","category":"action","group":"Actions","nodeType":"action.http.request","destructive":false,"support":"supported"},{"id":"action.email.send","label":"Send Email","description":"Send an email via SMTP","category":"action","group":"Actions","nodeType":"action.email.send","destructive":false,"support":"supported"},{"id":"condition.if","label":"Check a condition","description":"Branch the workflow based on a condition","category":"condition","group":"Actions","nodeType":"condition.if","destructive":false,"support":"supported"},{"id":"condition.switch","label":"Pick one of several paths","description":"Route workflow through one of several cases","category":"condition","group":"Actions","nodeType":"condition.switch","destructive":false,"support":"supported"},{"id":"condition.filter","label":"Only continue if true","description":"Continue only if a condition passes, otherwise stop","category":"condition","group":"Actions","nodeType":"condition.filter","destructive":false,"support":"supported"},{"id":"logic.delay","label":"Delay","description":"Pause briefly (up to 5 min) before the next node. For longer or restart-proof waits, use the Wait node instead.","category":"logic","group":"Actions","nodeType":"logic.delay","destructive":false,"support":"supported"},{"id":"logic.loop","label":"Repeat a step","description":"Run a step once per item in a list, or a fixed number of times. The Item branch runs once PER iteration (with {{loop.item}} / {{loop.index}} / {{loop.iteration}}), then the Done branch runs with the aggregated results.","category":"logic","group":"Actions","nodeType":"logic.loop","destructive":false,"support":"supported"},{"id":"logic.cooldown","label":"Anti-spam / slow down repeats","description":"Let this run through at most once every N seconds — great for anti-spam. While still cooling down, the Blocked branch runs instead.","category":"logic","group":"Actions","nodeType":"logic.cooldown","destructive":false,"support":"supported"},{"id":"logic.subworkflow","label":"Run another workflow","description":"Run another one of your workflows and pass its result downstream. The Error branch runs if the called workflow fails.","category":"logic","group":"Actions","nodeType":"logic.subworkflow","destructive":false,"support":"supported"},{"id":"logic.wait_event","label":"Wait for an event / durable delay","description":"Pause the workflow WITHOUT holding a worker — until a matching event arrives, or a duration elapses — then continue. Unlike Delay, this survives restarts and can wait hours or days. The event/timer payload becomes this node's output.","category":"logic","group":"Actions","nodeType":"logic.wait_event","destructive":false,"support":"supported"},{"id":"logic.signal_wait","label":"Wake up or cancel another workflow's Wait","description":"Wake up (or cancel) ANOTHER workflow run that is paused in a Wait node, by its correlation key — e.g. an \"/endgiveaway\" command ending the wait a \"/giveaway\" command started.","category":"logic","group":"Actions","nodeType":"logic.signal_wait","destructive":false,"support":"supported"},{"id":"transform.set_variable","label":"Create or change a value","description":"Give a simple name to text, a number or information from a previous step, then reuse it later in this run","category":"transform","group":"Actions","nodeType":"transform.set_variable","destructive":false,"support":"supported"},{"id":"transform.store","label":"Remember a value across runs","description":"Get / set / increment / delete a value that persists across executions (counters, leaderboards, flags — scoped to you)","category":"transform","group":"Actions","nodeType":"transform.store","destructive":false,"support":"supported"},{"id":"transform.record","label":"Remember information","description":"Remember information for future runs, or use information that was saved earlier","category":"transform","group":"Actions","nodeType":"transform.record","destructive":false,"support":"supported"},{"id":"transform.collection","label":"Collect entries across runs","description":"A durable list that grows across runs — collect entries (giveaway sign-ups, a waitlist, a queue), block duplicates atomically, then list, count, pick a random (or bonus-weighted) winner, remove or clear them. Scoped to you; optional expiry and size cap.","category":"transform","group":"Actions","nodeType":"transform.collection","destructive":false,"support":"supported"},{"id":"transform.leaderboard","label":"Scores & rankings","description":"Durable scores with a REAL Top-N ranking — points, XP, levels, “top chatters”. Add or increment a member’s score, then read the top, a score, or a rank. Scoped to you; optional expiry.","category":"transform","group":"Actions","nodeType":"transform.leaderboard","destructive":false,"support":"supported"},{"id":"transform.template","label":"Build a message","description":"Build a string using {{node.field}} interpolation","category":"transform","group":"Actions","nodeType":"transform.template","destructive":false,"support":"supported"},{"id":"transform.json_parse","label":"JSON Parse","description":"Parse a JSON string into an object","category":"transform","group":"Actions","nodeType":"transform.json_parse","destructive":false,"support":"supported"},{"id":"transform.json_stringify","label":"JSON Stringify","description":"Convert an object to a JSON string","category":"transform","group":"Actions","nodeType":"transform.json_stringify","destructive":false,"support":"supported"},{"id":"transform.math","label":"Math","description":"Perform an arithmetic operation on two numbers","category":"transform","group":"Actions","nodeType":"transform.math","destructive":false,"support":"supported"},{"id":"transform.extract","label":"Pick a value from data","description":"Extract one or more nested fields from an object using dot-paths — each becomes its own named value","category":"transform","group":"Actions","nodeType":"transform.extract","destructive":false,"support":"supported"},{"id":"transform.merge","label":"Merge Objects","description":"Merge two objects into one","category":"transform","group":"Actions","nodeType":"transform.merge","destructive":false,"support":"supported"},{"id":"transform.split_text","label":"Split Text","description":"Split a string by a delimiter into an array","category":"transform","group":"Actions","nodeType":"transform.split_text","destructive":false,"support":"supported"},{"id":"transform.list","label":"Work with a list","description":"Transform a list — map, filter, sort, group, reduce, aggregate, pick at random and more — with {{item}} expressions.","category":"transform","group":"Actions","nodeType":"transform.list","destructive":false,"support":"supported"},{"id":"transform.expression","label":"Build a value","description":"Evaluate one or more expressions — build an object { a: x, b: y }, an array [x, y], or compute values like price * qty, each under its own name.","category":"transform","group":"Actions","nodeType":"transform.expression","destructive":false,"support":"supported"},{"id":"transform.regex","label":"Regex","description":"Extract (with capture groups), replace, or test text with a regular expression.","category":"transform","group":"Actions","nodeType":"transform.regex","destructive":false,"support":"supported"},{"id":"transform.date","label":"Date & time","description":"Date math — now, add or subtract a duration, the difference between two dates, format, or compare. Can output a Unix timestamp or a ready Discord <t:…> tag for live countdowns.","category":"transform","group":"Actions","nodeType":"transform.date","destructive":false,"support":"supported"}],"links":{"features":"https://noriaflow.com/features","comparisons":"https://noriaflow.com/compare","templates":"https://noriaflow.com/templates","documentation":"https://noriaflow.com/docs","machineReadableCapabilities":"https://noriaflow.com/capabilities.json","workflowAuthoringGuide":"https://noriaflow.com/ai-context.txt","aiSiteIndex":"https://noriaflow.com/llms.txt"}}