Workflow triggers and steps reference
A TeleportHQ workflow starts with one trigger and continues with steps (TeleportHQ calls both nodes). This page lists every trigger and step in the Add Node menu, grouped by the menu's categories, with one line on what each does. To add one, click the round + (Add node) below a box on the workflow canvas, type its name in Search nodes..., point at its category and click it.
How to read this list
- (must be last): the step shows an END badge and can only be the last step in its workflow.
- (can be tested): you can run the step on its own with Test this node…. See How to test a workflow step.
- (browser only): the step needs a visitor's browser, so it can't be used in Scheduled (Cron) or Webhook Received workflows. Whole categories marked browser only are listed in their heading.
- The + shows when you point at a box, and always below the last box of a workflow. The menu's categories open when you point at them.
Triggers (what starts a TeleportHQ workflow)
To pick a trigger, right-click a workflow's first box (or point at it and click its … button, Node options) and choose Replace node type. The Replace Node Type menu lists the trigger categories below.
General
- User is Logged In: runs when a visitor logs in, or opens a page while logged in. Needs user accounts.
- User is Logged Out: runs when a visitor logs out.
- Page is Loaded: runs when a chosen page, or every page, loads. On your published site it also runs again when a visitor opens another record of the same page, changes the address after
?or switches language. See Do page-load workflows run again when a visitor opens another record of the same page?. A run that waits for Delay After Load (ms) is cancelled if the visitor leaves the page before the wait is over. - The Page Is Scrolled Past a Point: runs when the visitor scrolls a chosen page, or every page, past A quarter, Halfway, Three quarters or The end, Once per visit or Every time.
- Component is Loaded: runs each time a chosen component appears on any page. Its Delay After Load (ms) is cancelled in the same way when the visitor leaves the page first.
- Route Changed: runs after the visitor moves to another page.
- An Unhandled Error is Thrown: runs when an error happens anywhere on the site, for example to report it.
- Workflow Error: runs when any step in this workflow fails. Every new workflow already has one.
Actions
- Form is Submitted: runs when a chosen form is sent.
- An Element is Clicked: runs when a chosen element is clicked (or double-clicked or right-clicked).
- An Element Becomes Visible: runs when a chosen element scrolls into view.
- A Chapter Is Reached: runs when the visitor reaches a chosen chapter of a Scroll Scene, Once per visit or Every time. See What is a scroll story (Scroll Scene)?.
- A Scene Is Scrolled Past a Point: runs when the visitor scrolls a Scroll Scene past A quarter, Halfway, Three quarters or The end.
- An Input's Value is Updated: runs when a visitor types in or changes a chosen field.
- A Custom Event is Triggered: runs on a named event, such as the words a Voice Dictation step reports. It doesn't currently run for events sent with Emit Custom Event: a TeleportHQ workflow that uses Emit Custom Event doesn't start a workflow with this trigger. To run the same steps from several workflows, put them in a custom node and add it with the Custom Node step. See How to reuse a group of steps.
- Element Event: runs on any browser event of a chosen element, such as focus or mouse enter. On a group of radio buttons with Event Type set to Change, the workflow gets the value of the radio button the visitor picked, and Event Target is that radio button.
Data Triggers
Item Added, Item Updated and Item Deleted are meant to run when a row in a chosen table is added, changed or removed. These TeleportHQ Data Triggers don't currently start workflows, so a workflow that begins with one of them never runs. Use one of these instead:
- The change happens in a workflow, for example a form saves an order with Create Item: add the follow-up steps, such as Send Email, right after that data step in the same workflow.
- The change happens somewhere else, for example in another service: start the workflow with Webhook Received when that service reports the change, or with Scheduled (Cron) to check the table at set times.
Scheduled
- Scheduled (Cron): runs on the server at set times, for example every day at 9 AM. The menu marks it PRO: it needs a trial or paid plan. See How to run a workflow on a schedule.
Keyboard
- Key Pressed: runs when a chosen key is pressed, for example for shortcuts or game controls.
- Key Released: runs when a chosen key is let go.
Timing
- Interval Timer: runs again and again at a fixed interval, for example every 30 seconds.
Browser
- Window Resized: runs when the browser window becomes wider or narrower than a size you set.
State
- On State Change: runs when chosen values (states) on a page or component change.
- On Global State Change: runs when chosen site-wide values (global states) change.
Webhook
- Webhook Received: runs on the server when another service sends a request to your site's address. See How to start a workflow from a webhook.
Real-Time Triggers
Not available yet: On Channel Message, On Channel Event, On User Joined Channel and On User Left Channel show Coming Soon and can't be added.
Steps (what a TeleportHQ workflow does)
In a TeleportHQ workflow a visitor starts, the steps that need your site's server, such as the Data, Email and AI steps, run there, and their results come back to the visitor's browser so the workflow can go on. Some steps of the workflows TeleportHQ builds for your store and Bookings keep their result on the server instead, for example the customer details read to send an email: only the next steps on the server use it, and the browser never receives it. Steps on a path that an If Statement didn't take don't run, so they send nothing back.
General
- Custom JavaScript: runs your own code, in the browser or on the server. Its
customHandlerfunction gets its inputs by the names of its parameters:paramsholds the results of the trigger and the earlier steps, in order, andinnerParamsthe results of the steps inside a Loop. A Custom JavaScript step the AI builds can also have named inputs, which the code reads by name, for exampleparams.activeStep. - Trigger Download: downloads a file to the visitor's device.
- HTTP Request: calls any web API, for example to send an order to another system (can be tested).
- If Statement: splits the workflow into a true path and a false path.
- Switch Statement: sends the workflow down one of several paths, for example by user role.
- Loop: repeats steps for each item in a list, or while a condition is true.
- Parallel: runs several paths at the same time.
- Emit Custom Event: sends a named event. It doesn't currently start workflows that use A Custom Event is Triggered; use a Custom Node step to share steps between workflows instead.
- Delay: waits for a set time before continuing.
- Rate Limiter: stops too many requests, for example more than 5 form sends per hour from one visitor.
- Custom Node: runs one of your reusable custom nodes. See How to reuse a group of steps.
Navigation (browser only)
- Go to Page: opens a page of your site (must be last).
- Navigate to URL: opens any web address (must be last).
- Refresh Page: reloads the current page (must be last).
- Go Back: goes back to the previous page (must be last).
Element (browser only)
- Show Element / Hide Element: shows or hides an element, with an optional animation.
- Scroll to Element: scrolls the page to an element.
- Control a Video: plays, pauses, restarts, mutes or unmutes a Video element (Play, Pause, Play or pause, Restart from the beginning, Mute, Unmute).
- Get Input Value: reads what's in a field.
- Set Element Text: changes an element's text.
- Set Attribute / Get Attribute: changes or reads an HTML attribute of an element.
- Add Class / Remove Class / Toggle Class: adds, removes or switches a CSS class on an element.
- Get Classes: reads an element's CSS classes.
- Focus Element: puts the cursor in a field.
Forms (browser only)
- Set Input Value: fills a field with a value.
- Reset Form: clears a form back to its starting values.
- Blur Element: takes the cursor out of a field.
- Extract Form Data: collects all values of a form.
URL (browser only)
- Get Current URL: reads the page's address.
- Get Query Parameter: reads one value from the address, for example
?ref=newsletter.
AI
These steps use your own AI provider key (OpenAI, Anthropic, Google and others). See How to use your own AI provider keys.
- Custom AI Prompt: sends your own prompt to an AI model (can be tested).
- Sentiment Analysis: tells whether a text is positive, negative or neutral (can be tested).
- Summarization: shortens a text (can be tested).
- Text Classifier: sorts a text into categories you name (can be tested).
- Text Transform: rewrites a text, for example translates it or changes its tone (can be tested).
- Detect Language: finds the language of a text (can be tested).
- Generate Text Embedding: turns a text into numbers for meaning-based search (can be tested).
- AI: Select Database Data: answers a question by reading your chosen tables; it only reads data.
Data (all can be tested)
- Select Data: reads rows from a table.
- Count Data: counts rows in a table.
- Raw SQL Query: runs your own SQL query (SELECT, INSERT, UPDATE or DELETE only). When the database refuses the query, the step returns no rows and its result holds the database's error code in
code, for example23505when a value that must be unique already exists. The database's own message isn't passed on. - Create Item: adds a row.
- Update Item: changes rows that match your filters.
- Delete Item: removes rows that match your filters.
See How to save, update or delete database records with a workflow.
Transform (all can be tested)
- Calculate: does math, such as adding numbers or rounding.
- String Transform: changes text, for example replace, trim or shorten.
- Array Transform: changes lists, for example filter, sort or join.
- Object Transform: reads, sets or combines fields of an object.
- Validate Data: checks values against rules, for example a valid email.
- Convert Type: turns a value into another type, for example text into a number or a date.
- Merge Data: combines several pieces of data into one.
- Generate Data: creates random or sequential values, such as IDs or codes.
- Date/Time: formats dates, changes time zones and adds or compares dates.
- Currency: formats and calculates money amounts.
- Geolocation: works with coordinates, for example distance between two places.
- Color: converts colors and checks contrast.
- Image: resizes, crops, filters or watermarks an image.
Account
Needs user accounts to be turned on: until they are, pointing at Account shows Authentication Not Activated with an Activate Authentication button. See How to add sign-up and login to your site.
- Sign Up: creates a new user account (must be last).
- Log In: logs a user in with email and password (must be last).
- Social Login: logs a user in with a provider such as Google (must be last).
- Log Out: logs the user out (must be last).
- Get Current Account: reads the signed-in user's details.
- Refresh Session: reloads the signed-in user's details after they change.
- Delete Current Account: permanently deletes the signed-in user and their data (must be last).
- Hash Password: turns a password into a secure hash (can be tested).
- Compare Passwords: checks a password against a stored hash (can be tested).
E-Commerce
Needs your store to be turned on: until it is, pointing at E-Commerce shows E-Commerce Not Activated with an Activate E-Commerce button. The payment steps (Charge User, Refund Payment, Ensure Subscription Plan, Manage Subscription, Open Billing Portal and Close Open Checkout) stay greyed out with "Configure a payment provider in E-Commerce settings first" until your store has a payment provider. See How to accept payments with Stripe or PayPal.
- Add Item to Cart / Remove Item from Cart / Update Item Quantity / Clear Cart: change the shopper's cart.
- Get Cart Items / Get Cart Total: read the cart and its total.
- Price Order On Server: prices the order from your database and your store's settings, so a visitor can't change the price.
- Charge User: takes a payment through your store's payment provider (must be last).
- Refund Payment: refunds a payment in full or in part.
- Ensure Subscription Plan: makes sure the payment provider has a billing plan for a recurring product, and returns its id.
- Manage Subscription: cancels, pauses, resumes or reads back a subscription at the payment provider that bills it.
- Open Billing Portal: gets the provider's page where a subscriber updates their payment method and sees their invoices.
- Close Open Checkout: closes the payment page an unpaid order still has open with its provider, before the order is marked paid or cancelled another way.
- Get E-commerce Settings: reads your store settings.
- Generate Invoice: creates an invoice for an order and can email it.
For subscriptions in your store, see How to sell subscriptions and manage subscribers.
Toast (browser only)
- Show Toast: shows a short message on screen, such as "Item added to cart!".
Email (all can be tested)
- Send Email (SendGrid), Send Email (Mailgun), Send Email (Mailersend), Send Email (Postmark), Send Email (Resend): send an email through that service. See How to send emails and text messages.
SMS (all can be tested)
- Send SMS (Twilio), Send SMS (TextMagic), Send SMS (Infobip), Send SMS (SMSAPI): send a text message through that service.
Push Notifications
- Send Push Notification: sends a notification to the browsers subscribed to your site's notifications: everyone, one signed-in user or one browser. It runs on the server, so scheduled and webhook workflows can use it. See How to send push notifications to your visitors.
State (browser only)
- Update Local State / Update Global State: change a value on the page or across the site.
- Get Local State / Get Global State: read a value.
- Batch State Update: changes several values at once.
Audio (browser only)
- Play Audio: plays a sound or background music.
- Stop Audio: stops a sound, with an optional fade-out.
File Storage
- Upload File(s): saves files to your web app's storage. See How to let visitors upload and store files.
- List Files: lists stored files.
- Get File Details: reads one file's details.
- Delete File: permanently deletes a stored file.
Storage (browser only)
- Get from LocalStorage / Set in LocalStorage / Remove from LocalStorage: read, save or remove a value kept in the visitor's browser.
- Get from SessionStorage / Set in SessionStorage / Remove from SessionStorage: the same, for values kept only until the browser tab closes.
Cache
- Get from Cache: reads a value saved earlier.
- Store in Cache: saves a value for a set time (5 minutes by default).
- Clear Cache: removes all saved values in a scope.
- Refresh Published Page: rebuilds a page on your live site so a change shows right away.
The Add Node menu lists this category as cache, in lowercase and without a description.
Browser (browser only)
- Ask Permission: asks the visitor for access, such as location or notifications.
- Get Location: reads the visitor's location.
- Pick File(s): opens the file picker.
- Read Clipboard / Write Clipboard: reads or copies text.
- Show Notification: shows a notification while the visitor has your page open, asking for permission first.
- Subscribe to Push: asks the visitor for permission and subscribes this browser to your site's push notifications. Run it from a click.
- Unsubscribe from Push: stops push notifications to this browser and deletes its saved subscription.
- Get Push Subscription: checks, without asking the visitor, whether this browser can receive push notifications and is subscribed.
- Share: opens the device's share menu.
- Get Device Info / Get Network Status / Get Media Devices: read details about the device, connection, cameras and microphones.
- Toggle Fullscreen: enters or leaves full screen.
- Print Page: opens the print window.
- Text to Speech: reads text aloud.
- Speech to Text: turns what the visitor says into text, once.
- Voice Dictation: starts, stops or toggles a longer dictation and reports the words as named events, which a workflow with A Custom Event is Triggered can pick up.
Utilities
- Scrape Website: reads content from a web page (can be tested).
- Get YouTube Transcript: reads a YouTube video's transcript (can be tested).
- Extract Text from PDF: reads the text of a PDF (can be tested).
- Extract Text from Image (OCR): reads text from an image.
- Verify Email: checks that an email address is valid and can receive mail (can be tested).
- Verify Phone Number: checks that a phone number is valid.
- Anonymize/Mask Data: hides personal data, such as parts of an email.
- Full Text Search / Semantic Search / Hybrid Search: search texts by words, by meaning, or both.
- Similarity Scoring: scores how similar two texts are.
- Extract Emails/Phones: finds email addresses and phone numbers in a text or page (can be tested).
- Extract Links: finds all links in a text or page (can be tested).
- Generate Invoice PDF / Generate PDF: create a PDF.
- Format Phone Number: formats a phone number (can be tested).
- Parse URL: splits a web address into its parts (can be tested).
- Hash Data: creates a hash of data (can be tested).
- Encode/Decode: encodes or decodes data, for example Base64 (can be tested).
- Generate QR Code / Generate Barcode: create a QR code or barcode.
- Parse CSV / Parse XML: turn CSV or XML text into data (can be tested).
- Markdown to HTML: converts Markdown text to HTML (can be tested).
Integrations (all can be tested)
Over 70 apps, including Slack, Google Sheets, HubSpot, Notion, Airtable, Mailchimp, Stripe, Trello and Jira. See How to connect other apps with workflow integrations for the full list.
Real-Time
Not available yet: Join Channel, Leave Channel, List Channels, List Channel Members, Send Channel Message and Send Channel Event show Coming Soon and can't be added.