- Brand
- Flax Sites
- Category
- Operations
- Primary Subcategory
- AI Website Builders
Integration details
Description
Use Flax to create and improve business websites, review their content and aggregate performance, and prepare owner-approved drafts. This integration does not manage plans or subscriptions, configure payments, process purchases, start checkout, or publish changes. Owners finish setup and publish drafts in Flax.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- AI Website Builders
- Secondary Subcategories
- None listed
- Brand
- Flax Sites
- Access
- Account optional
- First tracked
- 2026-11-04
- Tool count
- 46
- Market
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Your score is coming
ChatGPT now suggests Plugins on its own when they match a user's request.Your Plugin Discovery Score measures how often yours appears, and it will show here as soon as it’s ready.
What discovery looks like

Get alerts for Flax Sites
Get updates when Flax Sites’s Discoverability Score or category rank changes.
Competing in ChatGPT AI Website Builders
View Category46 tools agents can invoke
Read aggregate Flax Stats, Google Search Console summary, Ahrefs Domain Rating, and cached Microsoft Clarity insights for a site. These are available to every site-scoped agent; unavailable integrations return a simple status such as "not connected" or "needs custom domain". Flax Stats includes aggregate page views, visits, visitors, top sources and pages, device, country, city, and language breakdowns, UTC daily traffic, average traffic by weekday, device-level engagement, journeys, UTM campaign summaries, and contact clicks grouped by the browser’s first recorded source. The browser retains first-touch attribution until its site storage is cleared; older events use the earliest source available in the requested stats range, then the click referrer. Daily visitors are unique within each date; weekday averages compare the average calendar date in the selected range. Clarity snapshots include sanitized page-level friction signals for rage/dead clicks, excessive scrolling, quickbacks, script errors, and error clicks; open the linked Clarity project for session recordings and heatmaps. MCP does not return replay event streams or raw Flax visitor/form-submission records. Documentation: https://flaxsites.com/docs/agents#analytics-and-integrations
Read bounded Google Search Console query, page, or query-to-page performance for a site. If Google Search Console is not connected, return its simple "not connected" status. Documentation: https://flaxsites.com/docs/agents#analytics-and-integrations
Apply the persisted ui.siteStyles values returned by the Flax branding editor and, when supplied, regenerate the whole-site colour theme from the existing colour format. This internal action follows the Flax branding editor; it creates one pending owner-review draft and never publishes directly. Documentation: https://flaxsites.com/docs/agents#model-updates
Browse the Flax branding catalog. Returns curated branding presets with descriptions, exact persisted style settings, typography roles, named Google Fonts, buttons, inputs, section-label styles, panels, navigation, tabs, icons, list styles, colors, and agent hints. Use $any-google-font only as a symbolic custom-font choice and replace it with a real Google Font family before saving CSS. Documentation: https://flaxsites.com/docs/agents
Compile one current homepage section with its selected template and variants, then return a compact manifest of the fields, images, and content blocks actually present in the rendered HTML. When this section uses a custom General template, section.customTemplate contains the complete saved source package (HTML, CSS, hooks, and variants); read and reuse it as the starting point for a custom-template rewrite. Hidden entries are CMS inventory only and must not be described as visible. sectionId must be an exact stable ID, never a visible label. If only a label or title is known, first call flax.site.get_snapshot and resolve it from sectionStack. Set includeConfig true when planning a section layout or style change; it returns the complete currently supported option keys and values for this section. When the section exists in a pending working draft, pass its change ID as baseChangeId so the configuration is read from that draft instead of the live site. Use this before discussing or editing the visible content of a specific section; use flax.content.get_type afterward only when the full canonical content root is needed. Documentation: https://flaxsites.com/docs/agents#active-section-content
Resolve section-owned images associated with one named site section. Use this before drafting for a section background, hero image, content-block image, or other image actually owned by that section. Do not use it for a brand-logo request: header and footer render the global businessInfo.logoLight/businessInfo.logoDark fields but do not own the logo, so do not identify a logo by header.images, footer.images, numeric position, or opaque filename. If status is single_image, selected is authoritative for section-owned media; if status is multiple_images, render the returned visualUrl choices and ask the user to select one; if status is no_images, ask the user to insert from the media library or upload through the chat box. Documentation: https://flaxsites.com/docs/agents#content-type-reads
Read one canonical content root without downloading the full SiteDataModel, and link it to the model.ui.sections entries that render it. For services, return model.services once with every matching active section. For keyed roots such as articles, faqs, or general, return one item per model.<contentType>.<sectionId> with its matching section attached. Set includeDisabled true only when disabled sections are also needed. Service areas (areas we cover) use the canonical serviceLocations.locations collection and a ui.sections entry of type service-locations. The locations.locations collection represents physical business premises; do not repurpose it for towns served. Before editing coverage, read flax.content.get_type with contentType serviceLocations and includeDisabled true, then services; use flax.site.get_snapshot to inspect the section stack. Preserve existing IDs, descriptions, service associations and section settings. A FAQ or a general text list is not a substitute for structured service areas. Each serviceLocations.locations item has id, name, description, optional postcode and servicesAvailable (existing service IDs). The compiler uses nonempty area descriptions, enabled service-locations and services sections, and service content/output settings to generate linked area and service pages. Adding names alone does not establish the hub-and-spoke architecture. Do not assume page.enabled alone creates a page or invent page URLs. When asked only to list coverage, preserve existing page content and settings. When asked for hub-and-spoke SEO, prepare meaningful area descriptions and relevant service associations using supported fields, and verify the generated preview links before claiming the pages exist. Do not invent branch addresses, local projects or coverage claims. Documentation: https://flaxsites.com/docs/agents#content-type-reads
To add an image to the site media library, call flax.media.upload_image with an optimized WebP attachment or with WebP bytes encoded as base64 when the client supplies bytes directly. Width and height must each be 1920 pixels or less and the file must be 25 MB or smaller. The tool stores it in the site image zone and returns its logical /images/...webp path and prepared attachment for content or draft tools. Replaces an image owned by a site section by creating an unpublished draft for owner review. The image input is a prepared Flax attachment. The active image is resolved from current template metadata and preset. The optional hint identifies a background, a one-based image position, or an image clue such as a block title, image title, ID, or filename. Without a hint, a unique target is selected automatically; multiple matches are returned as numbered choices. baseChangeId associates the edit with an existing pending draft. Section images are supported; site-wide brand logos are stored in business information. Publishing remains under the site owner's control. Documentation: https://flaxsites.com/docs/agents#content-workflows
Create or update an article in an existing enabled Articles section, validate it, and create a previewable owner-review draft. The canonical collection is model.articles[sectionId].articles; an empty array is valid. New articles are published by default unless published: false is explicitly requested. For a project or case-study, set itemIds to exact related service IDs and locationIds to exact related physical or service-area location IDs whenever the relationship is clear; when an existing generated page is the target spoke, also preserve and append the exact article ID in that page's seo.pages.<pageKey>.linkedArticleIds in the same atomic draft. Do not invent links or overwrite existing link arrays. This specialized helper writes only the article; use flax.drafts.propose_change when the existing page must be updated in the same draft. contentBlocks are optional, so an article may use only a title, short description, images, or other supported article fields. When an article includes contentBlocks, write only the requested real copy and supplied final media: never add Flax landscape images, placeholder image objects, or generic placeholder title/description text. If no final image is available for an article with contentBlocks, omit images or leave the image array empty. A new article with no contentBlocks may follow the collection's existing media convention and receive Flax's built-in landscape placeholder only when sibling articles already use images. If reusing an existing image, copy its complete image object by value in the new article rather than moving it from the original article. For any new uploaded article image, complete the prepared WebP upload workflow before including the returned Flax attachment. Do not ask the owner to choose a destination merely to populate a placeholder. Do not send agent-supplied contentBlocksPath values. Article contentBlocks descriptions support HTML rich text, including <strong>, <em>, <ul>, <ol>, and <li>; use lists for checklists and ordered steps, and use emphasis selectively. An optional article.cta uses the normal CTA interface and renders directly after the article detail; omit it for no article CTA. For a malformed record with a missing empty articles array, use flax.drafts.propose_change to repair the articles collection in an owner-review draft. Related recipes: https://flaxsites.com/.well-known/flax-agent-recipes.v1/upsert-article.json. Documentation: https://flaxsites.com/docs/agents#content-workflows
Delete one saved Flax document and its Markdown file by the exact documentId returned from flax.documents.list. This does not affect live site content. Documentation: https://flaxsites.com/docs/agents#agent-workspace
List saved Flax documents and discover their tags. Filter by tag, search text, kind, or freshness to find monthly reports and other saved evidence; availableTags lists every tag present for this site. Documentation: https://flaxsites.com/docs/agents#agent-workspace
Read the Markdown content of one saved Flax document by its exact documentId from flax.documents.list. Documentation: https://flaxsites.com/docs/agents#agent-workspace
Save one completed user-readable audit, benchmark, report, research synthesis, strategic plan, or expensive computation as an official Markdown Document and update index.json in the same tool call. Use this before the final response whenever substantial reusable work should remain available later, even when the user did not explicitly ask to save it. Pass the detailed report body in content without repeating the title or Summary; Flax adds the H1 title and scanning Summary. Supplying an existing documentId replaces that document’s Markdown content; read it first and do so only when replacement is intended. Do not use this for routine answers, transient chat, or small site edits. Supported Markdown visual extension for chat replies and durable documents: When a short, verified comparison or trend would be easier to scan as a visual, use a fenced chart block. The chart is rendered for the reader, so do not explain the fence in the user-facing response. ```chart type: bar title: Monthly enquiries unit: enquiries color: green January | 12 February | 19 March | 27 ``` The type, title, unit, and color lines are optional except that the current supported type is bar. The color defaults to accent; the only other supported colors are green and red. Use one or more short label | non-negative value rows, with plain numbers or %, k, or m suffixes, and no more than 24 rows. Use only verified or clearly identified estimated values; never invent metrics. For analytics, site stats, traffic, search-performance, or dashboard requests, include exactly one widget block whenever verified numeric data is available. Put a short plain-English summary before or after it, and include only the requested metrics or the relevant subset. A response that reports site statistics without a widget is incomplete. When a verified answer would be easier to scan as a small dashboard, use one structured widget block after a short plain-English lead. Use JSON only inside the fence, with translated labels where appropriate. A widget can be a full site-stats dashboard or a small subset such as two comparison cards. Example: Use the literal fence language widget, never json, for a rendered dashboard. ```widget {"title":"Site activity","period":"3–31 August 2026","description":"How the site performed in the latest period","metrics":[{"label":"Page views","value":587},{"label":"Visits","value":452},{"label":"Visitors","value":219}],"sections":[{"title":"Search visibility","variant":"metrics","items":[{"label":"Clicks","value":6},{"label":"Appearances","value":57},{"label":"Click rate","value":"10.5%"},{"label":"Average position","value":8.9}]},{"title":"Top sources","variant":"bars","items":[{"label":"Google","value":115},{"label":"Direct","value":337}]},{"title":"Devices","variant":"bars","items":[{"label":"Mobile","value":320},{"label":"Desktop","value":267}]}]} ``` For widgets, metrics and section items must contain only measured non-negative values. Use variant bars for ranked comparisons and variant metrics for a compact group of labelled values. For durations, readable values such as "44 seconds", "1.5 minutes", "6 minutes 33 seconds", or "250 ms" are valid. Include only the sections relevant to the user request; omit unavailable sections rather than guessing. Keep the visual compact: up to 8 headline metrics, up to 8 sections, and up to 24 items per section. The widget and chart fences are rendered for the reader and should not be explained in the user-facing response. Use ordinary Markdown when a widget would not materially improve the answer. Use ordinary Markdown for everything else. Documentation: https://flaxsites.com/docs/agents#agent-workspace
Read an agent-created change and its preview state. Documentation: https://flaxsites.com/docs/agents#drafts-and-approval
Fast path for a clear, explicit natural-language site change when broad inspection is not required. Use it for content and data edits such as adding, editing, or removing services, locations, products, team members, articles, contact-form questions, FAQs, reviews, links, business information, content-block icons, or other canonical content collections. To add an image to the site media library, call flax.media.upload_image with an optimized WebP attachment or with WebP bytes encoded as base64 when the client supplies bytes directly. Width and height must each be 1920 pixels or less and the file must be 25 MB or smaller. The tool stores it in the site image zone and returns its logical /images/...webp path and prepared attachment for content or draft tools.Every contact form renders one submit button automatically, even when no submit item is stored. Its text comes from the name of the special question with id "submit" (normally type "submit"); update that item in place when changing the button label. Do not add an ordinary question or a second submit item to create the button. If a new form needs a custom label and has no submit item, add exactly one { id: "submit", type: "submit", name: "<button label>" } item. Without one, the button says "Submit". If a validation error says "Model path does not exist", refresh the snapshot of the same working model before retrying. Use flax.site.get_snapshot for live-model changes; for an unpublished local model or pending draft, refresh that working model instead of switching to the live model. Rebuild array paths from the refreshed item counts and exact modelPath values, and never repeat a numeric index that is absent. For new or changed canonical copy, always use the site primary language—the code in the first item of i18n.languages—even when the request is in another language; Flax translates changed primary-language content when publishing. Requests to add, change, replace, remove, or choose icons in an existing section are content edits when exact icon names are supplied; use this tool in that case and preserve the section layout and all non-icon content. When the owner asks generally to change or choose icons without naming exact icons, use flax.interactions.request_user_input first and wait for the owner response before drafting. Aside from global branding, do not use this generic planner for section layout or style changes; use flax.content.get_active_section with includeConfig true followed by flax.sections.change_config. Treat one user message as one atomic site update and bundle every compatible requested change into one pending draft, even when the changes affect different sections or require different specialist actions. If another draft-producing action has already returned a pending change ID in this same request, pass that ID as baseChangeId so the next change composes into the same preview. Never split numbered items, sections, fields, or tool types into partial drafts. Create separate drafts only when the user explicitly asks for alternatives, options, versions, or separate previews to compare; keep those alternatives isolated and do not pass baseChangeId between them. If a working draft is supplied in the conversation context, pass its changeId as baseChangeId so this request composes on that pending draft. If the result is validation_failed, read the user-readable feedback and make at most one bounded retry with a clearer plain-language request. Do not ask the owner for internal model paths. Do not claim a draft exists until this tool returns pending. For homepage audits, known shared-value replacements, and other read-led updates, follow the site-read order beginning with flax.site.get_snapshot or use flax.site.scan_model for a known value; do not use this tool to bypass that inspection policy. Flax reads the live model or the supplied pending draft, generates the schema-valid JSON ModelUpdatePlan using type as every operation discriminator and its owner-facing English summary in one structured planning response, validates it, and creates one pending owner-review draft. Pass uploaded attachment objects unchanged. This creates an incremental draft, not a launch-readiness audit: unresolved template copy, incomplete business details, or the absence of a custom domain do not block the requested edit. Carry forward resolved editing decisions and preserve explicitly excluded content. When asked to populate service areas from a broad region, expand it into individual real places in serviceLocations.locations rather than asking the owner to enumerate them. Do not ask a redundant confirmation before using this tool. Ask for clarification only when a required value is genuinely missing or unsafe; group independent blockers into one response. This does not publish. Documentation: https://flaxsites.com/docs/agents#model-updates Related recipes: https://flaxsites.com/.well-known/flax-agent-recipes.v1.json
Request a visual branding choice for an existing site. The result provides the current style context and a direct link that opens Site Setup on Flax’s Branding tab, where the owner can adjust typography, buttons, inputs, panels, navigation, tabs, icon styling, colours, and theme. When initialTab is supplied, the link opens that branding subsection first. No draft is created until the owner applies a change. Documentation: https://flaxsites.com/docs/agents#agent-interactions
Return a direct link to the Flax UI for choosing an existing section layout or template. For the homepage About section, pass sectionType general and sectionId about; the link opens the About template library, where the owner can copy a template detail with the exact selection and reference content/image spec. Ask them to paste the details into chat, then use its template ID and preset index when preparing the reviewable draft. Do not use this for a colour-only, background-colour, or palette request; call flax.sections.change_palette with mode dark or light instead. The owner chooses the layout in Flax and reviews any resulting draft before publishing. Include sectionId when the site contains more than one section of that type. Documentation: https://flaxsites.com/docs/agents#agent-interactions
Stores an optimized WebP image in the selected Flax site's media library and returns its logical image path plus a prepared Flax attachment for content or draft tools. Attach the WebP file with the file input, or provide WebP bytes as base64 when the client supplies bytes directly. Width and height must each be 1920 pixels or less and the file must be 25 MB or smaller. This tool does not create a content draft or publish anything. Documentation: https://flaxsites.com/docs/agents#content-workflows
Mark a manually completed task as complete the phased Flax site setup and growth checklist. Pass the exact task ID from flax.onboarding.get_checklist. Site creation, custom-domain, Google Search Console, and Stripe completion are derived from Flax state and cannot be manually changed. Initial setup ends with connecting the custom domain; Google Search Console, Stripe when enabled, Clarity, and growth work unlock after that domain is connected. Reviews can be skipped and added later; the custom domain cannot be skipped because it unlocks later stages. Completing or skipping a task changes checklist state only; it does not publish site content. Documentation: https://flaxsites.com/docs/agents#onboarding
Read the phased Flax site setup and growth checklist. Returns live completion evidence, stages, task links and dependencies, public-domain/Bunny DNS details, account connection state, and the recommended next action. Initial setup ends with connecting the custom domain; Google Search Console, Stripe when enabled, Clarity, and growth work unlock after that domain is connected. Reviews can be skipped and added later; the custom domain cannot be skipped because it unlocks later stages. Completing or skipping a task changes checklist state only; it does not publish site content. Documentation: https://flaxsites.com/docs/agents#onboarding
Skip an optional task the owner has chosen to defer the phased Flax site setup and growth checklist. Pass the exact task ID from flax.onboarding.get_checklist. Site creation, custom-domain, Google Search Console, and Stripe completion are derived from Flax state and cannot be manually changed. Initial setup ends with connecting the custom domain; Google Search Console, Stripe when enabled, Clarity, and growth work unlock after that domain is connected. Reviews can be skipped and added later; the custom domain cannot be skipped because it unlocks later stages. Completing or skipping a task changes checklist state only; it does not publish site content. Documentation: https://flaxsites.com/docs/agents#onboarding
Deterministically add one new site section and create one pending owner-review draft. Use this for every request to add a new section, especially a gallery. For new section requests, choose a semantic templateHint from the listed values; the hint maps to a canonical section type and a registered template that best fits the requested purpose. Pass section copy and optional placement fields in args. type may be omitted when templateHint is supplied; when both are supplied, they must match. An explicit template ID overrides the mapped template, while template "auto" uses the mapped default when a hint is present. For compatibility, type without templateHint continues to use automatic template selection. Structural page chrome (headers, footers, status bars, dividers) and child-page layouts are not addable sections in this tool; use the relevant existing-section or page-template flow. For the first visual-only pass of a new custom General section, set args.prototype to true and omit visible CMS copy; this creates the deliberately empty root for flax.sections.generate_custom_prototype. The raw prototype may remain the completed visual result for that turn; do not add CMS content unless the user explicitly asks for conversion. To add an image to the site media library, call flax.media.upload_image with an optimized WebP attachment or with WebP bytes encoded as base64 when the client supplies bytes directly. Width and height must each be 1920 pixels or less and the file must be 25 MB or smaller. The tool stores it in the site image zone and returns its logical /images/...webp path and prepared attachment for content or draft tools. For gallery, General, contact, and logos sections, pass uploaded images as attachments; the tool combines section creation and image insertion atomically. Other section families may store media on individual content items and do not accept generic section-level image attachments. When an uploaded image is only a visual layout reference, omit attachments because it is not site content. Do not use the generic model planner for section creation. This never publishes directly. Documentation: https://flaxsites.com/docs/agents#model-updates
Create a pending owner-review draft changing an existing section layout or style. Aside from global branding, every section layout or style change must pass through this tool. Resolve an exact stable section ID from flax.site.get_snapshot when necessary, then call flax.content.get_active_section with that sectionId and includeConfig true. Pass changes as an array of {key, value} objects. The returned config includes finite template variants and Configure Template controls such as panels, header visibility, grouping, primary or secondary button visibility, grid columns, and row or column gaps. When layout is supported, use its returned canonical values normal, inset, or full-width; inset creates an island-style section and works well with grouped sections. Grouped sections share the same background layer, which is useful for patterns or background images spanning multiple sections. To remove a decorative background, use the returned background option with value null; this clears section.background (undefined). backgroundOpacity changes opacity of the whole background image or pattern: higher values make it more visible, lower values fade it, and 0 suppresses all background output. It does not control a dark overlay; if the requested change needs a separate overlay setting that the config does not return, ask for clarification instead of moving backgroundOpacity in the opposite direction. Do not use backgroundOpacity=0 as the removal operation. Use only the config’s exact option keys and canonical values. Do not send raw CSS, translated labels, palette names, unreturned keys, or generic model-update operations for section styling. This tool never publishes directly and can continue a pending draft with baseChangeId. Documentation: https://flaxsites.com/docs/agents#model-updates
Create a pending owner-review draft that changes only the colours of one existing homepage section to a contrast-safe light or dark palette. It preserves the section template, layout, variants, content, images, and order. First call flax.site.get_snapshot when needed and resolve the exact stable section ID from sectionStack; then pass that ID and mode. Use this tool for background colour or palette requests, not flax.interactions.request_section_template_selection. The palette is selected from the current site theme by Flax, so do not invent CSS colours or palette objects. This never publishes directly and can continue a pending draft with baseChangeId. Documentation: https://flaxsites.com/docs/agents#model-updates
Create a pending owner-review draft that moves one existing homepage section above or below another. Use this for requests such as “move the 20% Off section above Reviews” or “put FAQs after Services”. First resolve exact stable section IDs from flax.site.get_snapshot.sectionStack. This changes only the order in model.ui.sections; it does not choose a template, change style, or rewrite content. Do not open the section-template picker for a placement request. This never publishes directly and can continue a pending draft with baseChangeId. Documentation: https://flaxsites.com/docs/agents#model-updates
Prepare an owner-review draft for a visual section-template selection. Use a listed templateHint for the closest semantic layout when available; it maps to a canonical section type, registered template ID, and sometimes a preset index or background mode. You may provide sectionType, templateId, or presetIndex explicitly to override the mapped values, but a supplied sectionType must match the hint. Applies the registered preset and reuses existing section data wherever possible. Header and General contentBlocks may be reshaped to the selected layout using factual live-site copy; match the picker-supplied template content example’s field roles and approximate brevity, but never copy it as business data. If real site facts cannot support every required slot, ask the owner for the missing information and propose concise additions instead of calling this tool with invented or oversized content. Header navigation and existing images are preserved where possible. For the navigation pseudo-section picker, pass sectionType "navigation", templateId "navigation", and the selected navigationType; this changes only the header navigation variant. FAQ questions and answers are always preserved exactly. Pass the exact usesFragments hint for a header; when true, contentBlocks are required. If a pending working draft is supplied, pass its ID as baseChangeId so this selection composes on that draft. Never publishes directly. Documentation: https://flaxsites.com/docs/agents#model-updates
Run or read the monthly NAP consistency and citation check for the connected Flax site. It compares the business name, address, and phone details in the site model with indexed citation records, reports source-level matches and mismatches, and returns citation gaps and history. It reuses the current month when fresh and queues asynchronous provider work only when that snapshot is missing or forceRefresh is true. It does not edit external directories. Documentation: https://flaxsites.com/docs/agents#competitor-analysis
Create reusable pages-and-headings snapshots for genuine competitors selected from the latest monthly SEO ranking grid. When urls are omitted, the tool uses the top competitors that actually appeared in the saved organic or local-pack results; it then crawls each competitor from its homepage through same-site links to depth 3. Pass jobIds on a later call to check completion. This replaces the older SERP-led competitor-analysis and generic site-crawl tools. Documentation: https://flaxsites.com/docs/agents#competitor-analysis
Create a unique, location-specific service page as one pending owner-review draft. Use the exact service ID from the Flax model, choose service-location for a service area stored at model.serviceLocations.locations[] or location for a physical business location stored at model.locations.locations[], and pass locationName plus locationDescription when the record does not exist; Flax creates the missing location first in the same draft. Pass substantive unique content.intro and at least one content.contentBlocks item generated from verified site facts. The tool uses the existing GrowthTargetPage schema at model.seo.pages[pageKey], creates the canonical page key, and links selected or relevant reviews, articles, and FAQs through Flax linking fields. It may add or enable the matching service-location/locations section so the page can be surfaced. It never publishes directly. Existing pages are protected unless overwrite=true. Documentation: https://flaxsites.com/docs/agents#seo-content-workflows
Read saved monthly citation and business-mention snapshots for this site. Results may include indexed citations, competitor coverage, citation gaps, and Google Maps business data when a location resolved. This tool never queues provider checks; when a current snapshot is still processing it returns its queued status and the latest saved history. Set depth to 3 for a three-month history or up to 12 for a year. Use returned records, citationGaps, competitors, and summary changes to advise the owner or choose a concrete follow-up action. Documentation: https://flaxsites.com/docs/agents
Read the latest automatically generated monthly local SEO report, including its organic and map-pack ranking matrix, citation coverage, trends, and structured actions with evidence and an agent capability. For service-area businesses, report.serviceLocationCoverage lists each enabled service with its service areas and the reviews, articles, FAQs, and images tagged to both, whether a service + area page exists, and which evidence is missing; it is rebuilt from the current site content on every read. Actions may include targets (exact serviceId and serviceLocationId pairs) and agent.arguments ready for the named tool: use flax.seo.create_service_location_page for local-content pairings that already have local proof, and ask the owner for genuine reviews and completed-job photos for pairings without it. Treat all actions as heuristic flags to verify against current search, site, competitor, and citation evidence; even observed evidence does not establish the cause or prove the action will solve it. Treat actions marked verify as checks, not confirmed Business Profile defects. Draft supported site changes for owner review; guide the owner through Business Profile edits, review requests, and directory submissions because this tool cannot make those external edits. Reports start on the last UTC day of each month for sites with an active Managed plan and custom domain. This tool only reads saved results and never starts report generation or provider work. Use flax.seo.get_monthly_report_settings and flax.seo.update_monthly_report_settings to inspect or change tracked keywords, locations, and email delivery. Settings fallback: https://flaxsites.com/site-login?site_id=SITE_ID&view=settings&tab=reporting&ui=new (replace SITE_ID with siteId). Documentation: https://flaxsites.com/docs/agents#competitor-analysis
Read the saved monthly SEO report configuration: keyword groups by site location (including “No location”), whether the account uses suggested defaults or a custom selection, and the report recipient email. “No location” omits the place from the keyword phrase while Flax still uses the site’s first location for ranking checks. A blank email means delivery uses the site owner’s email. Fallback settings link: https://flaxsites.com/site-login?site_id=SITE_ID&view=settings&tab=reporting&ui=new (replace SITE_ID with siteId). Documentation: https://flaxsites.com/docs/agents#competitor-analysis
Return a compact service-by-area content grid. The four count columns are reviews, articles, FAQs, and images tagged to both the service and area. A service-area page is marked live when it has substantive content; missing evidence and local-proof status are included. This tool requires the service-locations section to be enabled and reports a status when it is disabled or has no configured areas. Documentation: https://flaxsites.com/docs/agents#seo-content-workflows
Fetch the rendered body HTML and readable text for one page returned by flax.seo.site_snapshot. The URL must belong to this site and appear in its public sitemap. Output is capped by maxCharacters (default 20,000; maximum 50,000) and reports whether the content was truncated. Documentation: https://flaxsites.com/docs/agents#seo-content-workflows
Read a compact SEO inventory from the connected site’s model.json and published pages. The modelPages list gives every published SEO page (excluding legal/policy, contact-form, and single gallery-image pages; plus unpublished growth-page drafts) its URL path, slug, meta title, H1, and H2/H3 headings from contentBlocks title/label. For regular service detail pages, h1ModelPath is services.services.<index>.pageTitle and navLabelModelPath is services.services.<index>.displayText; each falls back to the service title when empty. Location-specific growth service pages use seo.pages.<pageKey>.h1.<language> for the page H1. For section pages, h1ModelPath is ui.sections.<index>.pageTitle and navLabelModelPath is ui.sections.<index>.displayText. headingModelPaths align with headings.h2/h3. modelPages.faqs lists service-local FAQs and FAQs linked from FAQ sections that are included on service, physical-location, and service-location pages, with the source and exact model paths for each item. A null path means the value is derived (for example a detail-page slug derived from its title). The published pages list adds live title, canonical, robots, word count, links, and missing-alt checks. Use offset and limit to page through large published sites; limit defaults to 100 and is capped at 250. Documentation: https://flaxsites.com/docs/agents#seo-content-workflows
Save monthly SEO report settings immediately for upcoming reports; this does not publish site content. Provide keywordGroups to replace the full tracked keyword/location set (up to 10 combinations), or keywordMode “defaults” to restore suggested keywords. A custom mode requires keywordGroups. Use location “No location” to omit the place from the keyword phrase while Flax still uses the site’s first location for ranking checks. Set email to a valid address; use an empty string to return delivery to the site owner’s email. Fallback settings link: https://flaxsites.com/site-login?site_id=SITE_ID&view=settings&tab=reporting&ui=new (replace SITE_ID with siteId). Documentation: https://flaxsites.com/docs/agents#competitor-analysis
Use only as a last resort for visible site copy. Prefer flax.site.scan_model for exact text, IDs, and paths, and flax.content.get_type for one content type. This compact view omits the full model, UI styles, media, internal settings, translations, and article bodies. Documentation: https://flaxsites.com/docs/agents#model-updates
Read a structural homepage inventory without returning the full SiteDataModel. The snapshot joins canonical content roots to ui.sections, preserves section order and effective visibility, summarizes item counts and content presence, exposes schema-derived array paths with present/count metadata (including nested, empty, or omitted arrays) and an arraysTruncated flag when the bounded inventory is large, includes exact modelPath values for returned canonical array items, includes article tag definitions and article tagIds, and reports orphaned canonical content or unlinked UI sections. Service items include their title, menu label, H1 override, local FAQs, and linked FAQ-section entries with question and answer paths. Service-location hub items include their model path, slug, title, H1, service-links title, linked FAQs, a bounded intro preview, and saved latitude and longitude when present; generated growth spokes include their exact seo.pages paths, references, slug, sidebar link label, title, H1, bounded intro preview, linked article, review, service, and image IDs, plus local and linked FAQs for service and location pages. Intro previews are capped at 500 characters and marked introTruncated when shortened. Reviews content includes configured review-score profiles at reviewSites with exact modelPath, source, rating, reviewCount, public URL, and display/connection state; write aggregate platform scores to reviews.reviewSites, never reviews.contentBlocks. Article items expose linkedReviewIds when reviews target them, while review items expose their scoped articleIds. Presentation-only status-bar and divider sections are identified without being reported as missing canonical content. It also returns sectionStack, an ordered compact list with exact id and type, displayText, title, enabled, showOnHomepage, renderedOnHomepage, and an optional customTemplate flag for semantic placement and action planning, plus growthPagesSummary. When growthPagesSummary.status is empty, no generated SEO pages are configured; inspect verified services and serviceLocations before proposing qualified hub-and-spoke spokes. Use growthPages to discover existing generated spokes before adding a project or case study. Use this first for homepage audits and broad read-led reviews; use flax.content.get_type for exact field values such as addresses and telephone numbers. Documentation: https://flaxsites.com/docs/agents#site-snapshot
Search string values in a granted live SiteDataModel without returning the full model. Pass one or more queries, with no more than 20 per call; split larger batches into multiple calls. Use matchMode "indexOf" for simple case-insensitive lookup or "regex" for regular expressions. Results return compact model paths, values, and matched queries. Set includeContext true only when needed; it adds the matched canonical sub-model and the corresponding model.ui.sections[] entity. Use this to locate shared values such as phone numbers before proposing a targeted update. Documentation: https://flaxsites.com/docs/agents#model-scanning
Start the dedicated Flax new-site flow. The tool returns a normal text link to https://flaxsites.com/create-from-agent/ where the owner chooses a complete site starter, a custom section builder, or flyer analysis followed by custom sections, then completes business details, email verification, and a free Flax subdomain before publishing. Pass mode only when the owner has already explicitly chosen template, sections, or flyer; otherwise omit it so the page shows all three choices. Flax generates the site URL; do not ask the user to provide an exact URL in chat. After publishing, the Flax page shows a copyable continuation prompt for the agent. Documentation: https://flaxsites.com/docs/agents#getting-started
List Flax sites granted to this agent. Documentation: https://flaxsites.com/docs/agents#getting-started
Request owner approval for an additional existing Flax site when it is missing from flax.sites.list. Pass the user-supplied site URL. Return approvalUrl as a clickable link so the owner can sign in to Flax and explicitly approve this connection. This tool does not grant access. After approval, call flax.sites.list again and resume the original task. Existing site grants are preserved. Do not construct OAuth URLs or ask for credentials in chat. Documentation: https://flaxsites.com/docs/agents#getting-started
File a bug report with Flax support. Include observed behavior, expected behavior, and reproduction details when available. This submits a support report; it does not change the site. Documentation: https://flaxsites.com/docs/agents#help-and-safety
Send a feature request to Flax. Describe the desired outcome and why it would help the site or its visitors. This submits a support request; it does not change the site. Documentation: https://flaxsites.com/docs/agents#help-and-safety
Browse the Flax section-template catalog. Returns JSON-only template metadata, supported layout controls, grid and item-limit options, preset settings, content requirements, and space/layout hints. Filter by section type or query when choosing a template for existing content. Documentation: https://flaxsites.com/docs/agents
Apply a Flax theme as a pending owner-review draft. For owner-supplied brand tokens, pass baseColors as a map of named CSS custom properties to CSS colour values; Flax generates the contrast-aware palettes and applies them. targetTheme may be light, mixed, or dark and defaults to mixed. Optionally pass baseChangeId to compose the theme into an existing pending draft. A known exact themeId selects a deterministic library theme; legacy colors arrays remain supported. Recalculates section palettes, protects readable contrast for image-backed sections and logos, updates canonical brand colors, and clears stale child-page palette overrides. This tool never publishes directly. Documentation: https://flaxsites.com/docs/agents#model-updates
Flax Sites ChatGPT Plugin FAQ
How the directory, categories and Discoverability Score work.
Read the methodologyHow do I improve Flax Sites's ChatGPT Plugin discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are Flax Sites alternatives on ChatGPT?
As of 2026-11-04, Flax Sites competes with 3dCMS, AgentBuild, Allo Christian, AVSBL Website Builder, B12 Website Generator, Beste, CR Servers AI Connect, Croisa and 34 more in ChatGPT AI Website Builders, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.


