> For the complete documentation index, see [llms.txt](https://docs.calwincloud.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.calwincloud.com/calwin-script/machine-link/machine-link-events.md).

# Machine Link Events

In a Machine Link project the script code is executed as events that happens during different phases of the project execution.

There two types of event - per telegram and global. The telegram events must be named with the telegram name post fixed. Ie. `PostParseMain_T1` where T1 is the telegram name.

The events are:

<table><thead><tr><th width="301">Name</th><th width="145" data-type="checkbox">Per telegram</th><th>Description</th></tr></thead><tbody><tr><td><a href="/calwin-script/machine-link/machine-link-events/initialize-and-finalize.md">Initialization</a></td><td>false</td><td>Called before anything else</td></tr><tr><td><a href="/calwin-script/machine-link/machine-link-events/initialize-and-finalize.md">Finalization</a></td><td>false</td><td>Called after the execution is complete</td></tr><tr><td><a href="/calwin-script/machine-link/machine-link-events/beforeoptimization.md">OnBeforeOptimization</a></td><td>false</td><td>Only on Optimization G2</td></tr><tr><td><a href="/calwin-script/machine-link/machine-link-events/preparsemain_xxx.md">PreParseMain</a></td><td>true</td><td></td></tr><tr><td><a href="/calwin-script/machine-link/machine-link-events/postparsemain_xxx.md">PostParseMain</a></td><td>true</td><td></td></tr><tr><td><a href="/calwin-script/machine-link/machine-link-events/parsechild_xxx.md">ParseChild</a></td><td>true</td><td></td></tr><tr><td><a href="/calwin-script/machine-link/machine-link-events/beforeoutput_xxx.md">BeforeOutput</a></td><td>true</td><td></td></tr></tbody></table>
