Skip to main content

Flow triggers: client progress

Trigger flow actions based on client progress, including form completion, contract signing, and invoice payments.

Written by Trevor

Client progress triggers let your flow watch for your client to take an action — submit a form, sign the contract, or pay an invoice — and fire the next action the moment it happens. Use them to build a step-by-step experience that moves at your client's pace instead of on a fixed timeline.


Client progress triggers

Every flow action has a trigger that tells it when to run. Client progress triggers watch for a specific client action rather than a date or a delay. They're the bridge between "the flow is running" and "the client did something."

There are five client progress triggers in total, grouped in the trigger dropdown under two categories: Form/Contract and Primary Invoice. Like all flow triggers, you'll set these up inside the action's trigger panel.


How to set a client progress trigger

Each action in your flow has its own trigger settings. Here's where to find them and what to expect before you get into the individual triggers below.

  1. Open the flow template and click the action you want to configure.

  2. In the action's settings, find the When section.

  3. Check that the toggle is set to Relative — client progress triggers work relative to when the client action happens (for example, "0 days after the form is completed" or "3 days after the form is not completed").

  4. Click the trigger dropdown and choose a trigger from the Form/Contract or Primary Invoice category.

  5. Fill in any additional inputs that appear — some triggers show a Form to watch or Installment to watch dropdown, described in each section below.

For a deeper look at how Relative and Fixed triggers differ and when to use each, see trigger timing: relative vs. fixed dates.


Form/Contract triggers

The three Form/Contract triggers watch for client actions on forms and contracts already attached to the project. Each section below covers one trigger.

After a form is completed

The after a form is completed trigger fires when a client submits a specific form that the flow already sent them.

This trigger works with sub-agreements, questionnaires, and proposals. For questionnaires, the client must submit the form — saving a draft does not count.

Setting it up:

  1. Set the action's trigger to after a form is completed.

  2. In the Form to watch dropdown that appears, select the form you want to watch. The dropdown shows only forms that are already added as actions earlier in the flow.

  3. Set the timing. Zero days after is the most common choice when you want the action to run immediately after the client submits.

This trigger does not watch lead captures or contracts. For contracts, use after the contract is signed by the client instead. For lead captures, the default flow (or the flow configured by a flows element) starts when the lead capture is submitted — use after this flow starts or after all previous actions are completed to sequence actions that follow a lead capture submission.

Uploaded PDF forms are excluded from the Form to watch list. If the only forms in your flow are uploaded PDFs, the dropdown is disabled and shows the tooltip Upload PDFs cannot be watched.

When to use it: Gate the next step on the client completing a form. This is the recommended way to build a sequential client experience where each step unlocks only after the previous one is done.

After a form is not completed

The after a form is not completed trigger fires a set amount of time after a form was last sent, if the client still hasn't submitted it. Use it to send reminders or take action on stale leads.

Like the completion trigger, it uses a Form to watch dropdown — select the same form you want to monitor for inaction.

The timer is relative to the most recent time that form was sent. If you or the flow resends the form, the timer resets. If multiple actions are watching "after a form is not completed" for the same form, resending shifts all of their timing.

If the client completes the form before the deadline, the action is skipped and will appear greyed out when you view the flow inside the project.

Resending the watched form resets the "not completed" timer for every action watching it. If you have a reminder action set for 3 days and another set for 7 days, resending the form on day 2 restarts both clocks from zero.

When to use it: Send an automatic follow-up after a set number of days, or archive a lead that never responded.

Example: following up on an unanswered proposal

Say your flow sends a proposal. You add two actions that both watch that proposal:

  • One action — triggered after a form is completed — sends a next-steps email the moment the client accepts.

  • A second action — triggered 3 days after a form is not completed — resends the proposal as a reminder.

As long as the resend uses the same form template, the flow reuses the existing proposal on the project rather than creating a duplicate. If the client accepts in time, the resend action is skipped automatically.

After the contract is signed by the client

The after the contract is signed by the client trigger fires when the client signs the project's contract.

There is no Form to watch dropdown for this trigger — it targets the one contract on the project automatically.

A few things to keep in mind:

  • It watches the client's signature only. Your counter-signature does not affect it.

  • It does not apply to sub-agreements. To trigger an action when a sub-agreement is signed, use after a form is completed and select the sub-agreement as the form to watch (sub-agreements appear in that list alongside other forms).

When to use it: Hold paid-client onboarding steps — a welcome email, a new flow starting, a questionnaire sending — until the contract is signed.


Primary invoice triggers

The two Primary Invoice triggers watch for payment activity on the project's primary invoice. These triggers fire based on payments made through a connected payment processor (Dubsado Payments, Square, or PayPal) or manually logged payments.

After the primary invoice is paid in full

The after the primary invoice is paid in full trigger fires when the entire balance of the primary invoice is cleared.

There is no extra input to configure — it targets the primary invoice automatically. This trigger is not compatible with recurring invoices.

When to use it: Require full payment before continuing a flow (for example, before starting a separate paid-client flow), or send a thank-you email and receipt immediately after the balance is paid.

After a primary invoice installment is paid

The after a primary invoice installment is paid trigger fires when a specific installment on a payment plan attached to the primary invoice is paid. This lets you respond to individual payments rather than waiting for the full balance.

Because this trigger watches a specific installment, the flow template must have a payment plan attached before you configure it.

Setting it up:

  1. Open the flow template and find the Payment Plan selector at the top of the page.

  2. Attach the payment plan you want to use. The plan is added to the primary invoice when the flow is applied to a project.

  3. If you send a proposal through this flow, remove the payment plan from the proposal's own settings — the invoice created by the proposal will use the flow's payment plan instead.

  4. Set the action's trigger to after a primary invoice installment is paid.

  5. In the Installment to watch dropdown that appears, select the installment you want to watch.

For a full walkthrough of setting up payment plans on flows, see flows with payment plans.

If you set a payment plan on both the flow and the proposal, the two plans conflict and the flow will error — even if the plans are identical. Set the payment plan on the flow only, and leave the proposal's payment plan setting empty.

When to use it: Trigger actions off specific payments — for example, send a welcome email after the deposit installment is paid, or unlock the next phase of a project after the mid-project installment clears.


FAQ

Why isn't my "after a form is completed" trigger firing?

A few things to check. First, the form must be added as an action earlier in the flow — the Form to watch dropdown only shows forms that the flow itself sent. Second, the client must fully submit the form, not save it as a draft. Third, this trigger doesn't watch uploaded PDFs, lead captures, or contracts. If you're waiting on a contract, use after the contract is signed by the client instead.

Can I trigger an action when a lead capture form is submitted?

Yes, you can trigger an action when a lead capture form is submitted, but not with a form completion trigger. If a lead capture form has a default flow configured, or if the lead capture form uses a flow element, the selected flow itself starts when the lead capture is submitted -- so use after this flow starts or after all previous actions are completed to sequence anything that comes right after.

Will "after the contract is signed" wait for my counter-signature?

No — it fires on the client's signature only. Your counter-signature doesn't affect the timing. It also doesn't apply to sub-agreements; use after a form is completed and select the sub-agreement from the Form to watch list for those.

Why does my installment trigger error after I send a proposal?

You likely set a payment plan on both the proposal and the flow. Remove the payment plan from the proposal's settings and keep it on the flow only. Even identical plans in both places cause a conflict.

Can I use the paid-in-full trigger with a recurring invoice?

No — after the primary invoice is paid in full is not compatible with recurring invoices. It watches the balance of the project's primary invoice only.

Did this answer your question?