Workflows in Linkubit: every trigger and action, and how they chain
A workflow runs actions when an event happens and its condition holds. Every trigger and action, the starter set, and how one sets off another.
A workflow has a Trigger (an event), an optional Condition and Actions run in order. Actions can themselves fire events — qualify_lead fires lead.qualified — so workflows chain. Every run is in the audit log with each action's result. Check what listens to an event before adding an action that hands over, assigns or closes on it.
How a workflow runs
- An event happens — a score changes, a goal completes, a lead is qualified.
- Every active workflow on that trigger is checked. Condition tests the event and the contact (signals, contact fields, your fields); blank means always.
- Actions run in the order listed. One that fails is recorded and the next still runs.
- The run is written to Settings › Audit log as
workflow:<trigger>, with each action and its result, and to the conversation's automatic events.
Triggers
| Trigger | Fires when |
|---|---|
message.received | A customer message arrives. |
conversation.opened, conversation.replied | A conversation starts; the customer replies. |
conversation.escalated | A conversation is handed to a person, for any reason. |
conversation.went_stale | A conversation is first found quiet by the follow-up sweep. |
contact.scored | A contact's score changes. The event carries the new and previous score. |
lead.created | A lead is created — from a conversation's first required field, an ad form, an import or a workflow. |
lead.qualified | A lead gets a class of high, medium or low for the first time. Once per lead. |
lead.assigned | A lead's owner changes. |
goal.completed | A goal's required fields are all captured. Carries the goal's key — condition on it. |
opportunity.stage_changed, opportunity.won, opportunity.lost | A deal moves or closes. |
product.interest_recorded, product.interest_changed | A product comes up, or the customer changes their mind about one. |
payment.requested, payment.captured, payment.failed | A payment request goes out, is paid, or fails. |
campaign.replied, campaign.completed | A campaign recipient replies; a campaign finishes. |
consent.withdrawn | A contact opts out. |
crm.record_changed | A linked record changes in your CRM. |
Actions
| Action | What it does |
|---|---|
create_task | Puts a to-do on somebody's list, with a title (use {contact_name}) and a due time. |
assign_owner | Gives the contact, their leads, deals and conversation to a person, a round-robin or a territory. |
escalate_conversation | Hands the conversation to a person and stops the agent replying. |
qualify_lead | Sets the lead's class — fixed, or from the score's band. Fires lead.qualified the first time. |
advance_lifecycle | Moves the contact to a pipeline stage, with its open deals. |
open_opportunity | Opens the contact's deal, priced from the catalogue. |
sync_opportunity_line_items | Re-prices the open deal from the products the contact is interested in. |
close_deal | Closes the open deal as won or lost. |
start_goal | Starts a conversation goal. |
set_attribute | Writes a value onto one of the contact's fields. |
record_product_interest | Records that the contact is considering, wants or rejected a product. |
request_payment | Sends a payment request for catalogue items. |
stop_campaigns | Stops the contact's remaining campaign steps. |
crm_sync, crm_update_field, crm_add_note, crm_create_record | Write to your connected CRM (queued, never inline). |
The starter workflows
| Workflow | Trigger → actions |
|---|---|
| Score qualifies the lead | contact.scored with score ≥ 40 → qualify_lead from the score (40 low, 60 medium, 80 high) |
| Qualified lead → pipeline | lead.qualified → advance_lifecycle to qualified, open_opportunity |
| Keep the deal value current | product.interest_recorded / product.interest_changed → sync_opportunity_line_items |
| Follow up an ad lead | lead.created from an ad → create_task due in an hour |
Setup may add up to three of its own (for example a task when a lead qualifies), and Edit agent can add routing ones. They are ordinary rows on Settings › Workflows — edit or switch them off like any other.
Chains, and how to keep them safe
- Actions fire events:
qualify_leadfireslead.qualified,escalate_conversationfiresconversation.escalated,assign_ownerfireslead.assigned. Every workflow on those runs too. - Before adding an action to a trigger, read what sets that trigger off.
lead.qualifiedis only as strict as your scoring rules and your goals' Qualifies as. - Loops stop on their own: a lead is qualified once, so a workflow on
lead.qualifiedthat qualifies again fires nothing new. - To hand over after the details are collected, mark the goal Escalate to a human when this goal completes instead of escalating on
lead.qualified.
Related
Stuck? Write to help@linkubit.com with the screen you are on and what it says. Not using Linkubit yet? Start free — fourteen days of Pro, no card.