DashaScript is an event-driven programming language intended to describe a conversation script. DashaScript program consists of nodes representing AI actions and transitions between nodes representing conversation events (basically, interlocutor's phrases).

Program written in DashaScript is called script.

The script is a part of dashaapp that determines its behavior at runtime.

Language support

To get syntax analysis and highlight, install Dasha Studio and create a file with the .dsl extension.


DashaScript is a Domain Specific Language made for describing a conversational interface.

  • node - a part of the dialogue where you can interact with a user or your application, for example, say something or call a function
  • transition - the transition between nodes of dialogue, can be conditional (for example go to node B when the user means block_card)
  • digression - an interaction with a user when the context of dialogue changes, for example when the user asks your name in any part of a dialogue
  • block - the reusable part of a dialogue, contains nodes, transitions, and digressions. For example, you can create a block, that asks a question and returns the user's response
  • context - set of variables shared between nodes in the current block.
    • input context variables - passed from your app to dialogue before its start
    • output context variables - returned to your app from dialogue when it finishes
    • internal context variables - store the state of the dialogue
  • external function - helps you interact with your application
Found a mistake? Email us, and we'll send you a free t-shirt!