Webflow and marketing agency
One agency, many Webflow projects, and the key that ends up in all of them
An agency working on this platform does not have a website. It has a workspace full of them, all with the same custom code field in the same place, and a habit of duplicating a project rather than starting from nothing. That makes the install trivially repeatable, which is precisely the problem: the thing being repeated is a key that belongs to one assistant with one body of material and one allowlist.
Why this pairing is its own job
The Webflow install guide covers the tag, and the marketing agency guide covers what the assistant has to know. What follows is the part that belongs to neither.
- Your own site and every client build are the same kind of object with the same footer field, so pasting the tag into a client project is the path of least resistance and nothing warns against it.
- A key names one assistant. On a client domain that assistant either renders nothing, because the origin is not on its allowlist, or renders and answers questions about your agency to their visitors.
- Transferring a finished project into the client's workspace carries the custom code with it. The handover checklist covers domains and billing and almost never covers that field.
- Every published collection item has a public URL and sits in the sitemap whether or not the work page links to it, which on an agency site means case studies you were not ready to show and clients you may not be allowed to name.
What changes about the install here
<script src="https://cdn.askably.xyz/w.js" data-key="pk_live_YOUR_KEY" defer></script>The tag is the same one on the Webflow guide. Everything below is about where it goes on a marketing agency site specifically.
One project, one assistant, one key
Each site that needs an assistant needs its own, with its own material and its own allowlist. That is not a licensing formality, it is what makes the answers correct: the material a client's visitors need is the client's material, and the origins that are allowed to render it are the client's origins.
Treat the key as project scoped in your own process. Keeping it in the same place you keep the client's other project credentials is enough, and it stops the copy and paste that causes everything below.
Handover clears the field
Add the footer custom code field to your offboarding checklist alongside the domain and the billing transfer. A project moved to a client workspace keeps whatever was in that field, and once it is in their workspace you may not be able to see it any more.
If the client is keeping the assistant, this is the moment to move it onto a key of their own rather than leaving your key live on a site you no longer control. If they are not, clear the field and publish before the transfer.
A duplicated project duplicates the tag
Agencies clone a finished project as the starting point for the next one. The clone carries the footer code, publishes to a new staging address, and now there is a tag with your key on a site that has nothing to do with you.
It usually renders nothing, because that staging address was never allowlisted, which means nobody notices for months. Clearing the field is the first edit to make on any cloned project, before the design work starts.
Where the answerable material lives
| Service pages written as deliverables | What a build, a retainer or a programme actually produces. On an agency site this is the material that converts, and it is usually the material that exists as adjectives rather than as artefacts, which the assistant cannot do anything with. |
|---|---|
| The work collection, every published item, linked or not | Publishing an item and featuring it on the work page are two separate decisions here, and only one of them is visible from the front of the site. The crawl follows the sitemap, so it sees both kinds equally. |
| Indicative starting points, wherever you keep them | Often a field on a service collection item rather than a page of its own, and sometimes in a section hidden by an interaction, which puts it in the source regardless. If a number is in the published markup it can be quoted, so the number that is there should be the one you are willing to have quoted. |
| Commercial terms, which are usually a document rather than a page | Asset and account ownership at the end of an engagement, notice periods, how out of scope work is quoted. Clients ask these late and should ask them early. Upload the version you are happy to have read aloud. |
The first thing to get right
Open your published sitemap and read every collection URL in it against what you are contractually allowed to publish, before the first crawl.
Confidentiality obligations in agency contracts commonly outlast the work and often cover the existence of the relationship as well as its detail. An item that is published but unlinked feels private because it is invisible from the site, and it is not private at all: it is a live page with a URL that anything reading your sitemap will find.
The failure that belongs to this combination
A client you are not allowed to name, quoted with a working link
Somebody asks whether you have done work in their sector. The answer names a client, describes the engagement, and attaches a citation, because a collection item was published months ago when the case study was drafted and simply never added to the work page.
The citation is the damaging half. It is a live URL on your own domain, which means the answer is not only a disclosure, it is proof that the disclosure was published, and the client can open it.
Confirm which items are exposed by reading the sitemap rather than the work page. Set the ones that should not be public back to draft, publish, and then re-index, because the corpus keeps what it read until it reads again. Unpublishing alone does not remove the sentences from the assistant's material.
Before you go live
- The origin the page is served from has to be on the allowlist for that assistant, or nothing renders and the browser console says which origin was refused. An apex domain and its www are two different origins to a browser, so list both, along with any staging or preview host you want it to work on.
- Open the site as a visitor would, on the pages a marketing agency visitor actually lands on, and ask it something only your own material could answer. A widget that renders is not the same as a widget that has read anything.
Questions
- Can we run one assistant across all our client sites?
- You would not want to. Each assistant answers from one body of material, so a shared one would answer a client's visitors from a corpus containing every other client's site. Separate assistants keep the material, the allowlist and the conversations where they belong.
- What happens if our key ends up live on a client domain?
- Almost always nothing visible, because that origin is not on the allowlist and nothing renders, and the console on that page names the refused origin. The case worth avoiding is a client domain you did allowlist during a build and never removed, where it renders and answers about your agency instead of theirs.
- Can it quote figures from a case study?
- It quotes what you index and cites where it came from, so any result in a published case study is quotable. That is the reason to index only the approved wording, with whatever qualification sat next to the number on the page, rather than an internal version that was never cleared.
Keep reading
- Installing on WebflowPaste the tag into the footer custom code field, publish again, and allowlist the webflow.io staging address as well as your domain.
- Everything for a marketing agencyService definitions and engagement terms convert. A price quoted for work nobody has scoped is the trap on an agency site.
- What a Webflow pricing page actually says to something that only reads textPrice toggles and tab panes leave every variant in the page source at once, and the product itself sits on an origin Webflow never touches.
- A marketing agency on Squarespace, where the work is images and the answers are notAn agency site is mostly pictures. If the case study text sits inside the image, a crawl finds a client name and a caption, and nothing to answer with.
- An agency running a Ghost publication, where the good material is the gated materialThe posts the agency is known for sit behind the members gate, so a crawl gets teasers. What is left to answer from is the commercial detail nobody wrote down.
Try it on your own material
Upload a document or point it at your site, paste one line of HTML, then ask it something only your business could answer.