Triggers, conditions and actions: the reference
The complete list of triggers, conditions, actions and delays available to build your Joinways automations.
Updated
A workflow is a rule Joinways applies on its own: when this happens, wait this long, check this, then do that. It is built from four kinds of step, and this article lists everything each one offers, exactly as it appears in the builder.
Workflows are part of the Pro plan and are available during the 30-day trial. On Free the section shows an upgrade prompt instead of the builder.
Where to find them
Go to Settings > Workflows, Workflows tab. The list shows your rules with their status, their number of runs and the “Last run”. “New workflow” opens the builder; “Add a step” inserts a block.
A second tab, “AI”, holds the assistants that read inquiries, prefill proposals and draft replies. Those are switches, not workflows, and are covered elsewhere.
The four kinds of step
- Trigger: when the workflow starts. Exactly one per workflow, and it is always the first step.
- Delay: how long to wait before acting, and at what time of day.
- Condition: something to check before acting. If it is not met, the workflow does nothing for that event.
- Action: what it does. Send an email, create a task, send a notification or call a webhook.

The triggers
There are six, and this is the whole list. Five watch events; one watches proposals.
Event created
Fires when an event is created in Joinways, whether from a converted inquiry or entered by hand. Use it for an acknowledgment or a first follow-up. It watches events, not the Inquiries page: an inquiry not converted into an event does not trigger it.
Upcoming event
Fires before an event starts, at the distance you set. Use it for reminders, practical information or a final confirmation.
Event ended
Fires once the event's end date has passed. This is the one for feedback requests, thank-you notes and review invitations.
Status unchanged for
Fires when an event has stayed in the same status for a number of days you choose. Chasing an event still on Hold is the usual case.
Event confirmed
Fires as soon as an event moves to the chosen status (Confirmed by default), on the next pass, within the hour. It accepts no delay, and only handles events whose status changes after the rule is switched on. For a welcome message after signature or a preparation task.
Proposal sent, no reply
The only proposal trigger. It follows each sent proposal still marked Pending after the delay you set. Chasing stops on its own as soon as the proposal is accepted, signed, rejected or replaced by an amendment, so you never chase a client who has already answered.
On the five event triggers you also pick the “Matching statuses”: Confirmed, Hold, Lost, Cancelled. The workflow only runs for events in one of them. The proposal trigger has no such picker: it always follows a pending proposal, and also stops if the event moves to Lost or Cancelled.
The delay
A delay is expressed in days (0 to 365) and hours (0 to 23), with an optional “Preferred run time”. The time zone used is the event venue's: a rule set for 9 a.m. goes out at 9 a.m. local time, wherever the site is. With no time set, an email only goes out between 8 a.m. and 9 p.m. local time. “Upcoming event” and “Proposal sent, no reply” require a delay; “Event confirmed” accepts none.
Joinways checks your active workflows every hour, which is why a delay in hours and a send time are honoured rather than rounded to a day.
The conditions
A condition compares one field to one value. Five fields are available:
- Contact email: mostly used with is filled in, to avoid firing an email rule on an event with no address.
- Event type: wedding, seminar and the rest, so one rule can be reserved for one kind of event.
- Venue: scopes the rule to one site, picked from your venues.
- Number of guests: the only numeric field, and the only one that accepts is greater than and is less than.
- Event owner: scopes the rule to a team member's events, or away from them.
Seven operators are available: is filled in, is empty, equals, is not equal to, contains, is greater than, is less than. The last two only appear on the guest count; elsewhere they are hidden because a numeric comparison would have no meaning.
There is no condition on a proposal amount, a pipeline stage or an AI score. If you need to filter on money, do it through the event type or the guest count.
The actions
There are four, and this is the whole list.
Send an email
The email goes to the client contact, sent from the connected Gmail or Outlook account of the event's owner. Each member must therefore connect their mailbox in Settings > “My mailbox”, or the rule cannot send on their events. Exception: on an inquiry from a platform whose terms forbid emailing the client directly (Kactus, Funbooker), the email never leaves the platform and the run is “Skipped”.
You write a subject and a message, with dynamic fields for the parts that change. You can also turn on AI drafting: instead of a fixed message, you give instructions and the AI writes a personalized email for each event. The subject and message you typed then stay as a fallback if drafting fails.
Create a task
The task is created on the event and assigned to its owner. You set a title, a description, a due date and a priority: Low, Medium, High or Urgent. The due date is either “In N days” from the run (0 means the same day) or “Before the event” (20 = D-20).
Send a notification
An in-app notification, shown in the notification centre with a link to the event. The recipient is either the event owner or the whole team. Nothing reaches the client, so this is the safe choice when you want a nudge rather than an outgoing message.
Call a webhook
A JSON POST carrying the event data to the public HTTPS address you give. Zapier, Make, n8n and any endpoint of your own all work. If you set a signing secret, each request carries an X-Joinways-Signature header, an HMAC SHA-256 of the body, so your side can verify the call really came from Joinways.
There is no action that changes an event's status, moves it along the pipeline or issues an invoice. A workflow tells people what to do; the decision stays with you.
Dynamic fields
In an email, a task or a notification, these placeholders are replaced per event: {client_name}, {client_first_name}, {client_last_name}, {client_email}, {owner_name}, {event_title}, {event_date}, {venue_name}, {company_name}.
Two more, {quote_number} and {quote_link}, only work on the proposal trigger. On an event trigger they resolve to nothing, which is how a chase email ends up with a blank where the link should be.
Build one, step by step
- Settings then Workflows, then New workflow. Give it a name you will recognise in the list.
- Pick the trigger and, on an event trigger, the statuses it applies to.
- Add a delay if you do not want to act immediately, and set the send time.
- Add a condition to narrow the rule down. Contact email is filled in is worth having on any rule that sends.
- Add the action and write its content, using dynamic fields where the text changes.
- Save, then switch the workflow to Active. An inactive workflow sends nothing.
How a run is recorded
Each workflow keeps a “History”, event by event, with one of four outcomes: Sent, Failed, Skipped or Pending, and the reason on each line. Skipped is final: a condition not met, a contact with no email, a status changed in the meantime, a proposal no longer pending, or a platform that forbids emailing the client. Failed usually comes from a disconnected mailbox or a webhook that did not answer; Joinways retries on every hourly pass, up to six times.
An event is handled only once per workflow (a proposal, for the proposal trigger), so a rule never sends the same client the same message twice for the same event or proposal.
Before turning a sending rule on, add the condition “Contact email” “is filled in” and check the history after the first day. A rule that shows only Skipped is usually a condition that is too tight.
Edge cases
- Owner with no connected mailbox: email actions on their events fail. The other three actions are unaffected.
- Proposal fields on an event rule: {quote_number} and {quote_link} come out empty. Keep them for the proposal trigger.
- Plan change: if the workspace loses Pro, the section shows the upgrade prompt and the rules stop acting. They are kept, not deleted.
- Non-HTTPS webhook: the address is refused. Only public HTTPS endpoints are accepted.
Best practices
- One rule, one job. Two short workflows are easier to read and to switch off than one that does everything.
- Name the workflow after what it does, not after the trigger: Feedback 2 days after the event beats Event ended.
- Start with a notification rather than an email while you are checking the rule fires on the right events.
- Set a send time inside business hours: a chase at 3 a.m. reads as a robot, whatever it says.
Troubleshooting
The workflow never runs
Cause: it is inactive, or its statuses exclude every event it would otherwise match. Solution: switch it to Active and widen the matching statuses.
The history shows only Skipped
Cause: a condition is never met, often a venue or an event type that does not match. Solution: open the condition and check the value against a real event.
Emails come out Failed
Cause: the event owner has no connected mailbox, or the connection has to be renewed. Solution: ask them to reconnect Gmail or Outlook in Settings > “My mailbox”. The send resumes on the next hourly pass.
I cannot find the trigger I want
Cause: the list above is complete. There is no trigger on a signed proposal, an invoice, a payment or an incoming email. Solution: a status change is handled with “Event confirmed” (a signature confirms the event), a wait with “Status unchanged for”, and the rest with a webhook that drives the next step from your own tools.
Real-world example
Feedback after a wedding. Trigger: Event ended, status Confirmed. Delay: 2 days, send time 10 a.m. Conditions: event type equals wedding, contact email is filled in. Action: send an email with AI drafting, instructed to thank the clients, ask how the day went and suggest a Google review. Every couple gets a message two days later, written for their event, with nobody typing it.
Another example
Chasing a proposal. Trigger: Proposal sent, no reply, after 5 days. Action: send an email containing {quote_link}, plus a notification to the event owner so they know the chase went out. The moment the client accepts or signs, the chasing stops by itself.
FAQ
How many triggers and actions are there?
Six triggers and four actions, all listed above. The lists in the builder are the complete ones.
Can a workflow change an event's status?
No. Actions send an email, create a task, notify someone or call a webhook. None of them changes a status.
Who does the email come from?
From the connected mailbox of the event's owner, so the client sees the person they already deal with.
Can I put several conditions on one workflow?
Yes. Add as many condition steps as you need; the workflow only acts if they all hold.
Are workflows included in my plan?
They are a Pro feature, and the 30-day trial includes them. Free does not.
Will the same client be chased twice?
Not by the same workflow: each event is handled once per rule, and the history records it.
What time zone applies to the send time?
The event venue's, so a rule set for the morning lands in the morning at each of your sites.
See also
- Create your first workflow
- Connect your business email
- Plans and pricing
Ready to centralize your event inquiries?