Case study · AI & Automation

How we turned a manual migration process into a largely self-maintaining Azure DevOps pipeline board

DASTech Consulting built a stage-aware project pipeline board in Azure DevOps Boards for a legal-technology consultancy. Every client migration is now one card that travels through 13 stages in a swimlane for its target platform, and each card fills in its own task checklist as it advances. We also reconciled the board against live matter data, cleared out demo and test records, and delivered a handoff package for a non-technical administrator. Jason Da Silva did the work in tandem with AI, hands on inside our customer's live systems, and personally carried out anything that could not be undone.

Team reviewing project charts and dashboards together
PhasePre-migration consulting (4)Migration lifecycle (9)
Platform
Intake & Engagement
Consultant Handoff
Project Scoping
Onboarding
Initiation & Discovery
Data Audit & Prep
System Design & Build
Pilot & UAT
Full Migration
User Training
Go-Live
Hypercare
Closure & Handover
NetDocuments
Law Firm ADocument migration
Actionstep · PM
Law Firm BPractice management
Law Firm CPractice management
Actionstep · Legal Acct
Law Firm DLegal accounting
Law Firm ELegal accounting
Clio
Law Firm FPractice management
Law Firm GData audit
Law Firm HFull migration
Clio Actionstep · Practice Management Actionstep · Legal Accounting NetDocuments

Illustrative board. Client names, matter numbers and volumes are anonymized. Dragging a card into a new stage rewrites its task checklist using the task set for that stage and that platform.

13Pipeline stages, from intake to closure
4Target platforms tracked in their own swimlanes
14Active client migrations on the board

The challenge

Our customer is a legal-technology consultancy running many concurrent client projects, each one a law firm moving onto a new practice-management or document platform. The problem was never the work, it was the tracking: the pipeline lived in people's heads and in manual lists.

  • No single visual view of which client migrations were in flight and at what stage.
  • Task lists assembled by hand, project by project, inconsistently across platforms. Every new engagement meant rebuilding a checklist someone had already written.
  • No connection between the board and the system of record for matters, which invited double-entry and let the board drift out of step with reality.
  • Operational knowledge concentrated in one person. The board owner was handing the whole thing to a new, non-technical administrator.

That set the clock: a board only one person can interpret is not an asset, it is a dependency.

The approach

Three things made this work.

One consultant, working with AI. Not an AI agent running unattended with a human signing off afterward, and not advice delivered from a distance. Jason worked side by side with AI across live systems: reading the Clio and Azure DevOps APIs, designing the stage-by-platform task logic, publishing and debugging the automation, wiring the service hook, creating and cleaning up board items, and producing every polished deliverable (a written document, a spreadsheet, an interactive HTML reference and a branded PDF). He directed every decision and carried out anything irreversible himself. What the pairing bought was pace: one person moving through discovery, build, debugging, reconciliation and documentation through work that would normally be split across a team. That is the capability DASTech now sells.

No-code plumbing. Nothing here asks the consultancy to own a codebase. The integration runs as an Azure DevOps service hook into Zapier, using Catch Hook and Code by Zapier. We wrote and configured the code step, and the administrator never has to open it.

Workflow design before any building. The request arrived fuzzy: keep their board in sync with their matter system and hand it off cleanly. We decomposed that into a board data model, an integration architecture, a data-reconciliation pass, a cleanup pass, and a documentation and handoff layer, sequenced so each stage de-risked the next. Automation laid over an unclear model only produces wrong answers faster.

What we built

  • 01 · LiveA visual pipeline board. We built each card as an Epic, the Azure DevOps item that holds a whole project, representing one client migration. Cards move left to right through 13 stages: 4 pre-migration consulting stages, then 9 migration-lifecycle stages. Each card sits in one of 4 swimlanes by target platform: Clio, Actionstep Practice Management, Actionstep Legal Accounting and NetDocuments.
  • 02 · LiveA stage-aware task-automation engine. Drag a card into a new stage and its checklist fills itself with the correct tasks. The right task set is a function of both the stage and the platform swimlane, so a Clio card in the data audit stage gets a different list than an Actionstep legal accounting card in that same stage. We published and debugged it as an Azure DevOps service hook firing into Zapier, where a Catch Hook receives the work item event and Code by Zapier reads the item and rewrites its child tasks.
  • 03 · DonePractice-management reconciliation. Worth noting, because it trips people up: Clio appears twice in this story. It is one of the target platforms clients migrate onto (its own swimlane on the board), and it is also the consultancy's own system of record for live matters. This step is about the second role. We pulled all live matters from Clio through its API, compared them against the board, created cards for open matters that were not yet tracked, and removed demo, sample and test cards. The board now reflects real projects only.
  • 04 · LiveClio to board sync. A second Zap so a new matter created in Clio auto-creates its board card, with no one entering it twice. A daily catch-up reconcile runs as a safety net, and an on-demand sync button covers the times someone wants it now rather than tomorrow. It ships with a step-by-step setup guide so the consultancy can maintain it without us.
  • 05 · DeliveredA non-technical handoff package. A written handoff document, a reconciliation and import spreadsheet, and a one-page DevOps 101 cheat sheet, shipped both as an interactive on-screen reference and as a print-ready PDF branded to the consultancy.

