Andrei Achimandrei achim.
Contract build · Aug to Oct 2026

16 builds in 5 weeks.

How I built the automation layer behind a global snacks brand's paid media, on contract at a top-three agency network. AI agents, Chrome extensions and flows, all on the tools the team already had.

andrei achim / builds / log LIVE · 10 running
  1. Checkerv13 shipped · 13 tests passed
  2. Checker58/58 live ads matched the plan
  3. Checker58/58 landing URLs matched
  4. Agentclient ask logged · proof found · reply drafted
  5. Agent7 users this week · 95 conversations
  6. Plan1,314 formulas recalculated · 0 errors · 14 markets
  7. Digestset-up steps sent for lines going live in 14 days
  8. SLAcut-off in 2h 10m · owner alerted
  9. Sync~980 tickets scanned · 0 failed runs
  10. QAlaunch-day check: 6 findings posted to the team
  11. Planplan-builder agent: conversation 185 (co-built)
  12. SLAFriday stop applied · brief queued for Monday

A day of the build log, replayed. The system runs; the team checks.

16 builds 10 live 7 users in week 1 0 errors across 14 markets 13 releases in a day

Illustrations use invented names and data. The figures are from my build records.

// 00 — Take the templates

Steal the two sheets the system started from.

The reactive tracker works out every post's status, SLA and next step from its dates. The media plan prices every fee from the market you pick and won't let a plan ship until 19 checks pass. Both come with invented example data, so you can watch the formulas work before you make them yours.

// Reactive social tracker

8 statuses · SLA by working day · next step written for you

// Media plan template

14 markets · fee engine · benchmarks by KPI · 19 checks

Excel files. Built around my workflows, so expect to adapt them to your rate cards, markets and sign-off rules.

Get both, free

I'll use your email to send the templates, plus the two follow-ups if you tick the box. Every email has an unsubscribe link. Privacy

// 01 — The problem

A media team running on copy-paste.

One global brand, many markets, paid social and programmatic on Meta, TikTok, Pinterest and Snapchat. The plan lived in Excel. Briefs arrived in a client tracker. Tickets sat in Jira. Questions came in by email, Teams and calendar invites.

Every campaign was built by hand, platform by platform, market by market. So the same four things kept going wrong:

  1. 01

    Manual builds.

    Every ad set typed in by hand, every week.

  2. 02

    Taxonomy errors.

    One wrong name and the ad drops out of reporting.

  3. 03

    Plan-to-platform drift.

    What's live slowly stops matching what was signed off. One wrong budget setting at set-up can spend money for days before anyone looks.

  4. 04

    SLA misses.

    A brief lands on a Friday afternoon, a cut-off slips past, the client chases.

A big account run on spreadsheets and memory produces these errors every week, however good the people are.

And the rules were tight. Locked-down enterprise Microsoft 365, standard licences, strict data-loss policies, and no approved connector into any ad platform.

The copy-paste machine: one media plan typed by hand into Meta, TikTok, Pinterest and Snapchat, landing four kinds of error: name mismatch, budget drift, URL 404 and missed cut-off. Media plan typed by hand META TIKTOK PINTEREST SNAPCHAT name mismatch budget drift URL 404 missed cut-off
Illustration · the same plan, typed in four times

// 02 — What I built

16 builds, grouped by the job they do.

10 are live, 2 are in test, 4 are drafts or paused.

System map. Inputs: the media plan in Excel, the client tracker, Jira, and the inbox, Teams and calendar. They feed five build groups: agents in Microsoft 365, Chrome extensions, intake and SLA flows, system connections, and media finance and QA. Outputs: the Meta, TikTok, Pinterest and Snapchat ad accounts, the team digest and alerts, regional sheets, and SharePoint.

Hover or tap a group to trace its connections

// 01

Agents inside Microsoft 365.

Copilot Studio and M365 Agent Builder. A client-comms agent sweeps mail, chats and the calendar, logs every client ask, checks for proof it's done and drafts the reply. A plan-builder agent (co-built) builds media plans through chat. A daily digest lists the set-up steps for lines going live in the next 14 days, and a launch-day QA skill posts 5 to 9 findings to the team.

// 02

Chrome extensions where no connector is allowed.

Two Manifest V3 extensions. The first checks every Meta, TikTok, Pinterest and Snapchat build against the plan before it saves: budget, dates, naming and landing URLs, with preview links pulled for sign-off. The second reads an ad account against the plan, the naming taxonomy and the creative matrix, then renames, fixes URLs and builds the ads.

// 03

Intake and SLA automation.

Power Automate on standard licences, plus Office Scripts. The client's tracker export becomes tracked campaigns and a daily digest with an SLA countdown. A reactive social tracker runs the SLA rules (cut-offs, the Friday stop) and alerts at each handoff. A readiness flow builds a 14-step checklist per campaign line, counted back from go-live.

