GoRefer Platformv2.0Open App ↗
Automations

Automations

Automate repetitive tasks and ensure nothing gets missed. Build event-driven workflows with FlowBuilder — no coding required.

FlowBuilder

FlowBuilder is GoRefer's visual workflow automation tool. You define a trigger — something that happens in the platform — and then specify a sequence of actions that automatically follow.

Scale+ Feature

Workflow Automation (FlowBuilder) is available on Scale and Enterprise plans.

Triggers

A workflow starts when a trigger event occurs. GoRefer supports 31 trigger events across 10 categories:

Referrals

EventDescriptionPayload Fields
referral.createdFires when a new referral is submittedreferral_id, referrer_id, referrer_name, referee_email, referral_source
referral.convertedFires when a referral converts to a clientreferral_id, referrer_id, client_id, client_name

Clients

EventDescriptionPayload Fields
client.fundedFires when a client's return is fundedclient_id, client_name, preparer_id, amount, tax_year
client.createdFires when a new client is addedclient_id, client_name, client_email, preparer_id
client.status_changedFires when a client's status changesclient_id, old_status, new_status

Leads

EventDescriptionPayload Fields
lead.assignedFires when a lead is assigned to a preparerlead_id, lead_name, lead_email, preparer_id, preparer_name
lead.createdFires when a new lead enters the systemlead_id, lead_name, lead_email, source, heat_score
landing_page.submissionFires when someone submits a landing page formsubmission_id, landing_page_id, name, email, phone, heat_score

Finance

EventDescriptionPayload Fields
commission.calculatedFires when commissions are calculatedpreparer_id, total_commission, total_returns, tier, tax_year
payout.generatedFires when a payout is generatedpayout_id, preparer_id, amount, period
payout.approvedFires when a payout is approved by adminpayout_id, preparer_id, amount
return.filedFires when a tax return is filedreturn_id, client_id, preparer_id, tax_year, return_type
bonus.earnedFires when a preparer earns a bonusbonus_id, preparer_id, amount, bonus_type

Incentives

EventDescriptionPayload Fields
challenge.completedFires when a preparer completes a challengechallenge_id, challenge_name, preparer_id, reward_amount
challenge.startedFires when a new challenge beginschallenge_id, challenge_name, start_date, end_date
competition.endedFires when a competition finishescompetition_id, competition_name, winner_id, winner_name
competition.startedFires when a competition beginscompetition_id, competition_name, start_date
preparer.rank_changedFires when a preparer's rank changespreparer_id, preparer_name, old_rank, new_rank
reward.claimedFires when a user claims a rewardreward_id, user_id, reward_type, reward_value
sweepstakes.winnerFires when a sweepstakes winner is selectedsweepstakes_id, winner_id, winner_name, prize

Users

EventDescriptionPayload Fields
user.createdFires when a new user account is createduser_id, email, role, name
user.deactivatedFires when a user account is deactivateduser_id, email, role, reason

Tasks

EventDescriptionPayload Fields
task.overdueFires when a task passes its due datetask_id, task_title, assigned_to, due_date

Recruiting

EventDescriptionPayload Fields
recruiting.candidate_submittedFires when a new recruiting candidate is submittedcandidate_id, candidate_name, referrer_id, referrer_name

Intake

EventDescriptionPayload Fields
intake.createdFires when a tax intake form is createdintake_id, client_id, client_name, preparer_id, tax_year
intake.submittedFires when a client submits their intake formintake_id, client_id, client_name, preparer_id, tax_year
intake.reviewedFires when a preparer accepts or rejects an intakeintake_id, client_id, client_name, preparer_id, tax_year, action
intake.documents_uploadedFires when documents are uploaded to an intakeintake_id, client_id, document_count, tax_year

Scheduled

EventDescriptionPayload Fields
schedule.dailyFires once every day at a configured timetimestamp, date
schedule.weeklyFires once every week on a configured daytimestamp, date, day_of_week
schedule.monthlyFires once every month on a configured daytimestamp, date, day_of_month

Conditions

Between triggers and actions, you can add conditions to filter which events should proceed. Conditions evaluate a field on the trigger payload using one of 13 operators:

OperatorCodeExample
Equalseqstatus eq "active"
Not Equalsneqrole neq "client"
Greater Thangtamount gt 500
Less Thanltheat_score lt 30
Greater Than or Equalgtetotal_returns gte 10
Less Than or Equallteduration_minutes lte 60
Containscontainsemail contains "@gmail"
Not Containsnot_containsname not_contains "test"
Ininrole in ["admin", "preparer"]
Not Innot_instatus not_in ["lost", "inactive"]
Existsexistsphone exists
Not Existsnot_existssecondary_email not_exists
Regexregexemail regex "^.*@company\\.com$"

Actions

After a trigger fires and conditions pass, you can chain one or more actions. GoRefer supports 12 action types:

ActionDescriptionConfig Fields
Send EmailSend an email using templatesto, template_id, subject, body, variables
Send SMSSend an SMS text messageto_phone, message, variables
Send NotificationSend an in-app notificationrecipient_id, title, message, type, link
Create TaskCreate and assign a new tasktitle, description, assigned_to, due_date, priority
Assign LeadAuto-assign a lead to a preparerassignment_strategy, preparer_id
Update FieldUpdate a field on a database recordcollection, record_id_field, field, value
Wait / DelayWait a specified duration before the next actionduration_minutes
Send WebhookSend an HTTP POST to an external URLurl, headers, payload_template
Add TagAdd a tag to a recordentity_type, entity_id_field, tag
Remove TagRemove a tag from a recordentity_type, entity_id_field, tag
Calculate CommissionsTrigger commission calculation for a tax yeartax_year
Generate PayoutGenerate a payout batch for preparerstax_year, period

Workflow Templates

Start faster with pre-built workflow templates for common tax firm scenarios.

TemplateTriggerActions
New Client Welcomereferral.createdSend Email → Create Task
Intake Reminderintake.createdWait → Send Email
Commission Alertcommission.calculatedSend Notification → Send Email
Lead Auto-Assignlead.createdAssign Lead → Send Notification
Challenge Winnerchallenge.completedSend Notification → Send Email

Monitoring Workflows

All workflow executions are logged with full traceability. Each execution tracks per-action results, timing, and errors.

Workflow Status

StatusDescription
activeWorkflow is live and will fire on trigger events
inactiveWorkflow is paused — will not fire
draftWorkflow is being configured — not yet activated
errorLast execution failed — needs attention

Execution Status

StatusDescription
runningExecution is in progress
completedAll actions finished successfully
failedOne or more actions failed
skippedConditions were not met — workflow did not execute
partialSome actions succeeded, others failed or skipped

Each action in a run is individually tracked as success, failed, skipped, or pending with timestamps and error details.