Custom Action
Trigger a named client-side event in the touchpoint SDK (Web, Unreal, Unity) that your developers can listen to and react to with their own code.
The Custom Action node is an advanced feature that triggers a named client-side event in the touchpoint SDK – the Web Widget, or the Unreal / Unity kiosk application. It does not execute anything by itself: your developers subscribe to the event in the client and implement what happens when it fires. This makes it the bridge between conversation logic and the environment the virtual being lives in, for example:
- Web – change the surrounding page UI: open a panel, navigate to a page, highlight a product, switch the page theme
- Unreal / Unity (kiosk) – manipulate the 3D scene: turn on lights, play music, change the camera, animate objects in the environment
Available in: Conversational Flows and Handlers
Configuration
| Field | Description |
|---|---|
| Action name | The name of the action – this is the identifier your client-side code listens for |
| Value | Optional payload of any type, passed to the client along with the action (supports variable interpolation) |
How it works
When the node executes:
- The pipeline emits a custom action message with the configured name and value
- The action is delivered to the connected touchpoint client (Web Widget, Unreal, or Unity app)
- The SDK raises an event – in the Web Widget SDK this is
onCustomMessageAction– with the action's name and value in the payload - Your event handler runs whatever code you implemented: a UI change, a scene manipulation, a call into your own application logic
The action is one-way: the pipeline continues to the next node and does not wait for or receive a result from the client. If you need data back from your own systems, use Call Webhook instead.
Listening for the action
Web Widget – subscribe to the onCustomMessageAction event in the Web Widget SDK events and branch on the action name:
virbe.on("onCustomMessageAction", ({ action }) => {
if (action.name === "show_promo_panel") {
openPromoPanel(action.value);
}
});Unreal / Unity (kiosk) – handle the custom action event through the respective SDK integration in your kiosk application. This is typically part of a custom kiosk build – contact the Virbe team to learn more.
Comparison with Call Webhook
| Custom Action | Call Webhook | |
|---|---|---|
| Where it executes | Client side – in the touchpoint SDK | Server side – any HTTP endpoint |
| Direction | One-way event, no result returned | Request/response, result stored in a variable |
| Requires dev setup | ✅ Event handler in the client application | ❌ Just needs a URL |
| Best for | UI changes, 3D scene control, app-side effects | Data lookups, third-party API calls |
The code that reacts to a Custom Action is implemented and operated by your development team, not by Virbe. What the action does in the client – and how it handles unexpected names or payloads – is your responsibility. Actions fired for names the client does not handle are simply ignored.
Trigger Automation
Fires an Automation flow from within a Conversational Flow or Handler, running background tasks without interrupting the user-facing conversation.
Publish
Understand how Pipeline publishing and Profile deployment work together, and how to manage versions to safely ship conversation logic changes.