> ## 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.

# Chase a task to its due date and escalate

> Build a nudge chain that reminds a partner three days before a task is due, again two days after it slips, and hands it to the partner manager five days after.

A task with a due date and no chase is a task that gets done late or not at all. The usual fix is a calendar of manual reminders, which is the first thing to fall over in a busy quarter. This guide builds the chase as one workflow: a reminder three days before the task is due, a second one two days after it has slipped, and an escalation to the partner manager five days after, with every step checking whether the partner has since done the work so nobody is nudged about something they finished.

## What you'll achieve

An enabled workflow that, for every partner assigned the task you name, sends the reminder before the deadline, the follow-up after it, and the escalation to your own team, all measured from that task's own due date, and stops the moment the task is marked done.

## Before you start

<Steps>
  <Step title="Have the journey and task this chases">
    The chase is worth building for a specific task, not for every task in the program. Have the journey and know the exact name of the task inside it. See [Build a journey from scratch](/features/partners/journeys/guides/build-a-journey-from-scratch).
  </Step>

  <Step title="Make sure that task has a due date">
    The whole chain is measured from the task's due date, and a task without one stops the workflow at the first wait. On a journey's task, the due date is set as days after assigned. Check it is set before you build this.
  </Step>

  <Step title="Decide who the escalation goes to">
    The escalation reaches your own colleagues assigned to the partner, optionally narrowed by the partner team role they hold. If you want it to reach only partner managers rather than the whole internal team, set up those roles first. See [Set up partner team roles](/features/access/team-management/guides/set-up-partner-team-roles).
  </Step>
</Steps>

## Watch it

<Tabs>
  <Tab title="Video">
    <video controls playsInline preload="none" poster="https://assets.introw.io/docs/features/automation/workflows/guides/chase-a-task-to-its-due-date/steps/01.png?v=1787339053" className="w-full rounded-xl" src="https://assets.introw.io/docs/features/automation/workflows/guides/chase-a-task-to-its-due-date/video.webm?v=1787339053#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/chase-a-task-to-its-due-date/walkthrough.html?v=1787339053" />
  </Tab>
</Tabs>

## Steps

### Set the trigger

