Skip to main content

Workflow Triggers

Triggers define when workflows start executing. Choose from event-based, scheduled, manual, or webhook triggers to automate your practice.

Workflow trigger types and configuration options

Trigger Types​

TypeDescriptionExample
EventFires when something happensAppointment booked
ScheduleFires at specific timesDaily at 9am
ManualUser initiatesButton click
WebhookExternal system callsXero invoice paid
Invoice EventInvoice lifecycle eventsInvoice overdue, payment received
Client EventClient-specific eventsClient created, risk flagged
Form EventForm submitted, started, or expiredIntake form completed
Feedback EventFeedback ticket eventsFeedback submitted, resolved
Email EventInbound email receivedEnquiry email arrives
Signal EventGeneric inbound signalExternal system signal

Event Triggers​

Event triggers fire automatically when specific actions occur in Praxi.

Client Events​

EventFires WhenData Available
Client createdNew client addedClient details
Client updatedClient info changedOld/new values
Client archivedClient archivedClient ID, reason
Client risk flaggedRisk indicator addedRisk level, type
Client birthdayClient's birthdayClient details
Client inactive 30dNo activity for 30 daysClient ID
Client inactive 90dNo activity for 90 daysClient ID

Intake & Pipeline Events​

EventFires WhenData Available
Intake createdA new intake/enquiry arrivesIntake details
Intake acceptedAn intake is acceptedIntake details
Intake declinedAn intake is declinedReason
Intake waitlistedAn intake is moved to the waitlistIntake details
Intake SLA approachingAn intake nears its response deadlineDeadline, urgency
Intake SLA breachedAn intake misses its response deadlineDeadline, urgency
Intake completeness updatedRequired intake information changesCompleteness state
Pipeline stage changedA client moves between pipeline stagesOld/new stage
Pipeline gate failedA stage-gate requirement failsGate details
Pipeline auto-advancedA client auto-advances a stageOld/new stage

Appointment Events​

EventFires WhenData Available
Appointment createdAppointment bookedFull appointment
Appointment updatedAppointment changedOld/new values
Appointment cancelledAppointment cancelledReason, who
Appointment arrivedClient checks inCheck-in time
Appointment completedSession endsOutcome
Appointment no-showClient didn't attendMarked time
Appointment reminder (24h)24 hours before sessionAppointment data
Appointment reminder (1h)1 hour before sessionAppointment data
Appointment overdueSession past dueAppointment data
Appointment series startedFirst in a recurring seriesSeries details
Appointment series completedLast in a recurring seriesSeries details
Telehealth startedVideo session beginsSession details
Telehealth endedVideo session concludesSession details

Clinical Events​

EventFires WhenData Available
Note createdNote startedNote ID, client
Note signedNote finalisedSigner, timestamp
Note amendedAddendum added to signed noteAmendment details
Assessment completedAssessment finishedScores, flags
Assessment scoredAssessment scoring calculatedScore details
Assessment sentAssessment sent to clientAssessment details
Treatment plan createdNew treatment planPlan details
Treatment plan updatedPlan modifiedOld/new values
Treatment plan review dueScheduled review approachingPlan, due date
Goal createdNew treatment goal addedGoal details
Goal completedGoal marked as achievedGoal, outcome
Goal progress updatedProgress recorded on goalProgress data
Diagnosis addedNew diagnosis recordedDiagnosis details
High risk assessmentHigh risk identifiedRisk details

Billing Events​

EventFires WhenData Available
Invoice createdInvoice generatedInvoice details
Invoice sentInvoice emailedSend timestamp
Invoice paidPayment receivedPayment details
Invoice overdue (7 days)7 days past dueDays overdue
Invoice overdue (30 days)30 days past dueDays overdue
Payment receivedAny payment recordedPayment details
Payment refundedRefund processedRefund details
Bulk billing submittedMedicare bulk bill lodgedClaim details
Bulk billing paidBulk bill payment receivedPayment details
Medicare claim submittedMCOL claim lodgedClaim details
Medicare claim approvedMCOL claim approvedApproval details
Medicare claim paidMCOL claim payment landedPayment details
Medicare claim rejectedMCOL claim rejectedRejection reason
DVA claim submittedDVA claim lodgedClaim details
DVA claim approvedDVA claim approvedApproval details
DVA claim rejectedDVA claim rejectedRejection reason