// 04

Connections between systems.

Apps Script pulls self-hosted Jira tickets into 8 regional tabs twice a day, parses the taxonomy, follows renamed tickets and alerts the owner. SharePoint holds the shared data.

// 05

Media finance and QA.

A media plan template with a fee engine (DSP, DST, ad serving, levies), monthly FX, KPI benchmarks and 19 automated checks. In test: a campaign QA pipeline that runs intake agent, plan build, fixed-rule checks, compliance agent, then approval.

10 live · 2 in test · 4 drafts or paused

// 03 — The numbers

What it did in the first weeks.

  • 7 users and 95 conversations on the client-comms agent in its first 6 days.
  • 185 conversations in 2 weeks on the plan-builder agent (co-built).
  • 58 of 58 live ads and 58 of 58 landing URLs matched the naming taxonomy on one market account.
  • 1,314 formulas, 0 errors across 14 markets in the media plan template.
  • 13 versioned releases of the campaign-builder extension in about 8 hours, each one tested.

// Build checker

58 / 58

live ads matched the plan

58/58 landing URLs matched

// Plan template

1,314

formulas · 0 errors across 14 markets

// Client-comms agent

7 users · 95 conversations

in the first 6 days

// Releases

13

tested releases in about 8 hours

// Jira sync

~980 tickets
twice a day · 0 failed runs

The builds, side by side

What it doesResult
Chrome extension that checks ad builds against the plan before they save58/58 live ads and 58/58 URLs matched the taxonomy
Chrome extension that builds and fixes ads from the plan and creative matrix13 tested releases in about 8 hours
Client-comms agent (Copilot Studio)7 users, 95 conversations in 6 days
Plan-builder agent (Copilot Studio, co-built)185 conversations in 2 weeks
Media plan template with fee, FX and benchmark engine1,314 formulas, 0 errors across 14 markets; 19 automated checks
Jira to Sheets sync (Apps Script)About 980 tickets scanned per run, twice a day, 0 failed runs
Reactive social tracker with SLA rules22 unit tests; alerts routed to the right person, 0 duplicates on re-run

Client, agency and tool names are removed. Figures come from my build records.

// 04 — How I work

Boring rules that keep a live account safe.

  1. COPY

    Test on a copy first.

    Nothing touches a live ad account or a shared file until it has run clean on a copy.

  2. TEST

    Tests before trust.

    Unit tests on the rules, end-to-end runs on real data, and read-only test runs for anything that writes.

  3. VERSION

    Versioned releases.

    Every change ships as a numbered version the team can roll back. One extension went through 13 versions in a working day.

  4. RECORD

    A build record for every build.

    What it does, what it touches, how to run it, how to switch it off. The team can run it without me.

  5. LIVE

    Inside the rules.

    Standard licences, data-loss policies, no unapproved connectors. When three routes for the set-up digest were blocked, I found a fourth the licence allowed.

    LIVE
Copilot StudioM365 Agent BuilderPower AutomateOffice ScriptsSharePointOutlook and TeamsPlannerChrome extensions (Manifest V3) on Meta, TikTok, Pinterest and SnapchatGoogle Apps ScriptJira REST APIExcelPython

Outside Microsoft I build on n8n, Supabase, Next.js and Claude.

// 05 — For your team

Your team probably has the same four problems.

Agencies, in-house media teams, any business where people copy data from one system into another and check it by eye.

I come in on contract, sit with the people doing the work, find the tasks costing the most hours, and build the fix on the tools you already pay for. Usually that's Microsoft 365. Sometimes it's Google Workspace, or n8n when you're free to choose.

What you get: agents your team actually opens (7 people in the first week here), checks that catch an error before money is spent, and a build record for everything, so it keeps running after I leave.

Your version: a plan, a tracker and an inbox feeding one system for your team, giving hours back. Plan Tracker Inbox Your team hours back
Illustration · your version

How it starts

  1. 01 · The call

    20 minutes, free. You show me the plan, the tracker and where briefs land. I'll tell you which workflow I'd automate first.

  2. 02 · The diagnostic

    One week, £1,950. I sit with the people doing the work, time the manual steps and write up what to automate first, what each fix saves and what it costs to build. Credited in full if you go ahead.

  3. 03 · The build

    Fixed price, quoted from the diagnostic. Built on your tools, tested on copies, with a build record so it runs after I leave.

Smaller business, no media team? Same method, smaller scale. One workflow, one session, built on your own tools. The build session · £150 →

I build these for other people.

AI agents, automation and AI architecture for founders, teams and companies.

Book the free call or get the templates first ↑

Prefer email? andrei@andreiachim.com · CV on request.