<Steps>
  <Step title="Create the workflow and pick Task assigned">
    Go to [Workflows](https://app.introw.io/workflows), select **New workflow**, then select the trigger node and choose **Task assigned** under **Tasks & journeys**.

    **Task assigned** fires when a partner acquires a task, which means when it is created. Reassigning an existing task between people does not fire it, so the chain does not restart every time a manager tidies up ownership. It is also the only trigger that offers a wait anchored to the task's due date, which is what the rest of this workflow is built on. **Task completed** would be too late: the clock has to start when the work appears, not when it is done.

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/chase-a-task-to-its-due-date/steps/04.png?v=1787339053" alt="Trigger on Task assigned" />
    </Frame>

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/chase-a-task-to-its-due-date/steps/04.png?v=1787339053" alt="It fires when a partner acquires a task, and it is the only trigger that offers a wait anchored to the task's due date. Task completed would be too late." />
    </Frame>
  </Step>

  <Step title="Narrow it to the one task you are chasing">
    Under **Only for tasks matching**, build two conditions:

    * **Journey** **is** your journey. Narrowing by journey first is what makes the next condition exact, because the **Task** list is then scoped to that journey's tasks instead of every task in the program.
    * **Task** **is** the task you are chasing, picked from that scoped list.

    Leave **Only for partners in** empty to chase every partner, or point it at a segment if only some partner types get this treatment. Leave the timestamp fields alone; **Due date** and **Assigned at** are there for narrowing by date, which you do not need here.

    Without these conditions the workflow chases every task every partner is ever given, which is a lot of email. Narrow it.

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/chase-a-task-to-its-due-date/steps/11.png?v=1787339053" alt="The task list is scoped to that journey" />
    </Frame>

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/chase-a-task-to-its-due-date/steps/12.png?v=1787339053" alt="Pick the task you are chasing" />
    </Frame>
  </Step>
</Steps>

### Nudge before the deadline

<Steps>
  <Step title="Wait until three days before it is due">
    Select the **+** under the trigger and choose **Delay**.

    * **Wait** - choose **Around the task's due date**. This option only appears because the trigger is **Task assigned**. The alternative, **After the previous step**, is a plain pause and would mean "three days after the task appeared", which is not the same thing at all and drifts as soon as anyone edits a due date.
    * **How far from the due date** - enter **3**, unit **Days**, direction **Before due**. Zero would wait until the due date itself.

    The moment is read fresh when the run reaches this step, so moving the task's due date moves the nudge with it. If the task is assigned less than three days before it is due, the wait is already over and the run carries straight on, which is the honest reading of "at three days before due". Read the note under the panel: when the task has no due date at all, nothing after this step runs, and the node will say so.

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/chase-a-task-to-its-due-date/steps/18.png?v=1787339053" alt="See what a delay can wait on" />
    </Frame>

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/chase-a-task-to-its-due-date/steps/21.png?v=1787339053" alt="Zero waits until the due date itself. The moment is read fresh, so moving the due date moves the wait." />
    </Frame>
  </Step>

  <Step title="Check whether they have already done it">
    Select the **+** under the delay and choose **Condition**. Under the trigger's own condition block, add:

    * **Task status right now** **is not** **Done**.

    The words "right now" are the point. Every other field on the canvas answers about the moment the workflow started, when the task was obviously not done. This one is read from the current state at the instant the condition is decided, which after a multi-day wait is a different answer. Get this wrong and you nudge every partner who has already finished.

    Leave **Partners in** and **Partner matches** empty: you narrowed the audience on the trigger, and this fork is about the task, not the partner. Those two blocks are read when the fork runs, so they are where you would put a check that has to be true *at the moment of the nudge*, for example not chasing a partner whose tier has since been downgraded.

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/chase-a-task-to-its-due-date/steps/31.png?v=1787339053" alt="Back to the canvas" />
    </Frame>

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/chase-a-task-to-its-due-date/steps/30.png?v=1787339053" alt="Get this wrong and you nudge every partner who has already finished." />
    </Frame>
  </Step>

  <Step title="Send the reminder on the Yes path">
    On the **Yes** path, add an **Action**, then **Send an email**.

    * **Send to** - **Whoever the task is assigned to**. This option appears only on task triggers, and it resolves when the email sends, so it reaches whoever currently owes the task rather than whoever owed it when the workflow started. Be aware it can be one of your own team if the task was assigned internally, so write the copy so it reads sensibly either way.
    * **Email** - a short, friendly reminder with the deadline in it. **Generate with AI** drafts it from this position in the flow, which means it already knows it is a pre-deadline nudge.

    Leave the **No** path empty. The partner finished on time, so there is nothing to do.

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/chase-a-task-to-its-due-date/steps/37.png?v=1787339053" alt="A task trigger unlocks one more audience" />
    </Frame>

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/chase-a-task-to-its-due-date/steps/36.png?v=1787339053" alt="Send an email" />
    </Frame>
  </Step>
</Steps>

### Nudge again once it slips

<Steps>
  <Step title="Wait until two days after it was due">
    Still on the **Yes** path, under the email you just added, add another **Delay**.

    * **Wait** - **Around the task's due date** again. A second anchored wait is measured from the same due date, not from the previous step, so you express each moment in the chain absolutely rather than accumulating offsets in your head.
    * **How far from the due date** - **2**, **Days**, **After due**.

    Because the first nudge went out three days before, this wait is about five days long in practice, and it re-reads the due date, so a deadline the partner asked to move takes the whole rest of the chain with it.

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/chase-a-task-to-its-due-date/steps/51.png?v=1787339053" alt="Back to the canvas" />
    </Frame>

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/chase-a-task-to-its-due-date/steps/49.png?v=1787339053" alt="Because the first nudge went out three days before, this wait is about five days long in practice." />
    </Frame>
  </Step>

  <Step title="Check again, then nudge harder">
    Add a **Condition** with the same **Task status right now** **is not** **Done** check. The partner may have acted on the first reminder, and this is what stops the second one reaching them.

    On its **Yes** path, add **Send an email** to **Whoever the task is assigned to** again, with copy that acknowledges the deadline has passed.

    If your partners live in Slack or Teams, this is a good place for **Send a chat message** instead of, or as well as, the email: pick **The partner's channel** to post into the shared channel mapped on the partner's page, and write `{{partner}}` where you want the partner's name. A message in a channel a partner already watches outperforms a third email. This needs a connected Slack or Microsoft Teams workspace. See [Chat integrations](/features/integrations/chat).

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/chase-a-task-to-its-due-date/steps/75.png?v=1787339053" alt="It needs a connected workspace first" />
    </Frame>

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/chase-a-task-to-its-due-date/steps/53.png?v=1787339053" alt="Check again before nudging harder" />
    </Frame>
  </Step>
</Steps>

### Escalate to the partner manager

<Steps>
  <Step title="Wait until five days after it was due">
    Under the second nudge, add a third **Delay**: **Around the task's due date**, **5**, **Days**, **After due**. Three days after the second nudge, and still anchored to the same date.

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/chase-a-task-to-its-due-date/steps/84.png?v=1787339053" alt="Back to the canvas" />
    </Frame>

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/chase-a-task-to-its-due-date/steps/78.png?v=1787339053" alt="Add the third wait" />
    </Frame>
  </Step>

  <Step title="Check one last time">
    Add a **Condition** with **Task status right now** **is not** **Done**. Two nudges have gone unanswered, so this fork is what separates a partner who needs a human from one who simply took their time.

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/chase-a-task-to-its-due-date/steps/93.png?v=1787339053" alt="Back to the canvas" />
    </Frame>

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/chase-a-task-to-its-due-date/steps/86.png?v=1787339053" alt="Check one last time" />
    </Frame>
  </Step>

  <Step title="Tell your own team">
    On the **Yes** path, add **Send an email**.

    * **Send to** - **Your partner team**, which shows as your organisation's name followed by "partner team". This is the one audience that is always internal: your own colleagues assigned to this partner. A **Roles** picker appears under it. Pick the partner manager role to reach only them; leave it empty and everyone on the partner's team gets it. Roles are resolved when the email sends.
    * **Email** - name the partner, the task, and how long it is overdue, and say the automated nudges have already gone out, so the manager knows what the partner has already heard.

    Two more steps are worth adding beside the email, both on the same **Yes** path:

    * **Give a task** with **Assignee** set to one of your own team, **Task name** something like "Call the partner about overdue onboarding", and **Due date** two days after assigned. An email is read and forgotten; a task appears on someone's list until it is done. Set **Visibility** to **Internal** so the partner never sees the escalation.
    * **Log a CRM note** so the escalation is on the partner's record in HubSpot or Salesforce for whoever picks the account up next. Write `{{partner}}` for the partner's name.

    <Note>
      A workflow that triggers on **Task assigned** and also gives a task could set itself off. Introw refuses to enable that pairing, unless the trigger is narrowed to specific journeys, because a task a workflow creates belongs to no journey and so can never re-trigger it. The **Journey** condition you set on the trigger is what makes this escalation task safe. If **Enable** complains that the workflow would give partners the task that triggers it, that condition is missing.
    </Note>

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/chase-a-task-to-its-due-date/steps/99.png?v=1787339053" alt="Narrow it to the partner manager role" />
    </Frame>

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/chase-a-task-to-its-due-date/steps/95.png?v=1787339053" alt="Tell your own team" />
    </Frame>
  </Step>
</Steps>

### Rehearse and enable

<Steps>
  <Step title="Test the whole chain">
    Select the play button beside the trigger, pick a partner, and select **Run test**. Delays resolve instantly in a rehearsal, so the whole chain plays out in seconds and you can see which side of each fork the run took without waiting a week. Nothing is written and nothing is sent.

    Remember the rehearsal does not apply the trigger's filter, so it will run for the partner you picked whether or not they have the task. What you are checking here is the shape: three delays, three forks, the right audiences.

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/chase-a-task-to-its-due-date/steps/124.png?v=1787339053" alt="Read which side of each fork the run took" />
    </Frame>

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/chase-a-task-to-its-due-date/steps/123.png?v=1787339053" alt="Run the test" />
    </Frame>
  </Step>

  <Step title="Name it and switch it on">
    Open **Settings**, use **Generate with AI** to name and describe it, switch **Enable** on, and **Save**. Only tasks assigned from this moment on enter the chase; tasks already outstanding are not picked up.

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/chase-a-task-to-its-due-date/steps/130.png?v=1787339053" alt="Save" />
    </Frame>

    <Frame>
      <img src="https://assets.introw.io/docs/features/automation/workflows/guides/chase-a-task-to-its-due-date/steps/127.png?v=1787339053" alt="Name it" />
    </Frame>
  </Step>
</Steps>

## Verify it worked

Assign the task to a test partner with a due date a few days out and switch the canvas header to **Runs**. A run appears, and its first delay reads **Waiting** with the rest of the canvas **Not reached**, which is exactly right: the run is parked until three days before the due date. Mark the task done and the next condition sends the run down its **No** path, leaving the remaining nudges **Not taken**. Leave it undone and the reminder lands in the assignee's inbox on schedule, the escalation reaches the partner manager five days after the deadline, and the note is on the partner's CRM record.

## Related

<CardGroup cols={2}>
  <Card title="Re-engage quiet partners" icon="users" href="./re-engage-quiet-partners">
    The same chase pattern, started by a partner going quiet instead of a deadline.
  </Card>

  <Card title="Onboard a new partner automatically" icon="route" href="./onboard-a-new-partner-automatically">
    Put the partner on the journey these tasks come from.
  </Card>

  <Card title="Nudge stalled deals automatically" icon="bell" href="/features/engagement/notifications/guides/nudge-stalled-deals">
    The built-in nudge for deals sitting too long in a stage.
  </Card>

  <Card title="Workflows setup reference" icon="screwdriver-wrench" href="../technical">
    Every delay anchor, condition field, and email audience.
  </Card>
</CardGroup>
