Taskflow
An Automation Platform for Law Firms Using Clio
Personal projectSoftware
Landing page 






1 / 7
UI Data is mocked to protect client privacy.
Overview
When a matter reaches a stage, like "Signing Meeting" in Estate Planning, law firm staff used to create the same 10 to 30 tasks by hand, pick who gets each one, and work out due dates around weekends and time off. Taskflow does all of that in Clio as soon as the matter moves.
It replaced a live system. Safe Harbor Law Firm moved off its old automation server on 2026-09-22, and Taskflow closed all 5 blockers the old server had, including Probate automation it never supported. It is multi-firm SaaS: each firm's data is kept separate, and an admin panel handles onboarding, plans, and support, so a new firm can be signed up without new code.
Features
- Templates with Draft, Active, and Inactive states. Publish refuses an incomplete template. Templates can be filed in folders and carry Clio task types.
- Triggers on a matter stage change or a calendar event of a chosen type. If an event is rescheduled, its tasks get new due dates in place.
- Branches: if / else-if / otherwise on matter fields or custom fields, with AND conditions.
- Due dates can count from the trigger, the event date, or another task being completed. A chained task has no date until the task before it is ticked done.
- Dates follow the firm's timezone and never land on a weekend, a firm closure, or someone's leave.
- Assignee rules read as sentences, like "Event Location contains Naples → Abigail", matching on matter, custom, or calendar event fields, including regex. If no rule matches, the run creates one "Could not generate task list" task with a Re-run link instead of sending everything to the fallback person.
- Safety: dry run on by default, a 0 to 300 second grace period that deletes the tasks if the stage or event is corrected inside the window, and a test-matter gate that blocks firing on every other matter.
- Runs screen with every task, its due date and result, a per-run timeline, and retry on a whole run or one task.
- Guided setup tour that runs on the real screens.
Highlights
- Webhooks are saved to a durable inbox before being acknowledged, and every Clio write is logged first. If a Clio read fails, the run retries instead of acting on missing data.
- Work pauses and resumes around Clio's rate limit, webhook subscriptions are health-checked and repaired, and outage alerts go out by email.
- 11 to 18 minutes after a run, its tasks are read back from Clio to catch ones deleted or reassigned outside the app.
- Same trigger-then-actions model as Zapier, cut down to one job. What Zapier lacks: undo inside the grace period, task chains, leave-aware legal calendar logic, and flat pricing instead of 25+ billed actions for one 25-task template.
- Clio OAuth per firm with tokens encrypted by AES-GCM. Firms sign in by invite only, and support sessions need the firm's approval.
- Tested with node:test, convex-test, an SSR smoke render of every screen, Playwright, and live E2E scripts against a real Clio account.
Built with
FrontendReact 19, Vite 8, JavaScript
BackendConvex, Convex Auth
IntegrationsClio Manage API v4, Resend
HostingConvex Cloud, Vercel
Testingnode:test, convex-test, Playwright