J‑Graph compatibility with JAICP DSL
Basic J‑Graph concepts such as states, state groups, and blocks, all correspond to constructs of JAICP DSL — the language used for JAICP bot script development.
tip
J‑Graph is fully compatible with the source code editor.
All changes made in J‑Graph are saved automatically as code, and vice versa: all changes to the code are immediately shown on the canvas.
J‑Graph and JAICP DSL compatibility allows for efficient collaboration between different team members involved in developing conversational AI solutions:
- Conversational UI designers can design a script prototype in the visual editor before passing it on to the development team.
- Developers tasked with this project won’t be starting from scratch: J‑Graph has already generated a large portion of the code for them.
States
In JAICP DSL, states correspond to the state
tag. State groups correspond to nested states.
For example, the following script fragment opened in J‑Graph corresponds to the following code structure:
theme: /
state: Symptoms
state: Positive
# ...
state: Negative
# ...
state: Unrecognized
# ...
Blocks
All blocks in J‑Graph correspond to JAICP DSL tags, and their settings correspond to tag parameters. Refer to the documentation on the relevant tag to better understand how any given block works.
User phrases and events
J‑Graph | JAICP DSL |
---|---|
User phrase (intent) block | intent tag |
Event block | event tag |
Pattern block | q tag |
Go to state field (for events and patterns) The bot should go… field (for intents) | toState parameter |
Ignore transitions from nested states checkbox | onlyThisState parameter |
Triggers
J‑Graph | JAICP DSL |
---|---|
User phrase (intent) block | intent or intent! tag |
Event block | event or event! tag |
Pattern block | q or q! tag |
Global trigger checkbox | If enabled, the global tag is used |
Expect trigger from state field | fromState parameter |
Ignore triggers from nested states checkbox | onlyThisState parameter |
Reactions
J‑Graph block | JAICP DSL tag |
---|---|
Text | a |
Image | image |
Audio | audio |
Condition | if elseif else |
Random answer | random |
Button group | buttons inlineButtons (if the button press reaction is Go to link) |
Transition | go (if the transition is deferred) go! (if the transition is immediate) |
Code | script |
Actions
J‑Graph block | JAICP DSL tag |
---|---|
Actions with Google Sheets | GoogleSheets |
End session | EndSession |
HTTP request | HttpRequest |
Request confirmation | Confirmation |
Request file | InputFile |
Request number | InputNumber |
Request phone number | InputPhoneNumber |
Request text | InputText |
Send email | Email |
Send SMS | Sms |
Telegram payment | TelegramPayment |
Transfer call to agent | TransferCallToOperator |
Transfer chat to agent | TransferToOperator |