How It Works
- Choose a trigger — an event in Corsa (client, member, transaction, alert, or case created or updated), a calendar schedule over a client population, or manual run from a record page.
- Add blocks — update records, screen clients, run AI analysis, branch on conditions, notify analysts, reach out to clients, or call external APIs.
- Save changes as a draft until the workflow is ready.
- Activate the workflow so it runs automatically (or on demand, for manual workflows).
- Review each execution in workflow history — step outcomes, linked records, and audit entries.
Workflow Builder
The builder is a visual canvas. Every workflow starts with a Trigger block, then flows through one or more blocks connected parent to child.Available blocks
Blocks that share the same parent run in parallel. Chain blocks sequentially when a later step needs an earlier step’s output.
You can rename workflows and blocks, add branches, and discard unsaved changes before publishing.
AI in Corsa — three related surfaces
Action
Each Action block has an action type. Choose the type first, then configure it.Customer interaction
Reach out to a client by email or form:- Content source — Use Email Template or Use Form Template.
- Cover message — Message that accompanies the email or form link. The template body is not editable in the workflow builder.
- Use Client from — Upstream step or trigger entity that supplies the client to contact.
- Missing client or form mismatch — Skip the step or Stop workflow. A stopped run is intentional, not a system error.
Client reminders
Optionally send automatic reminders until the client completes the required action:
Configure the interval between reminders (minutes through months) and the maximum number of reminders (1–100; default 3).
Deep Research
Run automated client research as a workflow step:- Use Client from — Resolve the client from the trigger or an upstream step (individual client, corporate client, alert, or case context).
- Research Speed — Fast or Slow (thorough).
PEP / Sanctions screening
Re-screen a client inside a workflow:- Use Client from — Same resolution pattern as Deep Research.
- Screening Type — Person, Company, or Entity (generic).
- Score Threshold — Match confidence from 0 to 1 (default 0.5).
- Dataset — Default (all), Sanctions only, or PEPs only.
- Create alert on match — Optionally open a screening alert with priority and category when matches exceed the threshold.
Record
Create or update Corsa entities. Each Record block has an operation:
Use record from — Select which upstream step or trigger supplies the entity to update (same pattern as Use Client from on Action blocks).
Conditions — Optional filters so the update runs only when field values match (for example, only update when priority is High).
Custom fields — Available on client and alert updates where your platform defines them.
Create Alert — Create date
When creating an alert, choose when it should be generated:- Immediately (default)
- In X days, In X weeks, or In X months
Escalate and update case
In one workflow run:- Update Alert with status Escalated to open a case.
- Add a downstream Update Case Record step — Corsa resolves the case created by the escalation so later steps target the correct record.
When you create an alert with a static category that cannot re-match the workflow’s own trigger filters, Corsa still allows you to save and activate the workflow.
Notify
Send a message to analysts on your team:- Channels — In-app, email, and/or Slack (Slack requires an active Slack integration).
- Recipients — Specific platform users and/or external email addresses.
- Slack channels — When Slack is enabled.
- Message — Free text with smart data variables (
{{entity.fieldName}}, prior step outputs, and more). - Context from — Upstream step whose entity data populates variables (same pattern as Action blocks).
Branch
Split the workflow into conditional paths:- Add a Branch block — Corsa creates two Branch Path children automatically.
- Configure conditions on each path using entity fields, trigger filters, or outputs from upstream steps (including Agent block results).
- Add blocks under each path — paths run in parallel when their conditions match.
Webhook
Call an external HTTPS API from a workflow:- URL and method — GET, POST, PUT, PATCH, or DELETE.
- Query parameters, headers, and request body — JSON with smart data variables in quoted strings.
- Credential — Optional vault-stored credential for authenticated calls.
- Timeout and retries — Configure resilience for external dependencies.
- Continue on error — Optionally proceed when the call fails.
Agent Block
The Agent block (labeled Agent in the block picker; default name Copilot) runs AI analysis on every workflow execution. Output is available to downstream Branch, Record, Notify, Webhook, and Agent blocks. For ad-hoc analyst chat, use Copilot instead.Configuring an Agent Block
Every Agent block needs a prompt — the instruction the AI follows at runtime. Prompts support smart data variables ({{entity.fieldName}}, {{trigger.entityType}}, etc.) so the AI receives context from the triggering event automatically.
Prompt
Prompt
The instruction the AI follows. Use smart data variables to inject runtime context. For example:
Model
Model
Choose which AI model runs the analysis. Options include Claude (Anthropic) and GPT (OpenAI) models.
Output schema
Output schema
Define a JSON Schema for structured output. When set, the AI returns data matching your schema instead of free-form text. This is useful when downstream blocks need to read specific fields from the result.
Tools
Tools
Enable tool groups so the AI can query live data during execution. Available tool groups:
- Entity query — Look up client, alert, case, and transaction data.
- Metrics — Query compliance metrics and statistics.
- Screening — Run PEP and sanctions screening lookups.
- Web search — Search the web for public information.
Context from previous steps
Context from previous steps
Select upstream workflow blocks whose outputs should be included as additional context for the AI. For example, feed a screening result or Record step output into the prompt automatically.
Temperature
Temperature
Controls how deterministic or creative the AI response is. Lower values (closer to 0) produce more consistent, factual output. Higher values (closer to 1) allow more variation. For compliance workflows, a low temperature (0.0–0.2) is recommended.
System instructions
System instructions
Additional instructions that shape how the AI behaves. These are appended to Corsa’s built-in compliance workflow instructions, which ensure outputs are clean and machine-readable.
Max tokens
Max tokens
Limits the length of the AI response (1–32,000 tokens). Set this to control cost and ensure outputs stay concise.
Using Agent output in downstream blocks
- Branch — Route on fields in structured AI output (for example
isSuspiciousis true). - Record — Map AI values to field updates via smart data variables.
- Notify — Include AI-generated text in notification messages.
- Webhook — Pass AI output in the request body.
- Agent — Chain multi-step AI reasoning with context from prior Agent blocks.
Agent in scheduled workflows
When a scheduled workflow matches multiple clients, the Agent block runs independently for each client. Each execution is isolated — the AI sees only that client’s data.Triggers
Workflows can start from Corsa events, a calendar schedule, or manual run from a record page.Event triggers
Event-based workflows run when matching activity happens in Corsa:- Individual or corporate client created or updated
- Individual or corporate member created or updated
- Transaction created or updated
- Alert created or updated
- Case created or updated
Date and time filters — Relative date fields (such as created at and updated at) support equal and between. Absolute date fields support comparison operators. Time since fields (such as time since onboarding) express duration relative to the event.
Transition filters — On supported fields (such as risk level), use transitioned to match when a value changes from one state to another — for example, risk level transitioned from Medium to High.
Member triggers do not include a dedicated KYC status filter. Use screening status filters or client-level KYC fields on the parent client trigger instead.
Scheduled triggers
Scheduled workflows run on a calendar — not a sub-minute interval:- Recurrence — Daily, weekly, or monthly
- Time and timezone — When the run executes
- Days of week — For weekly schedules
Manual triggers
Enable manual run on a workflow to let analysts start it from a record page:- Alert, case, individual client, corporate client, or transaction detail pages
- Only active workflows eligible for that entity type appear in the run menu
Draft, Active, Inactive, and Archived
When you activate a workflow, Corsa validates structure first — incomplete or invalid workflows do not go live.
Execution History
Each workflow keeps a history of runs. The list shows status, start and completion time, duration, creator, failed step, and linked results.Execution statuses
Open an execution to inspect the timeline — per-step status, output, and errors. When a workflow creates or updates a linked result, Corsa shows it in execution detail so analysts can jump to the affected record.
Workflow failure notifications
When an alert- or case-triggered workflow fails, Corsa sends an in-app notification to the alert or case assignee (when one is set). See workflow failure notifications for details.Audit Log
Corsa records workflow activity in the platform audit log so your team can review who changed what and when workflows ran.Workflow runs
When a workflow executes from an event or schedule, the audit log shows that the workflow run started — not that the author manually clicked run. Manual runs are attributed accordingly.Workflow changes
When you edit or activate a workflow, the audit log captures definition changes with detail where available:- Workflow name changed
- Trigger event or schedule changed (including before and after values)
- Blocks added, removed, or modified (Action, Record, Notify, Branch, Agent, Webhook)
Common Use Cases
Alert triage automation
When a high-priority alert is created, assign ownership, update priority, notify the compliance team, and branch on category or rule name.
Case operations
When a case is updated, change status or assignee, notify reviewers, or trigger customer follow-up.
Escalate and update case
Escalate an alert to a case and update case fields — priority, assignee, or status — in the same workflow run.
Client review controls
Run scheduled daily or weekly scans over clients and start review actions when risk or activity criteria match.
Member screening follow-up
When a member’s sanctions, PEP, or adverse media status changes, send a form request or create an alert for analyst review.
Periodic review alerts
Create an alert with a delayed create date — for example, 90 days after a client update — for recurring reviews.
Form RFI with reminders
Send a form template and automatically remind the client until they submit, without manual follow-up.
PEP/sanctions re-screen
On client update, run PEP/Sanctions screening in the workflow and open a screening alert when matches exceed your threshold.
Transaction follow-up
When a transaction is created or updated, branch on type or status and create downstream compliance work.
AI-powered alert enrichment
On new alert, use an Agent block to summarize entity history and populate alert fields before routing to a reviewer.
External system sync
On case update, call your ticketing or case-management system via a Webhook block with vault credentials.
Manual analyst playbook
Enable manual run so analysts start a standardized workflow from an alert or case detail page on demand.
Best Practices
- Start with a narrow trigger and add filters early.
- Use transitioned filters when you care about field changes, not just current values.
- Use branches for meaningful business decisions, not cosmetic structure.
- Remember sibling blocks run in parallel — chain steps when order matters.
- Keep record updates explicit so analysts can understand what changed.
- Review execution history after activation to confirm behavior.
- Pause inactive workflows instead of deleting operational history.
- Use Stop workflow when halting is the correct outcome; use skip when downstream steps should still run.
- Use Agent output schemas when branching on AI results.
- Test Webhook blocks with the builder’s test request before activating.