> ## Documentation Index
> Fetch the complete documentation index at: https://docs.introw.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Build your first workflow

> Create a workflow that moves a partner up a tier the moment they earn a certification, from an empty canvas through a rehearsal to an enabled automation.

Tiering a partner up when they certify is the classic partner-program rule that never gets enforced: the certification lands, and the tier follows whenever somebody notices. This guide builds it as a workflow, end to end: pick the trigger, narrow it to the certificate that counts, write the tier onto the partner, tell them, rehearse the whole thing against a real partner without changing anything, and switch it on. Everything you learn here, the two-part narrowing, the write mode, the rehearsal, and the enable gate, applies to every other workflow you build.

## What you'll achieve

An enabled workflow that, from the moment you switch it on, moves any partner whose contact earns your certification onto the next tier, records it on their CRM record, and emails the partner to tell them, with a rehearsal behind you proving the flow does what you meant.

## Before you start

<Steps>
  <Step title="Confirm you can build workflows">
    **Workflows** has to be in your left-hand navigation under **Engage**, and your role needs write access to it. If the menu item is missing, ask your Introw contact to switch Workflows on for your organisation.
  </Step>

  <Step title="Have a certificate and a tier program">
    This workflow triggers on a certificate being issued and writes a tier, so both need to exist. See [Create a certificate](/features/courses/certificates/guides/create-a-certificate) and [Build a tier program](/features/partners/tiers/guides/build-a-tier-program).
  </Step>

  <Step title="Pick a real partner to rehearse against">
    The test run needs one partner and, ideally, one of their contacts. Any partner will do: nothing is written.
  </Step>
</Steps>

## Watch it

<Tabs>
  <Tab title="Video">
    <video controls playsInline preload="none" poster="https://assets.introw.io/docs/features/automation/workflows/guides/build-your-first-workflow/steps/01.png?v=1787338686" className="w-full rounded-xl" src="https://assets.introw.io/docs/features/automation/workflows/guides/build-your-first-workflow/video.webm?v=1787338686#t=2.5" />
  </Tab>

  <Tab title="Click through">
    <iframe className="w-full rounded-xl" style={{ width: "100%", aspectRatio: "16 / 11", border: 0, backgroundColor: "#FAFAFA" }} src="https://assets.introw.io/docs/features/automation/workflows/guides/build-your-first-workflow/walkthrough.html?v=1787338686" />
  </Tab>
</Tabs>

## Steps

### Create the workflow

