# Build your first workflow

**Category:** [Orchestration](https://help.totalctrl.app/hc/totalctrl/totalctrl-help-center/en-US/categories/orchestration)
**Updated:** 2026-08-19

## From trigger to action in a few minutes

This walkthrough builds a simple workflow: when a new CRM contact is created, post a message to Slack.
### 1. Create the workflow

Open **Orchestration** and click **New workflow**. Give it a name you'll recognize later.
### 2. Choose a trigger

Click **Add trigger**, pick the **TotalCtrl** app, then choose **New CRM Contact**. This workflow will now run every time a contact is created in CRM.
### 3. Add an action

Click **Add step → Action**, choose **Slack**, and select **Send message**. If you haven't connected Slack yet, you'll be prompted to connect it first (see *Connect an app*).
### 4. Use data from the trigger

In the message field, insert a variable so the message includes the contact's details, for example:

`New contact: {{trigger.first_name}} {{trigger.last_name}} ({{trigger.email}})`
### 5. Turn it on

Toggle the workflow to **Active** and save. Create a test contact in CRM and confirm the Slack message arrives. Every run is recorded in the workflow's execution history so you can see exactly what happened.
### Tips

- Start small — one trigger, one action — then add filters and routers once it works.
- Use the execution history to debug: it shows each step's inputs, outputs, and any errors.

---

## Related Articles

- [Orchestration Overview](https://help.totalctrl.app/en-US/articles/orchestration-overview)
- [Connect an app](https://help.totalctrl.app/en-US/articles/connect-an-app-1)
- [Filters: stop a run when conditions aren't met](https://help.totalctrl.app/en-US/articles/flow-control-filters)
- [Delays: pause a workflow for minutes, hours, or days](https://help.totalctrl.app/en-US/articles/flow-control-delays)
- [Connect an app](https://help.totalctrl.app/en-US/articles/connect-an-app)

---
[← Back to TotalCtrl Help Center](https://help.totalctrl.app/en-US/)