Medicare and DVA claim triggers fire once MCOL claiming is active for your practice (Praxi's Services Australia certification is in progress).

Team Events​

EventFires WhenData Available
Credential expiringApproaching expiry dateCredential type
Credential expiredCredential has expiredCredential type
Leave requestedLeave request createdLeave details

MHCP Events​

EventFires WhenData Available
MHCP session claimedSession claimed against planSession count
MHCP limit approachingNearing session limitSessions left
MHCP limit reachedAll sessions usedPlan details
MHCP plan createdNew Mental Health Care PlanPlan details
MHCP plan expiredPlan has expiredPlan details

Other Events​

Praxi supports many additional trigger events across other areas:

CategoryEvents
Outcome MeasuresImproving, worsening, stable, reassessment due
ConsentConsent given, revoked, expired
WaitlistAdded to waitlist, contacted, converted to appointment
FormsForm submitted, started, expired
FilesUploaded, tagged, shared, retention expiring
TasksTask created, task completed
TranscriptionStarted, completed, failed, note created, refined
PackagesPurchased, expiring, expired, completed, transferred
VouchersPurchased, redeemed
FeedbackSubmitted, stage changed, blocking submitted, resolved
Group SessionsScheduled, completed, cancelled

Configuring Event Triggers​

  1. Add a Trigger node to your workflow
  2. Select Event trigger type
  3. Choose the event category
  4. Select specific event
  5. Optionally add filters

Event trigger configuration with category and filter options

Event Filters​

Filter which events trigger the workflow:

FilterExampleUse Case
Client typeNew clients onlyWelcome workflows
Appointment typeInitial consultsIntake automation
PractitionerSpecific staffIndividual workflows
LocationMelbourne officeLocation-specific
Funding sourceNDIS clientsFunding workflows
Event: appointment.created
Filters:
- appointment_type = "Initial Consultation"
- client.is_new = true

Schedule Triggers​

Schedule triggers run workflows at specific times.

Schedule Types​

TypeDescriptionExample
DailyOnce per dayDaily report
WeeklySpecific day(s)Monday reminders
MonthlySpecific date(s)Month-end billing
Custom (Cron)Complex schedulesEvery 2nd Tuesday

Common Schedules​

ScheduleCron ExpressionUse Case
Daily 9am0 9 * * *Morning reports
Weekdays 8am0 8 * * 1-5Business hours
Monday 9am0 9 * * 1Weekly review
1st of month0 9 1 * *Monthly billing
Last Friday 5pm0 17 * * 5LEnd of week

Configuring Schedule Triggers​

  1. Add a Trigger node
  2. Select Schedule trigger type
  3. Choose frequency (daily, weekly, monthly, custom)
  4. Set time and timezone
  5. Save configuration

Schedule Options​

OptionDescription
TimezoneYour practice's timezone (defaults to Australia/Sydney)
Timezone

All schedules run in your practice's configured timezone. Daylight saving is handled automatically.

Manual Triggers​

Manual triggers require a user to start the workflow.

Use Cases​

Use CaseExample
On-demand tasksGenerate report now
User-initiatedSend bulk message
TestingTest workflow before automating
Exception handlingRun manually when auto-trigger missed

Where Manual Triggers Appear​

LocationAccess
Workflow pageWorkflows (Practice sidebar)

Configuring Manual Triggers​

  1. Add a Trigger node
  2. Select Manual trigger type
  3. Define input parameters (optional)
  4. Configure who can run it
  5. Set where it appears

Input Parameters​

Manual triggers can request information:

Parameter TypeExample
TextReason for action
SelectChoose priority
DateSchedule for date
CheckboxConfirm action
Manual Trigger: "Send Bulk Message"
Inputs:
- message_template (select)
- custom_note (text, optional)
- include_inactive (checkbox)

Webhook Triggers​

Webhook triggers let external systems start workflows.

Use Cases​

External SystemTrigger Use Case
XeroInvoice paid notification
StripePayment success/failure
Online bookingNew booking received
Form toolForm submission
ZapierAny connected app

Setting Up Webhooks​

  1. Add a Trigger node
  2. Select Webhook trigger type
  3. Copy the generated webhook URL
  4. Configure the external system to call this URL
  5. Map incoming data to workflow variables

Webhook Security​

Security FeatureDescription
HMAC-SHA256 signatureVerifies request authenticity (enabled by default)
IP allowlistOnly accept requests from known IP addresses
Allowed methodsRestrict to specific HTTP methods (GET, POST, PUT)
HTTPS onlyAll webhook URLs use encrypted transmission
Rate limitingPrevents abuse from excessive requests
Signature Validation

By default, all webhook triggers require HMAC-SHA256 signature validation. Only disable this for trusted internal systems where signature verification is not possible.

Webhook Payload​

Expected JSON format:

{
"event": "custom.event.name",
"timestamp": "2024-01-15T14:30:00Z",
"data": {
"client_id": "abc123",
"amount": 150.0,
"custom_field": "value"
}
}

Testing Webhooks​

  1. Go to workflow settings
  2. Click Test Webhook
  3. Send sample payload
  4. Verify workflow executes correctly
  5. Review execution log

Trigger Data​

Available Variables​

Each trigger type provides data to subsequent nodes:

Trigger TypeVariables Available
EventEvent data, entity details
ScheduleRun time, schedule info
ManualUser inputs, runner info
WebhookFull payload, headers

Accessing Trigger Data​

In subsequent nodes, reference trigger data:

{{trigger.data.client.first_name}}
{{trigger.data.appointment.datetime}}
{{trigger.timestamp}}
{{trigger.user.name}}

One Trigger Per Workflow​

Each workflow has exactly one trigger node. If you need the same logic to run from different starting points, clone the workflow and change the trigger on the copy:

ScenarioSolution
Event + manual fallbackClone workflow, set one as event, one as manual
Schedule + webhookClone workflow with each trigger type
Event + catch-up scheduleClone with event trigger and schedule trigger

Best Practices​

Trigger Selection​

  1. Event triggers - Real-time automation
  2. Schedule triggers - Batch processing, reports
  3. Manual triggers - Testing, exceptions
  4. Webhooks - External integrations

Performance​

  1. Use specific events - Avoid broad triggers
  2. Add filters - Reduce unnecessary executions
  3. Test thoroughly - Before activating
  4. Monitor execution counts - Track usage

Security​

  1. Rotate webhook tokens - Periodically change
  2. Use IP allowlists - For known sources
  3. Validate payloads - Check data format
  4. Log all executions - Audit trail

Troubleshooting​

Trigger Not Firing​

  1. Verify workflow is active
  2. Check event type matches exactly
  3. Review filter conditions
  4. Check permissions
  5. Review execution history

Schedule Not Running​

  1. Verify timezone is correct
  2. Check schedule syntax
  3. Confirm not paused on holidays
  4. Review server status
  5. Check execution history

Webhook Not Working​

  1. Test URL is accessible
  2. Verify secret token
  3. Check IP not blocked
  4. Validate payload format
  5. Review webhook logs

Was this page helpful?