Getting started
This runs the same core as the CLI and GUI, entirely in your browser via
Pyodide — nothing is uploaded anywhere.
- Open project from a zip or folder (pick which with the Project from radio buttons), or Start empty project to begin with nothing.
- Pick a task button; the fields and description below change to match what it needs.
- Press the Run button (its label matches the task) and wait for the result.
- Run as many tasks as you like against the same open project — Extract's phrases are immediately there for Build Intents (NL), Create Config's config is immediately there for Build Intents (DD), and so on, with no downloading or re-uploading in between.
- Download project (next to the file count) at any point to get the current state as a zip — the config, phrases, and any built
intents folder.
Project folder layout (at the root of the zip/folder, same convention as the CLI/GUI):
Training Phrases/en/ — DD phrase files (en, es, fr)
Training Phrases/en/NL/ — NL phrase files
intents.cfg — DD config
intents_nl.cfg — NL config (created by Build Intents (NL))
Differences from the CLI/GUI: this always uses the standard naming rules, folder
names and supported language set (no Settings tab yet), and any confirmation prompt
(a Build NL duplicate-phrase warning, or a - removal row) is answered
"yes" automatically instead of asking you — a -- row is the way to
remove something deliberately without relying on that.
Validate
Checks a project zip before building, without creating any files.
- Config file name: leave blank to check the standard
intents.cfg and intents_nl.cfg in the zip, or name a different one.
- Checks that the Training Phrases folder exists for each language actually used in the config - a supported language that isn't used yet doesn't need a folder.
- Runs the same config checks as a build: errors would stop a build, warnings are listed but a build would continue.
- Entity tags must look like
<entity|text>; a missing <, > or | is reported with its line numbers.
- DD intents that share a phrase are reported only when they also share a language and a context.
- A row starting with
- or -- is reported as marked for removal, without deleting anything - nothing is written by Validate.
Build Intents (DD)
Builds directed dialog intents from a config file in the uploaded zip.
- Config file name: leave blank for
intents.cfg at the zip's root.
- Each config row has 7 comma-separated values; the last one is optional: Intent, Context, Language, Action, Entities, DTMF, Machine learning.
- Phrases are read from
Training Phrases/<language>/<action>.txt.
- The default-language row (English,
en, unless changed) supplies the shared intent definition; with no such row, one is generated from the first row.
- A priority can follow the intent name in braces, e.g.
MYAC.Billing.Pay{high}.
- A row starting with
- or -- removes instead of builds (asking to confirm first for a single -; nothing left asked for --, or three or more dashes) - a default-language row removes the whole intent, any other language only that language's phrases. This also deletes matching files left over from a previous build.
- Clear the intents folder first zips everything in the intents folder and removes it before building.
- Package: choosing Merge or Zip here uploads an export zip and merges this same build into a copy of it, in the same step - see the Merge/Package help sections for what each does. Nothing zip-related happens if you leave it on "None".
Build Intents (NL)
Builds natural language intents from the phrase files in Training Phrases/<language>/NL.
- Vertical prefix: starts every intent name, e.g.
RTL gives RTL.Billing.
- Context: the context used by all NL intents; blank uses
GetIntent.
- Reuse the existing NL config: builds from the uploaded
intents_nl.cfg instead of recreating it from the phrase files.
- A file name ending in
^ turns machine learning off; ending in -NM returns the action nomatch.
- Phrases can mark entities as
<entity|text>, e.g. pay <sys.unit-currency|$20>.
- Package: the same as Build Intents (DD)'s - also merges this build into a copy of the export zip, in the same step.
Create Config
Creates a config file from an uploaded Excel design document.
- The workbook needs one sheet with a header row and one intent per row below it.
- Header names are found automatically, anywhere in the first rows: Intent, Context, Language, Action, Entities, DTMF, Machine Learning.
- Sheet name: leave blank to use the first sheet with an Intent/Context/Language/Action header.
- Blank rows are skipped. The new rows are checked with the same rules as a build.
- Download the result, fix anything the checks flagged, then use Build Intents (DD) directly — no re-upload needed, it's the same open project.
Compare
Shows what a build would change in the Dialogflow agent, without writing any files.
- Export the agent from the Dialogflow ES console (Settings > Export and Import > Export as ZIP).
- Upload that export zip alongside your project zip, choose the mode and config file name, then run.
- Results list intents that would be added, changed (contexts, action, priority, machine learning, entities, phrases), and intents only in the export.
- Intents only in the export aren't built by this config — they may belong to other modules, or need deleting from the agent by hand.
Merge
Takes the intents already built in the project (both DD and NL write to the same intents folder, so there's no mode or config to pick here) and produces a complete copy of an uploaded agent export zip, for Dialogflow's Restore action. The export itself is never modified. (Build Intents (DD)/Build Intents (NL) can do this in the same step as the build - see their help sections.)
- Build Intents (DD) and/or (NL) first if the intents folder needs updating - Merge doesn't build anything itself.
- Upload the export zip and run. New/changed intents are added, replacing any existing file with the same name; everything else (other intents, entities,
agent.json, package.json) is carried over unchanged.
- An intent removed from the intents folder by a past build stays in the export - Merge has no config to read a removal row from, so it can't tell that apart from an intent that simply belongs to another module. It's listed as "only in the export" either way, to delete from the agent by hand if needed.
- When it finishes, a Download <name> button appears for the merged copy — it isn't added to the project, so it isn't part of Download project.
Package
Takes the intents already built in the project and produces a partial copy of an uploaded agent export zip with just the new/changed intents, for Dialogflow's Import action. The export itself is never modified. (Build Intents (DD)/Build Intents (NL) can do this in the same step as the build - see their help sections.)
- Build Intents (DD) and/or (NL) first if the intents folder needs updating - Package doesn't build anything itself.
- Upload the export zip and run. Only adds new intents or overwrites ones with the same name, and never deletes -
agent.json/package.json aren't included, since this tool never writes them.
- Intents only in the export are listed, same as Compare/Merge, in case any should be deleted from the agent by hand - Package can't delete anything either way.
- When it finishes, a Download <name> button appears for the packaged copy — it isn't added to the project, so it isn't part of Download project.