I am building a Copilot Studio bot and want to know the best way to trigger external actions (like calling a Power Automate flow or updating a Dataverse table) directly from a conversation.

For a Copilot Studio agent, the recommended approach is to use Tools/Actions rather than trying to perform external operations directly in topics. Copilot Studio can invoke Power Automate flows, Dataverse operations, REST APIs, custom connectors, and other tools during a conversation.