Virbe Documentation

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

FieldDescription
Action nameThe name of the action – this is the identifier your client-side code listens for
ValueOptional payload of any type, passed to the client along with the action (supports variable interpolation)

How it works

When the node executes:

  1. The pipeline emits a custom action message with the configured name and value
  2. The action is delivered to the connected touchpoint client (Web Widget, Unreal, or Unity app)
  3. The SDK raises an event – in the Web Widget SDK this is onCustomMessageAction – with the action's name and value in the payload
  4. 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 ActionCall Webhook
Where it executesClient side – in the touchpoint SDKServer side – any HTTP endpoint
DirectionOne-way event, no result returnedRequest/response, result stored in a variable
Requires dev setup✅ Event handler in the client application❌ Just needs a URL
Best forUI changes, 3D scene control, app-side effectsData 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.

On this page