Skip to main content

Overview

A persona is the caller a simulation runs as. It bundles who the customer is — language, accent, gender, base emotion, and how they speak — into a reusable caller that you pin to a customer flow variant. Roark ships a starter set of Built-in personas; add your own Custom personas for the callers you care about. Open Personas in the sidebar to see every persona in your project. From the hub you can search, create new personas, and edit or delete the custom ones.

Persona fields

Click New persona to open the persona dialog. Every field except Name is optional or has a sensible default.
English, Spanish, French, German, Italian, Portuguese, Dutch, Arabic, Greek, Hebrew, Hindi, Indonesian, Malay, Tagalog, Thai, Japanese, Chinese, Turkish
American, American (Southern), British, Australian, New Zealand, Indian, Spanish, French, German, Italian, Portuguese, Dutch, Greek, Arabic, Hebrew, Indonesian, Malaysian, Filipino, Singaporean, Hong Kong, Thai, Japanese, Turkish
Background noise is not a persona setting. It’s configured per flow variant via the Environment chip (Silent, Office, Coffee shop, City street, Driving, Airport, Children playing, Thunderstorm) — see Customer flows.

Built-in vs Custom

Every persona has a source badge:
  • Built-in — the starter set Roark ships with each project. Built-in personas are read-only in the hub: they have no edit or delete actions.
  • Custom — personas you create. Fully editable and deletable.
You can still start from a Built-in persona: load it in the inline persona editor inside a flow, tweak it, and save. Roark shows the note “System persona — saving creates an editable copy.” and creates a Custom copy with your changes, leaving the original intact.
Deleting a persona doesn’t break existing flows silently — but customer-flow variants pinned to it will need a new persona.

Pinning personas to flow variants

Personas do their work inside customer flows. Each variant in a flow carries a chip strip — Persona · Environment · Variables — and the Persona chip shows which caller that variant runs as.
  • The flow’s default variant (the happy path) must always have a concrete persona. New flows are pre-seeded with the Built-in Polite First-Time Caller persona (or your project’s first persona if that one isn’t available).
  • Non-default variants inherit the default variant’s persona automatically — the chip shows the name in muted italics, e.g. “Sarah (inherited)”. Pin a different persona on a variant to override the inheritance for that variant only.

The inline persona editor

Clicking a variant’s Persona chip opens an inline editor with two paths:
1

Pick an existing persona

Click Pick from existing personas to open the “Pick a persona” dialog. Search by name, language, or accent; each row shows the persona’s name, Language · Accent, and its Built-in or Custom badge. Picking one pins it to the variant.
2

Or author a caller in place

Fill in the same fields as the hub dialog (minus Description) directly in the panel — including a color-coded Base emotion pill grid — and click Create & use to create the persona and pin it in one step.
3

Tweak a pinned persona

With a persona pinned, the editor shows “Pinned: <name>”. Editing a Custom persona and clicking Save changes updates it in place. Editing a Built-in persona creates an editable Custom copy instead.
Because Custom personas are shared across flows, “Save changes” in the inline editor updates that persona everywhere it’s pinned. If you want a variant-only tweak, create a new persona instead.

Personas at run time

When a run executes, each simulated call is placed as the persona pinned to its flow variant. On the resulting call records, the persona appears as simulationPersonaName — the display name of the persona used in the simulation that created the call. If a persona used by a run has properties without values, Roark prompts for them in the runtime-variables step before the run starts; the values you enter are saved onto the persona itself, so future runs reuse them. See Variables.

API

Manage personas programmatically to build them from real customer data or wire persona management into CI:
  • Create PersonaPOST /v1/persona
  • Update PersonaPUT /v1/persona/{personaId}
  • Get PersonaGET /v1/persona/{personaId}
  • List PersonasGET /v1/persona
The API exposes some capabilities the platform UI doesn’t surface: a backstoryPrompt, key/value properties, secondaryLanguage, idle-message settings, and the behavioral fields backgroundNoise, intentClarity, confirmationStyle, and memoryReliability. Personas created in the UI use system defaults for these (NONE, CLEAR, EXPLICIT, HIGH); set them via the API if you need finer control.
For all parameters and response formats, see the Persona API Reference.

Best practices

  • Start with 3–5 core personas representing your most common caller types, then add edge cases as you discover them.
  • Mirror reality — base personas on real customer data and call recordings.
  • Test extremes — a Frustrated, Fast, Rambling caller stresses your agent in ways a Neutral one won’t.
  • Name for the test — “Confused elder — password reset” tells your team more than “Robert”.

Next steps

Customer flows

Pin personas to flow variants and define what should happen on the call

Running simulations

Plan and launch runs that execute your flows as these callers