Browse the docs

Simulations

Building a simulation: character, scenario and editor

Use the simulation editor to define the character, the scenario and the learner's role, save your changes, and test the conversation in a live preview.

Plans: All plansView as Markdown
On this page

The simulation editor is where you shape who the learner talks to and what the conversation is about. You describe the character, the scenario and the learner's role in plain language, and devlin.ai turns those answers into the character's instructions. You never write or see a raw prompt.

Before you start

  • You need a simulation to edit. See Creating a simulation, then open it from Studio.
  • The editor and every field on this page are available on all plans.
  • A simulation does not need to be published to be edited or tested. The live preview works on drafts.

Steps

  1. Open the simulation. The editor has four stages: Design, Test, Publish and Results. The Design stage is split into sections: Simulation, Evaluation, Knowledge, Variables, Start screen and Appearance. The fields on this page are in Design, in the Simulation section.
  2. Set the Simulation Name. This is the name shown in the editor header. A simulation cannot be saved with a blank name.
  3. Under AI-Powered Character, fill in the character fields (see Character fields below).
  4. Under Scenario, fill in Scenario Context and Learner Role (see Scenario fields below).
  5. Optionally add Behavior Triggers and choose a Response Length.
  6. Click Save Changes in the editor header, or press Cmd+S (Ctrl+S on Windows). The button reads Saved! for a moment when the save succeeds.
  7. Open the Test stage and hold the conversation yourself. Go back to Design, adjust, save and test again until the character behaves the way you want.

Result

The character plays the role you described, in the situation you described, and reacts to the learner the way your instructions and triggers say. Every save is recorded, so you can go back to an earlier version (see Version history).

Character fields

  • Character Name: the name the character is told it has. It also labels the simulation for screen readers.
  • Pronouns: how the character refers to itself. Choose one of the listed options or leave it at Not specified. When pronouns are set, the character is told to use self-descriptions that match them. If voice is turned on and no pronouns are set, the editor offers pronouns that match the selected voice's label, and it shows a note when your choice and the voice's label disagree. The note never blocks saving.
  • Character Description: who the character is and how they communicate (personality, speaking style, background). The character is told it is this person.
  • Character Instructions: how the character approaches this conversation (goals, strategy, what to reveal or withhold, how it escalates or softens). Leave it blank and no approach is given.
  • The character's Opening Line: in a text simulation, the first message the learner sees from the character when Character speaks first is checked.
  • Character speaks first: uncheck it to have the learner send the first message. The opening line field is then turned off, the conversation starts empty, and the character is told that the learner's first message is the learner acting in their role.
  • Input Prompt: appears only when Character speaks first is unchecked. It is the placeholder text in the learner's message box until they send their first message. Leave it blank for no placeholder.

Scenario fields

  • Scenario Context: the situation, what is happening and why the conversation is taking place.
  • Learner Role: who the learner is in relation to the character. The character is told this is who it is speaking with, so include only details the character would realistically know.

For guidance on what makes a scenario work, see Scenario design and difficulty.

Behavior triggers

A behavior trigger is a pair: When the learner... (something the learner might do or say) and Then the character will... (how the character reacts). Click + Add Behavior Trigger to add another pair, and Remove to delete one when there is more than one.

Triggers are given to the character as private stage directions. The character does not read them aloud. It expresses them through what it says and how it says it. A trigger takes effect only when both halves are filled in, and a pair that is left completely empty is dropped when you save.

If a character field, the scenario or a trigger ties behavior to a numbered turn (for example, telling the character to change on a specific turn), the editor shows a warning under that field suggesting you tie the behavior to what the learner does instead. The warning does not block saving.

Response length

Response Length sets how long the character's replies are in text conversations: Concise is the shortest, Moderate is in between, and Detailed is the longest. In voice conversations the character always keeps replies brief, whatever this setting says.

What the character always does

Whatever you write, the character is also told to stay in character, to react realistically instead of being agreeable by default, to answer what was asked without steering the conversation, and not to coach or hint at what the learner should say next unless your instructions say otherwise. Text replies are plain text without formatting.

Saving and unsaved changes

  • The editor does not save automatically. Changes are kept only when you click Save Changes or press Cmd+S (Ctrl+S).
  • Save Changes saves the section you are looking at. Each section of Design with editable settings, and the Publish stage, has its own save. The button is hidden on Test, Results and Knowledge, which have nothing to save from the header.
  • A dot next to a stage name marks unsaved changes in that stage.
  • If you switch stage or section, or leave the editor, with unsaved changes, a dialog titled You have unsaved changes asks you to choose Save Changes or Discard Changes. Saving from the dialog saves every section that has unsaved changes. Discarding returns them to their last saved values. Closing the dialog keeps you where you are.
  • Closing or reloading the browser tab with unsaved changes triggers the browser's own leave-page warning.
  • Undo and Redo in the editor header step back and forward through your edits across all sections. While your cursor is in a text field, the keyboard shortcut undoes typing in that field instead. If an undo changes a section you are not looking at, a notice offers Go to section.
  • If the simulation is published, saved changes apply to the live simulation without republishing. Saving changes to the character, scenario, learner role or behavior triggers of a published simulation runs the content screen again. If the content is rejected, the save is not applied and the editor shows the reason.

Testing in the live preview

The Test stage runs the simulation as a learner would see it, with a Preview banner at the top.

  • The preview always reflects the last save. Because the editor asks you to save or discard before you leave Design, you never test unsaved edits.
  • Restart starts a fresh conversation.
  • When voice is turned on and saved, a Text and Voice switch lets you test either mode.
  • In a text preview, click the opening line or other highlighted areas and choose Edit here to jump to the section of Design that controls it.
  • Preview messages use credits like real sessions.
  • Preview conversations are marked as test runs, separate from real learner sessions.
  • The preview runs on a temporary link that is valid for 60 minutes. Saving or clicking Restart fetches a fresh one. Once the link has run out, the preview shows "This preview has expired. Reload the page to continue." instead of answering until you do one of those. The preview's own address is not a link for learners: put the embed code or link from the Publish stage in a course, never an address that contains preview=. If the preview shows Preview unavailable, click Try again.
  • A Variables table under the preview shows the values the simulation writes as you test.

The rest of the editor

Working from an AI tool

If your workspace has the MCP server turned on, a connected AI tool can work with the same simulations:

  • list_simulations lets an AI tool list the workspace's simulations with their status and enabled publishing channels, to find the one to work on.
  • get_simulation lets an AI tool read one simulation's configuration (character, scenario, opening line and more), along with the list of fields it is allowed to change and their current values.
  • update_simulation lets an AI tool change those fields. Changes to a draft apply immediately. Changes to a published simulation need an explicit confirmation from the tool and are content screened again, and if your workspace requires in-app approval for live changes, the change waits for an owner or admin to approve it.

Of the fields on this page, an AI tool can change all except Pronouns, which is set in the editor.