← Resources / Building your first agent · workshop deck

Building your first agent.

A real AI marketing agent, built live, start to finish. Then it's yours.

Nicolaas Spijker  ·  signalroads.com

I'm a marketer, not a developer. I run my marketing through agents I built.

7+ years in product marketing across SaaS, Fintech, Quantum & AI tools

40+ marketing workflows, all agents

Here's what you'll have built by the end.

In a chat tab: how you use AI today
New chat browser
Write our launch email.
Here is a draft, with five subject lines to pick from.
Reply… Claude ChatGPT
still to do
  • pick a subject line
  • paste into the email tool
  • fix the formatting
  • send
In your folder: what this course teaches
launch-email/ agent
Write our launch email, match our voice, and load it into the email tool.
  • reading brand-voice.md
  • pulling the launch plan from Asana
  • grabbing product shots from Drive
  • pulling your segment from Airtable
  • drafting the email
  • building the html
Load the draft into your email tool? YesNo
email tooldraft loaded
Done. The draft is in your email tool.
Looks good. Send me a test, log it in the content calendar, and tick the launch task.
email tooltest sent
Airtablecontent calendar updated
Asanalaunch task checked
Done. The test is in your inbox.
Reply… Claude ChatGPT

In one week last November, three labs crossed a line.

November 2025
MonTueWedThuFriSatSun
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

This is an inflection point in how a marketer works. With the right process, you can now build the tools yourself, code and all, without being a coder.

It's still a chat. It just holds more, and writes its own code.

More of your context stays in play, and it writes real Python to run longer, multi-step jobs. You still only talk to it.

That's how it goes deeper than a chat workspace like Claude Cowork.

VS Code Cursor Antigravity

I use VS Code. Same idea across all three.

It plugs into the tools you already use.

A connector or an API key, and the agent is in. Most marketers already pay for half of these.

GA4 Search Console PostHog Webflow Framer OneSignal Slack Airtable Stripe Figma HubSpot Notion Google Sheets Mailchimp Shopify Semrush

The point is the range. If a tool matters to your week, it has a way in.

A real example · Rock

Run lifecycle marketing across your whole stack.

→Emails triggered off real product usage and billing
→One agent wires analytics, the CRM, billing, and email
→Campaigns built and shipped, no copy-paste

rock.so ↗

PostHog Stripe OneSignal
Rock.so homepage
A real example · SignalRoads

Run a real website without a CMS.

→Ship pages and posts by describing them
→SEO and internal links kept in sync site-wide
→Newsletter wired in, capture to sends

signalroads.com ↗

beehiiv
SignalRoads homepage
A real example · House of Gandha

Run a real store by describing what you want.

→Reposition the whole store in one prompt
→Smarter checkout logic, in plain English
→Localized end to endENNLES

houseofgandha.com ↗

Stripe OneSignal
House of Gandha storefront, English
The demo company

Meet Tempo. Everything it knows is one folder.

A lifecycle-marketing SaaS, squeezed between SMB Sparrow and enterprise Cobalt. Loved for its Flows builder, dinged on pricing.

The agent reads all of it. That's the whole advantage.

tempo/
Always loaded On demand Saved commands
├── CLAUDE.mdthe brain
├── company/who Tempo is
├── data/reviews · usage · billing
├── sales-calls/8 transcripts
├── competitive-intel/4 quarterly briefs
├── positioning/audit target
├── connectors.md
└── .claude/commands/
    ├── positioning-brief.md
    ├── battle-card.md
    └── pricing-teardown.md
The anatomy

One file tells the agent who Tempo is.

It loads every session, so the agent never re-learns the company. It points at the files (the sources), the saved commands, and the voice.

An agent is a plain-English brief, not magic.

CLAUDE.mdloads every session
# PMM Agent Workspace, Tempo
This file loads automatically. You start with the context below.
## Read the brain first
company/company.md · competitors.md
## The work lives in files, five sources
reviews.csv · sales-calls/ · product_usage.csv
subscriptions.csv · competitive-intel/
## How to help
run /positioning-brief → themes → gaps → positioning
## Voice
Plain, sharp, concrete. No hype. No emdashes.
Connectors

Every file is a tool you already pay for.

In production the agent pulls them live, your Stripe, your PostHog, your G2, your Gong, on demand. Frozen as files here so nothing moves mid-talk.

One agent reads all six at once. That's the trick, not the connectors.

reviews.csv→G2 · Capterra
sales-calls/→Gong · Chorus
product_usage.csv→PostHog · Amplitude
subscriptions.csv→Stripe · Chargebee
company/→Notion
competitive-intel/→Klue · Crayon
accounts + deals→Salesforce · HubSpot
Activity 1

One command turns 298 reviews into a brief.

›/positioning-brief
reads all five sources, adds a reviewer pass
output/positioning-brief.mdTempo PMM agent
TL;DR
Tempo is a loved product with a pricing problem. Flows drives the enthusiasm; contact-based pricing is the loudest complaint and rising, pushing customers to Cobalt and its deep Salesforce sync. Lead with the builder. Don't lead with price.
What customers love
Flows / the journey builder118 of 2984.8★
Reliability & deliverabilitysteady4.6★
"Flows is the single reason we chose Tempo. We went from 3 automations to 20 because building them stopped being painful."
Activity 2

Same agent, now a battle card for sales.

›/battle-card Cobalt
grounded in reviews, calls, billing, and the CI archive
output/battle-card-cobalt.mdKlue · Gong · G2 · Stripe · PostHog
Tempo vs CobaltThreat #1, rising
Where Cobalt beats us (concede)
Deep, real-time Salesforce sync. G2 named it our gap 25 times; the one reason Corvana left.
Where we beat Cobalt (press)
The builder. Flows loved in ~40% of reviews (4.8★). Time-to-value: a journey in an afternoon, not a quarter.
Their play against us
"Switch off contact-based pricing." It works because it's our loudest complaint and #1 churn reason (Stripe: 11 of 26 cancels).

What should I ask it next?

You pick, I run it live. It only knows what's in the folder, so it can't wander far.

›
tryWhich accounts are about to churn? tryWho did we lose to Cobalt, and why? tryDraft the launch tweet for Flows tryRewrite the homepage headline
Take it with you

You leave with the prompts, the code, and a workflow that's yours.

git clone github.com/nicolaas-spijker/pmm-agent-demo
Inside: the CLAUDE.md, the commands, the five data sources, the run-sheet.

context is king  ·  pull, personalize, own  ·  marketing-engineering

QR to github.com/nicolaas-spijker/pmm-agent-demo
scan to clone
Starting from zero?

The same thing, at your own pace.

Agent Foundations for Marketers is a free course, the same ideas and the same demo, one step at a time, whenever you want.

QR to the Agent Foundations for Marketers course
scan to start

Bring your hardest PMM workflow.

Positioning, launch, competitive, enablement, whichever you dread. We'll sketch how you'd wire it.

Free course: Agent Foundations for Marketers Free course → click or ← → to move · F fullscreen 1 / 18