<Steps>
  <Step title="Start from scratch">
    Go to [Workflows](https://app.introw.io/workflows) and select **New workflow**. On an empty account, choose **Start from scratch** on the first-run screen. Introw creates a draft named **Untitled workflow** and opens the canvas, which is a single trigger node with a **+** under it.

    Leave the name for now. You can rename it in the page title at any time, and **Generate with AI** will name it from the finished canvas later.

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/build-your-first-workflow/steps/02.png?v=1787338686" alt="Start from scratch" />
    </Frame>

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/build-your-first-workflow/steps/02.png?v=1787338686" alt="Introw creates a draft called Untitled workflow and opens the canvas on its trigger node." />
    </Frame>
  </Step>
</Steps>

### Set the trigger

<Steps>
  <Step title="Pick Certificate issued">
    Select the trigger node. The panel lists the triggers in three groups: **Tasks & journeys**, **Learning**, and **Partners**. Under **Learning**, choose **Certificate issued**. It fires when a certificate is awarded to a partner contact, and re-issuing the same certificate to the same contact does not fire it again.

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/build-your-first-workflow/steps/04.png?v=1787338686" alt="See everything a workflow can start from" />
    </Frame>

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/build-your-first-workflow/steps/05.png?v=1787338686" alt="It fires when a certificate is awarded to a partner contact, and re-issuing the same one does not fire it again." />
    </Frame>
  </Step>

  <Step title="Narrow it to the certificate that counts">
    The panel now shows the trigger's own narrowing and its filter. Work through them in order:

    * **Which certificates count** - the certificates that qualify. Pick your certification. Leaving it empty means any certificate, which would tier partners up for a webinar attendance badge, so this is the one narrowing you should not skip.
    * **Only for partners in** - the segments the partner has to be in. This is checked before the workflow starts, so partners outside these segments leave no run behind. Leave it empty for your first workflow, or point it at a segment of the partner types the tier program applies to if your program has several.
    * **Only for partners matching** - conditions on the partner's own Introw and CRM fields, for a check you would not keep a segment for. Leave it empty here, or use it to hold the promotion to the partners it applies to, for example **Partner tier** **is any of** Bronze or Silver so an Elite partner is not "promoted" downwards.
    * **Only for certificates matching** - conditions on the event itself, over **Certificate**, **Issued at**, and **Expires at**. You have already narrowed by certificate, so leave this empty. It is where you would add something like an expiry date more than 30 days out.

    The rule to remember: the first two blocks are about the partner, the last one is about the event, and all three are ANDed. Reach for a segment when the audience is one you already maintain or want to reuse, and for **Only for partners matching** when it is a one-off check this workflow alone cares about.

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/build-your-first-workflow/steps/06.png?v=1787338686" alt="See which certificates you can narrow to" />
    </Frame>

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/build-your-first-workflow/steps/07.png?v=1787338686" alt="Now only this certificate starts the workflow." />
    </Frame>
  </Step>
</Steps>

### Add the actions

<Steps>
  <Step title="Write the new tier onto the partner">
    Select the **+** under the trigger and choose **Action**, then **Update partner properties** from the **Partner** group. Each row is one property:

    * **Property** - a searchable list of everything a workflow can write: **Partner tier**, **Partner phase**, **Partner categories**, **Partner owner**, the partner's **Experience**, and every writable CRM property on their company or custom partner object. Each is marked with Introw's logo or your CRM's, so two same-named fields are distinguishable. Pick **Partner tier**.
    * **Value** - the tier to set, from your tier program's own list.
    * **Write mode** - **Overwrite** always replaces what is there; **Fill in if not known** leaves an existing value alone. This is the most consequential setting on the panel. For a promotion, **Overwrite** is right: the point is to move a partner who already has a tier. For anything a partner manager sets by hand and would not want an automation undoing, choose **Fill in if not known**.

    Select **Add property** to write a second field in the same step, with its own write mode. **Partner phase** on **Fill in if not known** is a good second row: a partner who already has a phase keeps it, and one who has none gets set. Every writable CRM property on the partner's company or custom partner object is in the same list too, so the same step can stamp the promotion onto the record your sales team is already looking at.

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/build-your-first-workflow/steps/22.png?v=1787338686" alt="See everything a workflow can write" />
    </Frame>

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/build-your-first-workflow/steps/21.png?v=1787338686" alt="Write values onto the partner" />
    </Frame>
  </Step>

  <Step title="Tell the partner">
    Select the **+** under the action, choose **Action**, then **Send an email** from the **Messages** group.

    * **Send to** - because this trigger names a contact, the list includes **The contact this is about**, which reaches exactly the person who earned the certificate. The other options are **All contacts of the partner**, **The partner champion**, **Contacts in a segment**, and **Your partner team**, which is your own colleagues assigned to this partner rather than anyone at the partner. Choose **The contact this is about**.
    * **Email** - select the card to open the editor. It is the same editor announcements use, so variables resolve per recipient and CTA buttons point at that partner's portal. Give it a **Subject**, which stays plain text, and write the body. **Generate with AI** drafts a subject and two or three paragraphs from where this step sits in the flow, with the greeting and sign-off added for you, so you can start there and edit.

    Save the email and you are back on the canvas with a card showing the subject, who it goes to, and its opening lines.

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/build-your-first-workflow/steps/36.png?v=1787338686" alt="See who a workflow email can reach" />
    </Frame>

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/build-your-first-workflow/steps/44.png?v=1787338686" alt="Every run is about exactly one partner, so this is what the steps target." />
    </Frame>
  </Step>
</Steps>

### Rehearse it

<Steps>
  <Step title="Run a test against a real partner">
    Select the play button beside the trigger node. In **Test workflow**, pick a **Partner** and, since this flow emails the contact the trigger is about, a **Contact** as well.

    Read the card before you run it. Every test is a dry run: delays resolve instantly, nothing is written and nothing is sent, conditions are evaluated against live data, and the trigger's filter is not applied, because you chose the partner by hand. That last point matters: a test proves the shape of the flow, not the audience.

    Select **Run test**. The canvas updates as each step resolves, and nodes the run touched are badged **Simulated**.

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/build-your-first-workflow/steps/46.png?v=1787338686" alt="Read what a dry run does before running it" />
    </Frame>

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/build-your-first-workflow/steps/47.png?v=1787338686" alt="Run the test" />
    </Frame>
  </Step>

  <Step title="Read the result on the canvas">
    Every node should read **Simulated**. A node badged **Failed** carries its reason, and a node that stopped the run short says why, for example that the partner has no portal contacts for the email to reach. Fix what you find and run the test again.

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/build-your-first-workflow/steps/47.png?v=1787338686" alt="Run the test" />
    </Frame>

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/build-your-first-workflow/steps/49.png?v=1787338686" alt="Back to the canvas" />
    </Frame>
  </Step>
</Steps>

### Name it and switch it on

<Steps>
  <Step title="Name and describe it">
    Open **Settings**. Select **Generate with AI** to write both fields from the canvas, then edit them.

    * **Name** - what the workflow does, in a few words. It is the column your colleagues scan on the workflows list.
    * **Description** - one or two sentences for whoever reads this workflow next, including you in six months.

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/build-your-first-workflow/steps/54.png?v=1787338686" alt="Describe it for whoever reads it next" />
    </Frame>

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/build-your-first-workflow/steps/54.png?v=1787338686" alt="Including you, in six months." />
    </Frame>
  </Step>

  <Step title="Enable it">
    Switch **Enable** on and select **Save**.

    If **Enable** is unavailable, **Not ready to enable yet** lists exactly what is missing: a trigger, at least one action, a value left unset on a step, or a pairing that cannot work. Clear the list and the switch becomes available.

    Enabling is not retroactive. Only partners who earn the certificate from this moment on enter the workflow; nothing replays history. If you need to catch up the partners who already certified, do that once by hand or with a bulk update.

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/build-your-first-workflow/steps/56.png?v=1787338686" alt="Save the settings" />
    </Frame>
  </Step>
</Steps>

## Verify it worked

The workflows list shows the workflow as **Active** with its trigger, its step count, and you as the owner. Issue the certificate to a test contact, then switch the canvas header to **Runs**: a run appears named after that partner, its nodes read **Ran**, and the partner's tier has moved. The contact has the email in their inbox, and the property you wrote is on the partner's record in HubSpot or Salesforce.

## Related

<CardGroup cols={2}>
  <Card title="Chase a task to its due date" icon="clock" href="./chase-a-task-to-its-due-date">
    Add delays and conditions to build a nudge chain that escalates.
  </Card>

  <Card title="Test a workflow and read its runs" icon="list-check" href="./test-a-workflow-and-read-its-runs">
    What a rehearsal proves, and how to read every node outcome.
  </Card>

  <Card title="Every built-in automation" icon="arrows-rotate" href="/features/automation/built-in-automation/guides/every-automation-that-runs-out-of-the-box">
    Check what already runs before building the next one.
  </Card>

  <Card title="Workflows setup reference" icon="screwdriver-wrench" href="../technical">
    Every trigger, action, condition, and delay option.
  </Card>
</CardGroup>