What went wrong, and how we fixed it

Two failures are worth naming, both silent.

The first was a field-mapping bug: the automation read the wrong part of the message Azure DevOps sends. We had built it against a test payload, the data the hook receives, that arrived form-encoded, while the real event payload arrived as JSON with a different field shape. It ran, and cards were silently skipped. Working through the live payload with AI, we traced the mismatch, remapped to the real field and verified end to end.

The second was a naming mismatch. We found a stage column that had been renamed out of sync with the automation's lookup key, the name it matches on, and brought the two back into line.

We worked inside the same guardrails throughout: reversible soft-deletes only (items sent to a recoverable recycle bin), Jason performing anything irreversible himself, and access tokens and credentials never handled by the AI tooling.

The handoff

The board was always going to change hands, so the deliverable was never just a working system. It was a system a non-technical person could operate on day one.

The DevOps 101 cheat sheet covers what each lane and stage means, how the auto-checklist works, day-to-day how-tos, watch-outs and a plain-English glossary. It ships with the written handoff document and the reconciliation and import spreadsheet.

Results

The headline result

The board replaced the status meeting

This is the change the consultancy felt first. Previously, knowing where anything stood meant asking: a stand-up to surface blockers, chase updates, and work out who was stuck on what. That is a familiar agile habit, and for a distributed set of client projects it is an expensive one, because the meeting exists mainly to rebuild a picture that should already exist somewhere.

Now the board is that picture. A card's column is its status, so blockers are visible by position rather than by discussion, and the team can see at a glance where someone is stuck and where they can pick up slack for each other. Coordination that used to need a meeting now happens by looking. Across the team, that is saving tens of hours a week.

  • A manual process that lived in one person's head is now a visual, largely self-maintaining board tracking 14 active client migrations.
  • Per-stage checklists build themselves, giving consistency across projects and faster, lower-error execution. Nobody rebuilds a checklist that someone has already written.
  • Status reporting stopped being a task. The board is the report, so there is no separate exercise to produce one.
  • A clean pipeline plus a documented, non-technical handoff let the incoming administrator run the system from day one.
  • Work that would normally run into weeks of setup and documentation was compressed into a small number of focused working sessions.

What is next

With the pipeline current, the checklists building themselves and the sync running, the interesting question shifts from keeping the board accurate to what the board can now tell them. A pipeline with real stage data underneath it can start answering planning questions: where work reliably stalls, which platform migrations take longest, and where capacity is about to be tight. That is the natural next step, and it is only possible because the underlying data is now trustworthy.

FAQ

Do you need developers on staff to run something like this?

No. The board runs in Azure DevOps Boards and the automation runs on a service hook into Zapier using Catch Hook and Code by Zapier. We wrote and configured the code step, and the board and its documentation are built to be read and operated by a non-technical administrator.

What does "one consultant, working with AI" mean in practice?

One consultant hands on in your live environment, with AI working alongside him rather than running unattended: reading the APIs together, drafting the stage logic, debugging the live automation, producing the deliverables. Jason Da Silva directs every decision, performs anything irreversible himself, and handles credentials personally. The result is one person moving at the speed of a team.

Is your data safe when AI tooling is involved?

Yes. On this engagement the guardrails were structural rather than promises. Deletions were reversible soft-deletes into a recoverable recycle bin, never hard deletes. The consultant performed anything irreversible personally. Access tokens and credentials were never handled by the AI tooling.

How long does an engagement like this take?

This one compressed what would normally run into weeks of setup and documentation into a small number of focused working sessions. The variable is not the building, it is the clarity of the workflow underneath. Where the process is already understood, work moves quickly. Where it is not, the design comes first.

Work with us

If your operations run on undocumented process, manual checklists and systems that do not talk to each other, that is the problem we solve. See AI Consulting and Workflow Automation for how we scope this work, or get in touch to talk through your own pipeline.

Want the same for your business? Start with the assessment.

We map where AI and automation genuinely save time in your business, put the guardrails in place, and hand you something your team can actually run.

See how AI & Automation works →