Most marketing tech ships as a bolt-on. A landing-page builder over here, a form vendor over there, a webinar tool that never quite reconciles with the CRM, an attribution layer running its own copy of every account. Three logins, three sources of truth, an integration layer no one owns.
Actionary makes the public surface a first-class part of the substrate. The forms, the landing pages, the knowledge base, the partner sign-ins, the widget on your own website — every one of them writes into the same tables the tenant CRM writes to. One substrate. One audit log. One agent.
Public forms that write straight to the substrate
Every inbound form ships as a first-class entity on the platform, edited by a marketing admin through the same schema tools every other entity uses. A form is a set of fields, a submit endpoint, an HMAC-signed webhook, and an accept-rule that materialises the submission as the right record type — a lead, an interaction, a support case, or any tenant-defined entity.
Submissions run through the same defensive properties every public surface applies — rate limits, honeypots, replay protection, size caps, structured logging, tenant isolation on the write. A form that goes viral does not become an outage.
Landing pages on a vanity domain
The public portal at portal.{base} serves knowledge-base articles, gated content, and partner sign-ins. Point a vanity domain at it — learn.acme.com, hub.acme.com — and the portal serves under your brand with a DNS-TXT-verified challenge, no manual approval, no ticket queue.
The vanity CNAME lands the exact same substrate the tenant admin app writes to. A prospect reading an article from learn.acme.com, filling out a form on the same host, and downloading a gated asset all touch one record. Marketing doesn’t reconcile with sales after the fact — they were writing to the same rows the whole time.
The embeddable widget on any website
A ~30 KB framework-free JavaScript module renders into a closed shadow root on any page. It picks up your tenant palette from tenant_profile at boot — accent colour, ink colour, background — and matches your site without a stylesheet override.
The widget captures visitors, adds them to the substrate, and hands off to the agent when the conversation warrants it. Because the widget shares the substrate, an anonymous visitor who returns identified next week rides in as the same record — no cross-domain identity graph to buy.
Knowledge base and gated assets
A repo-versioned knowledge base ships as content in the same platform. Articles get a URL, a search box, a Cmd+K palette; the agent picks up new articles the moment they publish through the same search tools a tenant user has. Two agent tools cover it — one to search, one to retrieve.
Gated assets — whitepapers, buying guides, technical briefs — live in the uploads library with per-partner share grants. A prospect that requested a whitepaper by filling in a form gets a signed short-lived download URL; every download is audited; the marketing team can see which assets landed with which accounts.
Signals from every public touch
Every public interaction can be surfaced as a signal on the account timeline. A form submission, a document download, a KB article view on an authenticated portal session, a magic-link partner sign-in — all of them can trip a workflow that classifies the touch, attaches it to the account, and lands a signal in the tenant’s inbox.
Marketing does not need to reconcile a campaign report against the CRM later. The touchpoints already sit on the account when the sales team opens it.
The agent drafts campaigns from your substrate
Marketing teams live in one bind: getting from “we should re-engage the accounts that went quiet last quarter” to “here is the email each account gets, personalised to what actually happened on their record.” Between the two sits a copy-paste chain no one enjoys.
The agent closes the gap. It reads the same substrate the marketing team writes to — every signal on the account, every enriched account record, every interaction logged against the customer, every activity in the last quarter. Then it drafts a campaign grounded in what actually happened.
The draft cites specific individuals from the substrate. The agent knows Linda at Acme raised the security review question in June. The agent knows Karen at Beta agreed to the quarterly architecture review in October. The agent knows the champion at Gamma left three weeks ago. When the outreach lands, the reference is real — not a mail-merge field guess.
The draft ships as an email built on a tenant-owned template. The template picks up the tenant’s brand — logo, accent, sign-off tone. Every merge point in the email pulls from the substrate, not from a spreadsheet the marketing team maintains by hand.
Every draft lands as a reviewable interaction on the account timeline. The team approves the ones that fit. The send goes. The reference stays visible on the timeline, the same way every other conversation on that record does.
Partner and referrer attribution as a first-class edge
Partner referrers get their own portal at portal.{base}/<tenant>/partner. Every deal a partner sources carries a partner_id on the deal record. Every asset a partner is granted access to sits in one shared library with one audit trail. Every referral is a first-class edge on the substrate.
The takeaway
Marketing is not an integration in Actionary — it is one of the six audience surfaces the substrate serves natively. Public forms write straight to the tables. Vanity domains carry the brand. The widget picks up the palette. Signals surface every touch on the account timeline. Partners and referrers get a first-class portal.
One substrate. One audit log. One agent. And a marketing team that stops reconciling three systems on a Friday afternoon.