{"schemaVersion":"1","contentVersion":"2026-10-18.1","slug":"controls-workflow-palette","title":"Add a step: palette and webhook controls","summary":"Choose the right kind of automation step, find built-in activities, and understand what a service webhook configures.","category":"Control reference","minutes":6,"prerequisites":["Open the named screen in Rumata. Available controls may depend on your account, permissions, and resource state."],"sections":[{"id":"catalog","title":"Find and add a step","blocks":[{"type":"paragraph","text":"[New workflow](/guides/controls-workflows#list) starts with one HTTP trigger. [Add a step](/guides/controls-workflow-palette#catalog) opens the palette beside the canvas. Selecting an item changes the draft; Create or [Save](/guides/controls-workflows#toolbar) publishes it."},{"type":"table","headers":["Control","What it does"],"rows":[["Search nodes & connectors…","Search step names, service names and operation names. Matching connector operations expand while a search is active."],["Connector name / chevron","Expand or collapse the service’s available operations. The service heading does not itself add a step."],["Connector operation","Add a request configured for that operation. Enter its credential and complete the required fields in the inspector."],["Built-in or project activity row","[Add a step](/guides/controls-workflow-palette#catalog) calling that activity. Its settings come from the activity’s configuration form, so custom activities can have different fields."],["Load more activities","Fetch the next page of project activities. Loading… temporarily prevents another request."],["Close","Dismiss the palette. Steps already added stay in the draft."]]}]},{"id":"step-choices","title":"What each step choice is for","blocks":[{"type":"paragraph","text":"Start with the simplest step that performs the job. Each has a dedicated settings reference linked below."},{"type":"table","headers":["Control","What it does"],"rows":[["HTTP Trigger / Manual Trigger / Schedule Trigger","Start from a web request, an explicit run, or a recurring schedule. A new schedule draft starts at a 60-second interval; it does not begin until saved."],["Activity","Add an unconfigured activity call. Choose the deployed activity in its settings."],["HTTP Request","Call a service through its web API. Enter the destination and configure authentication; the initial method is GET."],["Code","Transform data with a short JavaScript program in the workflow sandbox. This is separate from the full workspace code editor."],["Edit Fields (Set)","Build or change the fields passed to the next step."],["AI Agent","Ask a model to complete a task using the tools you select. It starts with no tools; configure its prompt, model, and output."],["If / Filter","Choose one of two routes, or allow only matching data to continue."],["Wait","Pause before continuing. The initial draft duration is one minute."],["Merge","Combine branches using a selected policy. The initial policy waits for all branches."],["Switch","Route data to the first matching case, or to the default output when none matches."]]}]},{"id":"webhooks","title":"Service webhook choices","blocks":[{"type":"paragraph","text":"These are Rumata’s displayed setup hints. Adding a branded trigger creates an HTTP route; it does not sign into the service or install a subscription there. Review the service’s current setup and event-verification requirements before accepting real events."},{"type":"table","headers":["Control","What it does"],"rows":[["Webhook → On incoming request","Start the workflow when any external service POSTs to a generated URL. Send your events as an HTTP POST to the URL below."],["Slack → On event","Start the workflow from a [Slack](/guides/controls-workflow-palette#webhooks) Events API subscription. Paste this URL into [Slack](/guides/controls-workflow-palette#webhooks) → your app → Event Subscriptions → Request URL."],["GitHub → On webhook","Start the workflow from a [GitHub](/guides/controls-workflow-palette#webhooks) repository webhook (push, PR, …). Add this URL under [GitHub](/guides/controls-workflow-palette#webhooks) → repo → Settings → Webhooks → Payload URL."],["Telegram → On message","Start the workflow when your [Telegram](/guides/controls-workflow-palette#webhooks) bot receives an update. Register this URL with [Telegram](/guides/controls-workflow-palette#webhooks) via setWebhook?url=<the URL below>."],["Stripe → On event","Start the workflow from a [Stripe](/guides/controls-workflow-palette#webhooks) webhook (payment succeeded, …). Add this URL under [Stripe](/guides/controls-workflow-palette#webhooks) → Developers → Webhooks → Add endpoint."],["GitLab → On webhook","Start the workflow from a [GitLab](/guides/controls-workflow-palette#webhooks) project webhook. Add this URL under [GitLab](/guides/controls-workflow-palette#webhooks) → project → Settings → Webhooks → URL."],["Shopify → On webhook","Start the workflow from a [Shopify](/guides/controls-workflow-palette#webhooks) webhook (order created, …). Add this URL under [Shopify](/guides/controls-workflow-palette#webhooks) → Settings → Notifications → Webhooks."]]}]}],"technical":[],"related":["controls-workflows","controls-workflow-nodes","controls-workflow-triggers","controls-connectors"],"sources":["components/window/explorer/graph-workflows/NodePalette.tsx","components/window/explorer/graph-workflows/node-catalog.ts","components/window/explorer/graph-workflows/templates.ts","src/sql/system_init/connectors/catalog.json"],"updated":"2026-09-06","audience":"general","media":[{"src":"https://docs.rumata.dev/media/workflow-palette.jpg","alt":"Rumata Add a step palette beside an existing workflow, listing triggers and service connectors.","caption":"[Add a step](/guides/controls-workflow-palette#catalog) groups triggers, connectors, activities, and control nodes. This reference capture uses a separate example factory. Select a step to review its configuration before adding it.","width":1181,"height":834,"sectionId":"catalog"}],"video":null,"url":"https://docs.rumata.dev/guides/controls-workflow-palette"}