Ava Lindqvist
Founder at Northwind Labs
Now

Your AI plans, writes and publishes your posts, reads ad spend against your CRM, and acts in the apps you connected. Tracee gives it your channels, your rules and real numbers, and gives you the final say.
Spend against the leads your CRM recorded.

Draft
posts.draft
Claude writes Founder series #3
Approve
Maya Chen approves
In Approvals, before it goes out
Live
Published on LinkedIn
utm_campaign=founder-series-3
Contact
Dana Reyes
Northwind Labs, new in HubSpot
Match
Matched by UTM
Credited to Founder series #3
Deal
$48,000
Closed won in HubSpot
Then ask your AI which post made money. It answers from this trail, not from what each ad platform claims.
Tell your AI what to say. It writes one post with a version for each channel, held to that channel's rules, and schedules it. You see each version exactly as it will look on the platform.
utm_campaign, so a click that becomes a contact is credited to the post.Turn this week's blog post into posts for LinkedIn, X and Instagram.
posts.draft linkedin, x, instagram
3 versions, brandIssues: none
posts.schedule Tue 9:00
status: pending_approval
On LinkedIn, as your followers will see it
Ava Lindqvist
Founder at Northwind Labs
Now

northwind.com/blog/a-quarter-of-attribution
?utm_campaign=founder-series-3
Brand rules hold your tone and the phrases you never want to see. Agents read them before they write, and a version that breaks one is flagged and can't go out until it's fixed.
brand tool.brand.get
Plain and specific. 4 banned phrases.
posts.draft instagram
instagram: uses banned phrase "game-changer"
posts.update instagram
brandIssues: none
Tone
Plain and specific. Numbers over adjectives. Write like a practitioner, not a brochure.
Banned phrases
Every closed deal last quarter, traced back to the post that started it. Honestly a game-changer for how we plan content.
Uses a banned phrase: “game-changer”.
Add Tracee to Chrome and it sits on the networks you scroll. On any post it writes your version, explains why it works, drafts a reply, or saves it for later.
Write next week's LinkedIn posts from what we saved this month.
posts.saved linkedin
12 saved posts
posts.draft linkedin ×3
3 drafts, brandIssues: none
Tracee matches every new CRM contact to the campaign or post that brought it in, using the UTM parameters on the visit, the click ID the ad left behind, or the CRM's original source. When it can't, it says why.
So when your AI asks what worked, it gets contacts and MQLs from HubSpot, Salesforce or Pipedrive, not the numbers each ad platform claims for itself.
gclid and fbclid, and the CRM's original source.Which post brought in the most MQLs last quarter?
analytics.performance days: 90
Founder series #3: 9 contacts, 4 MQLs
Founder series #3, on LinkedIn. One of its contacts, Dana Reyes at Northwind Labs, is now a customer.
Dana Reyes, Northwind Labs
CustomerPriya Natarajan, Brightline Health
OpportunityMarcus Hale, Verdant Analytics
OpportunityJonas Weber, Cobalt Freight
CustomerElena Sato, Lumen Ridge
OpportunityNo UTM on the first visit. HubSpot original source: Direct traffic.
Sam Okafor, Quarry Systems
SQLEvery ad platform reports its own conversions. Tracking health lines them up against the contacts your CRM recorded and gives each platform a match rate, with the reasons the rest went unmatched.
analytics.tracking_health days: 30
Meta Ads: 212 reported, 41 in HubSpot
Meta claims 212 leads, but 41 reached HubSpot. Most of the gap is first visits with no UTM.
Unmatched contacts, by reason12
Set the policy once: whether agents can connect, whether publishing needs approval, and which channels they may post to. Anything that needs a person waits in Approvals, and the agent can see the decision.
posts.publish Founder series #4
Publishing needs a person: 1 request
approvals.list status: pending
1 waiting: Founder series #4
Allowed platforms
What an agent can do right now
Agents can draft for LinkedIn, Instagram and X. Anything they publish or schedule waits in Approvals for a person.
Available Waits for approval
No tool touches ad spend. Agents can't change campaigns, budgets or bids, whatever the policy says.
Whether a person clicked a button or an agent called a tool, the audit log records who did it, where it came from, what changed, and the value before and after.
draft_postFounder series #4NoneDraft, 3 channelssubmit_for_approvalFounder series #4DraftPending approvalupload_mediaWebinar replay cutNo videoVideo attachedConnect HubSpot, Slack, Gmail, Notion, Google Sheets or any of 1,500+ apps once. Your AI can then look things up in them and, with a person's yes, make changes.
apps tool searches every action of every connected app.Add everyone from the webinar post to our HubSpot nurture list and tell #sales.
apps.search "add contacts to list"
2 actions in HubSpot and Slack, both writes
apps.run HubSpot, Slack
Changes need a person: 2 requests
Reads run straight away. Looking something up never needs a person.
Changes wait. A write in any app becomes an approval request first.
Some work shouldn't need a prompt. Workflows run on a schedule, when a post goes out, or when a new contact lands in your CRM, with steps in Tracee and in your apps.
Schedule
Every Monday at 8:00
Trigger
Tracee
Last week's numbers
Get performance, 7 days
Slack
Send the digest to #marketing
Send message
What lands in #marketing
TraceeMon 8:00
Last week: 23 contacts, 7 MQLs, $412 per MQL. Top post: Founder series #3.
Triggers on a schedule, a published post or a new CRM contact. Steps in Tracee and in your apps, with routers and loops.
Ad platforms connect with the sign-in you already use. Your CRM and social channels connect in a click. Then one link connects your AI, and it sees what your account can see.
channels.list
LinkedIn, X, Instagram, YouTube connected
Ad platforms
CRM
Publishing and agents
Connect your channels and your CRM, then your AI. Its first post waits for you.