> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/guardrails/_mcp/server. # Colang 2.0 Language Reference > Reference documentation for Colang 2.0 syntax, events, actions, flows, variables, and the standard library. #### [Introduction](/configure-guardrails/colang/colang-2/language-reference/introduction) Understand Colang 2.0 concepts and basic syntax. #### [Event Generation and Matching](/configure-guardrails/colang/colang-2/language-reference/event-generation-and-matching) Learn how Colang generates and matches events. #### [Working with Actions](/configure-guardrails/colang/colang-2/language-reference/working-with-actions) Use actions and action events in Colang. #### [Defining Flows](/configure-guardrails/colang/colang-2/language-reference/defining-flows) Define, start, await, and compose flows. #### [Working with Variables and Expressions](/configure-guardrails/colang/colang-2/language-reference/working-with-variables-and-expressions) Use variables and expressions in Colang. #### [Flow Control](/configure-guardrails/colang/colang-2/language-reference/flow-control) Use branching, loops, and return or abort statements. #### [Colang Standard Library (CSL)](/configure-guardrails/colang/colang-2/language-reference/the-standard-library) Use the Colang Standard Library modules. #### [Make Use of LLMs](/configure-guardrails/colang/colang-2/language-reference/make-use-of-llms) Configure and use LLM-related features. #### [More on Flows](/configure-guardrails/colang/colang-2/language-reference/more-on-flows) Explore advanced flow behavior and conflict resolution. #### [Python Actions](/configure-guardrails/colang/colang-2/language-reference/python-actions) Call custom Python actions from Colang. #### [Development and Debugging](/configure-guardrails/colang/colang-2/language-reference/development-and-debugging) Debug Colang flows and inspect runtime state. This chapter is a comprehensive introduction to Colang, explaining all important concepts in a bottom up approach. * [Introduction](/configure-guardrails/colang/colang-2/language-reference/introduction#reference_introduction) * [Event Generation & Matching](/configure-guardrails/colang/colang-2/language-reference/event-generation-and-matching#event-generation-and-matching) * [Working with Actions](/configure-guardrails/colang/colang-2/language-reference/working-with-actions#working-with-actions) * [Defining Flows](/configure-guardrails/colang/colang-2/language-reference/defining-flows#defining-flows) * [Working with Variables & Expressions](/configure-guardrails/colang/colang-2/language-reference/working-with-variables-and-expressions#working-with-variables-and-expressions) * [Flow control](/configure-guardrails/colang/colang-2/language-reference/flow-control#flow-control) * [Colang Standard Library (CSL)](/configure-guardrails/colang/colang-2/language-reference/the-standard-library#the-standard-library) * [Make use of Large Language Models (LLM)](/configure-guardrails/colang/colang-2/language-reference/make-use-of-llms#make-use-of-llms) * [More on Flows](/configure-guardrails/colang/colang-2/language-reference/more-on-flows#more-on-flows) * [Python Actions](/configure-guardrails/colang/colang-2/language-reference/python-actions#python-actions) * [Development and Debugging](/configure-guardrails/colang/colang-2/language-reference/development-and-debugging#development-and-debugging) > Reference documentation for Colang 2.0 syntax, events, actions, flows, variables, and the standard library. ## Docs - [Introduction](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/introduction.md): Colang is an event-based modeling language to enable the design of highly flexible conversational interactions between a human and a bot. Since learning a new language is not an ea - [Event Generation & Matching](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/event-generation-and-matching.md): When working with Colang, we assume to have a common event channel that contains all relevant events happening in the interactive system. From a Colang perspective, relevant events - [Working with Actions](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/working-with-actions.md): You have seen in section Event Generation & Matching how to work with events. We will now introduce actions that will enable you to better manage events and their temporal dependen - [Defining Flows](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/defining-flows.md): So far you have seen only one flow, the main flow. But in Colang we can define many different flows, like functions in other programming languages. A flow defines a specific intera - [Working with Variables & Expressions](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/working-with-variables-and-expressions.md): Like Python, Colang supports these fundamental data types: `string`, `int`, `float`, `bool`, `list`, `set`, `dict`, in addition to the Colang specific event, action and flow refere - [Flow control](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/flow-control.md): Flow control is an essential tool in all programming languages, and Colang supports this as well. It enables branching and repetition of interaction patterns in a single flow. - [Colang Standard Library (CSL)](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/the-standard-library.md): The Colang Standard Library (CSL) provides an abstraction from the underlying event and action layer and offers a semantic interface to design interaction patterns between the bot - [Fundamental Core Flows](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/the-standard-library/core.md): The core library that contains all relevant flows related to user and bot utterance events and actions. - [Timing Flows](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/the-standard-library/timing.md): Flows related to timing and reacting to periods of silence. - [LLM Flows](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/the-standard-library/lmm.md): Trigger a bot utterance similar to given text - [Interactive Avatar Modality Flows](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/the-standard-library/avatars.md): **User Event Flows** - [Guardrail Flows](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/the-standard-library/guardrails.md): Flows to guardrail user inputs and LLM responses. - [User Attention Flows](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/the-standard-library/attention.md): Flows to handle user attention. - [Make use of Large Language Models (LLM)](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/make-use-of-llms.md): At its core, Colang does not require a Large Language Model (LLM) as backend. However, many of the more advanced mechanisms in the Colang Standard Library (CSL) depend on one. - [More on Flows](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/more-on-flows.md): In section Defining Flows, we learned the core mechanisms of flows. In this section will look at more advanced topics that are related to flows. - [Python Actions](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/python-actions.md): In the section Working with Actions, you have seen how actions can be used in the context of UMIM events. Additionally, you can also use the action concept to call custom python fu - [Development and Debugging](https://docs.nvidia.com/nemo/guardrails/v0.24.0/configure-guardrails/colang/colang-2/language-reference/development-and-debugging.md): Currently, the Colang story designing and building environment is fairly limited, but will be improved on in the future.