# Billing & Plans
Source: https://docs.chatfeatured.com/account/billing
Manage your subscription, compare ChatFeatured pricing tiers, and understand plan quotas and usage.
ChatFeatured offers scalable subscription plans designed for single-brand founders, growing agencies, and multi-brand enterprise marketing teams.
***
## Available Plans
**\$150 / month**
Everything you need to get one brand cited by AI.
* **1 Project** (Brand)
* **3 AI Answer Engines** included
* **50 Tracked Prompts**
* **10 AI Articles** / month
* **200 Site Audit Pages**
* Core AEO Agent & Integrations
**\$500 / month** (Most Popular)
The complete platform for growing multi-project teams.
* **5 Projects** (Brands)
* **5 AI Answer Engines** included
* **250 Tracked Prompts**
* **40 AI Articles** / month
* **1,000 Site Audit Pages**
* Tailored Onboarding
**From \$1,500 / month**
For organizations managing many projects at scale.
* **Unlimited Projects**
* **5 AI Answer Engines** included
* **1,000 Tracked Prompts**
* **200 AI Articles** / month
* **4,000 Site Audit Pages**
* Tailored Onboarding & Priority Support
Need additional prompt packages, higher site audit crawl limits, or custom API access? Contact our sales team at [sales@chatfeatured.com](mailto:sales@chatfeatured.com) for custom Enterprise volume pricing.
***
## Plan Comparison Matrix
| Feature | Starter (\$150/mo) | Growth (\$500/mo) | Enterprise (From \$1,500/mo) |
| :-------------------------------- | :----------------- | :------------------ | :---------------------------------- |
| **Active Projects / Brands** | 1 Project | 5 Projects | Unlimited Projects |
| **Tracked Prompts** | 50 Prompts | 250 Prompts | 1,000+ Prompts |
| **AI Answer Engines** | 3 Engines | 5 Engines | 5 Engines |
| **AI Articles Generated** | 10 / month | 40 / month | 200+ / month |
| **Site Audit Pages** | 200 Pages | 1,000 Pages | 4,000+ Pages |
| **Execution Cadence** | Daily Tracking | Daily Tracking | Daily Tracking + Refresh |
| **AEO Agent Access** | Full Multi-Mode | Full Multi-Mode | Full Multi-Mode |
| **1-Click CMS Publishing** | Included | Included | Included |
| **Edge Crawler Analytics** | Included | Included | Included |
| **Google Integrations (GA4/GSC)** | Included | Included | Included |
| **MCP AI Assistant Access** | Included | Included | Included |
| **Onboarding & Support** | Standard Support | Tailored Onboarding | Dedicated CSM & Tailored Onboarding |
***
## Understanding Usage and Limits
A **Project** represents an isolated workspace for a brand or website domain, containing its own Brand Book, tracked search prompts, competitor benchmarks, articles, and site audit reports.
* **Starter:** 1 Brand Workspace
* **Growth:** Up to 5 Brand Workspaces
* **Enterprise:** Unlimited Workspaces
The total number of unique search queries executed on a daily cadence across your enabled AI answer engines to track visibility, sentiment, and citations.
You can pause, archive, or replace prompts at any time. Active prompts count toward your plan limit.
The monthly allocation of fully researched, citation-optimized articles generated through the Articles module or Automations.
* Article generation resets at the beginning of each monthly billing cycle.
* Articles are generated with up to 3 concurrent drafting workers to ensure optimal research depth.
The number of unique web pages scored across Technical, Content, and AEO pillars in Site Audit.
Discovered URLs in the domain map do not consume audit page quota until they are audited and scored.
***
## Managing Your Subscription
Navigate to **Settings** in the bottom-left sidebar and click **Billing**. You can review your active plan, current prompt/article usage against plan quotas, and renewal date.
Click **Upgrade Plan** in the Billing view. Select your desired tier (Growth or Enterprise) and confirm. Upgrades apply immediately, prorating the difference for the remainder of your billing cycle.
Under **Billing History**, you can view and download PDF receipts with itemized breakdowns and VAT/tax details for accounting.
You can cancel your subscription at any time by clicking **Cancel Subscription** in Settings > Billing.
* Your account retains full access until the end of the paid billing cycle.
* Historical visibility, citation data, and drafted articles remain securely stored for **30 days**.
***
## Frequently Asked Questions
Yes. Both Starter and Growth plans include a free trial period. You can test your prompt visibility, audit your site, and test AI content generation before being billed.
Yes. You can upgrade from Starter to Growth or Enterprise whenever your tracked prompt or article requirements increase. Upgrades take effect immediately and are prorated.
We accept all major credit cards (Visa, Mastercard, American Express, Discover) via Stripe. Enterprise plans exceeding \$1,500/month can also be invoiced via ACH/Wire with NET 30 terms.
We offer a 14-day refund window on initial subscriptions. If you are not satisfied with the platform, contact [support@chatfeatured.com](mailto:support@chatfeatured.com) to request a refund.
If you reach your prompt or page audit limits, the platform will prompt you to upgrade your plan tier or archive inactive prompts. For custom high-volume limits, contact our sales team.
***
## Need Assistance?
* **Sales & Custom Tiers:** [sales@chatfeatured.com](mailto:sales@chatfeatured.com)
* **Billing Questions:** [billing@chatfeatured.com](mailto:billing@chatfeatured.com)
* **Schedule a Walkthrough:** [Book a Demo](https://cal.com/farris-chatfeatured/30min)
# Team Management
Source: https://docs.chatfeatured.com/account/team-management
Invite team members, assign workspace roles, and manage permissions across your organization in ChatFeatured.
ChatFeatured is designed for seamless team and agency collaboration. Invite colleagues, assign functional roles, configure task routing, and align your marketing, content, executive, and engineering stakeholders around conversational AI visibility.
## Organization Hierarchy
ChatFeatured organizes your workspace through a structured hierarchy:
* **Organization:** Your top-level company or agency account managing subscription plans, enterprise billing, global settings, and team seat access.
* **Projects (Workspaces):** Independent brand environments within your organization. Each project workspace contains its own:
* **Brand Book & Personas:** Brand voice, positioning guidelines, and buyer personas.
* **Knowledge Base:** Custom collateral, source documentation, and knowledge grounding.
* **Tracked Prompts & Competitors:** Real-time visibility, sentiment, and citation benchmarks across 7 AI answer engines.
* **Articles & Content Pipeline:** Generated drafts, 1-click CMS publishing setups, and content calendars.
* **Site Audit & Edge Crawler Analytics:** Technical health scoring and real-time LLM crawler logs.
* **Tasks & Automations:** Opportunity backlog, task assignments, and autonomous cron playbooks.
***
## Member Roles
Control administrative, operational, and financial permissions with four standard role tiers:
**Primary Account Authority**
* Full Workspace Access: Complete Full access across all brands, prompts, content, and settings.
* Sole authority over subscription tiers, payment methods, and invoices.
* Invites and manages all member roles; supports multiple Owners.
* Manages integrations, API keys, and organization deletion.
**Workspace & Technical Lead**
* Invites and removes team members; manages role assignments.
* Connects CMS, edge crawler log drains, GA4, GSC, and MCP integrations.
* Creates and configures background Automations (`agent-tasks`).
* Full operational access to all brands (cannot manage billing or delete org).
**Content & Strategy Contributor**
* Adds and manages tracked search prompts and competitor benchmarks.
* Interacts with the AEO Agent across all operating modes.
* Generates, edits, approves, and publishes articles to connected CMS platforms.
* Runs on-demand site audits and completes assigned Opportunity tasks.
**Read-Only Stakeholder & Client Access**
* Views AI visibility metrics, sentiment scores, and citation reports.
* Inspects site audit health checks, scorecards, and edge crawler logs.
* Reads drafted and published articles.
* Ideal for executive stakeholders, clients, or external partners.
* Cannot modify prompts, generate content, alter integrations, or change settings.
***
## Permissions Overview
| Feature / Action | Owner | Admin | Member | Viewer |
| :--------------------------------------------------------------------------- | :---: | :---: | :----: | :-------------: |
| **Billing & Plans** (Invoices, payment methods, plan upgrades) | ✅ | ❌ | ❌ | ❌ |
| **Team Management** (Invite members, change roles, remove users) | ✅ | ✅ | ❌ | ❌ |
| **Integrations** (CMS publishing, Cloudflare/Vercel/AWS logs, GA4, GSC, MCP) | ✅ | ✅ | ❌ | ❌ |
| **Automations** (Configure background agent workflows and playbooks) | ✅ | ✅ | ❌ | ❌ |
| **Brand Book & Knowledge Base** (Update brand voice, personas, and docs) | ✅ | ✅ | ✅ | ❌ *(Read only)* |
| **Tracked Prompts & Benchmarks** (Add, pause, edit, or delete prompts) | ✅ | ✅ | ✅ | ❌ *(Read only)* |
| **Analytics & Reports** (View visibility, sentiment, citations, and trends) | ✅ | ✅ | ✅ | ✅ |
| **Edge Crawler Analytics** (Inspect real-time bot crawl logs) | ✅ | ✅ | ✅ | ✅ |
| **Articles & Content** (Generate, edit, approve, and publish AEO articles) | ✅ | ✅ | ✅ | ❌ *(Read only)* |
| **Site Audit** (Run audits, trigger AI fixes, inspect technical checks) | ✅ | ✅ | ✅ | ❌ *(Read only)* |
| **Tasks** (Create, edit, assign, or complete Opportunity tasks) | ✅ | ✅ | ✅ | ❌ *(Read only)* |
***
## Inviting Team Members
Click **Settings** in the bottom-left sidebar, then select **Team**.
Click **Invite Member** in the top right. Enter the user's business email address and select their role (**Admin**, **Member**, or **Viewer**).
The invited user receives an email containing a secure link to join your organization.
### Tracking Invitation Status
Pending invitations appear in the Team table with their current status:
| Status | Definition | Next Steps |
| :----------- | :------------------------------------------------------ | :--------------------------------------------- |
| **Pending** | Invitation sent; awaiting recipient signup or login. | Link is valid for 7 days. |
| **Accepted** | User has joined the organization and has active access. | User can collaborate immediately. |
| **Expired** | Link was not accepted within 7 days. | Click **Resend** to issue a fresh invite link. |
To cancel an unaccepted invite, click the **...** menu next to the pending user and select **Revoke**.
***
## Managing Existing Members
### Changing Roles
1. Go to **Settings > Team**.
2. Locate the team member in the member directory.
3. Click the **Role** dropdown next to their name and select the new role tier (**Admin**, **Member**, or **Viewer**).
4. The permission update takes effect immediately.
Demoting an Admin to a Member or Viewer restricts their access to integration keys and automations immediately. Always ensure at least one Admin or Owner is active in your organization.
### Removing Members
To revoke access for a team member or client:
1. Go to **Settings > Team**.
2. Click the **...** menu next to the member's name and select **Remove Member**.
3. Confirm the removal.
**What happens upon removal:**
* The user's active session is terminated instantly.
* Prompts, generated articles, published content, and site audits created by the user remain intact.
* Any active Opportunity tasks assigned to that user return to an unassigned status in your task backlog.
***
## Best Practices for Role Assignment
* **Agency Team:** Assign account managers and strategists as **Admins** or **Members** to configure prompt tracking, generate articles, and push content directly to client CMS platforms.
* **Clients:** Assign client stakeholders the **Viewer** role. Clients can log in anytime to inspect live AI visibility gains, review citation graphs, and verify crawler analytics without risking unintentional edits to prompts or integrations.
* **Leadership & Finance:** Executive sponsors and billing managers hold the **Owner** role.
* **Technical & SEO Leads:** Assign the **Admin** role to developers and technical SEOs who manage edge logs (Cloudflare/Vercel/AWS), Google Search Console, and automated cron tasks.
* **Writers & Strategists:** Assign the **Member** role to content creators, copywriters, and PR specialists.
* **External Stakeholders / Executives:** Assign the **Viewer** role for read-only reporting and board presentations.
***
## Task Routing & Notification Settings
To streamline execution, ChatFeatured allows you to configure automated task assignments and alert routing per brand project:
Under **Settings > Tasks**, designate a default team member (such as your Lead Content Strategist or SEO Manager) to automatically receive new optimization tasks surfaced by the AEO Agent or autonomous scheduled runs.
Select which team members receive instant email digests when:
* A high-priority citation gap or competitor displacement is detected.
* A new AEO article draft is generated and ready for review.
* A scheduled site audit detects critical technical or crawler accessibility errors.
***
## Organization Settings & Deletion
### Renaming Your Organization
1. Go to **Settings > Organization**.
2. Update the **Organization Name** field and click **Save Changes**.
3. This updates your display name across reports, client dashboards, and email notifications.
### Deleting an Organization (Owner Only)
Organization deletion is permanent and immediate. All tracked prompts, visibility histories, citation graphs, Brand Books, drafted articles, and connected integration credentials will be permanently erased.
To permanently delete an organization:
1. Go to **Settings > Organization**.
2. Scroll to the **Danger Zone** and click **Delete Organization**.
3. Enter your account password and type your organization name to confirm.
***
## Frequently Asked Questions
Yes. ChatFeatured supports multiple Owners. Any current Owner can invite new Owners or promote existing Admins to the Owner role, giving co-founders or team leads full access to billing, subscription management, and team settings.
Only the current Owner can initiate a transfer. Go to **Settings > Team**, click the **...** menu next to any active Admin, and select **Transfer Ownership**.
No. Invoices, credit card payment details, billing history, and CMS/edge integration API tokens are completely hidden from Viewers and Members.
1. Ask the member to check their spam/junk folders for an email from [noreply@email.chatfeatured.com](mailto:noreply@email.chatfeatured.com).
2. Verify that their email address was spelled correctly.
3. Go to **Settings > Team**, locate the pending invite, and click **Resend**.
By default, team members have access across all brands in the organization. For enterprise multi-brand accounts requiring strict departmental or client-specific brand isolation, contact [sales@chatfeatured.com](mailto:sales@chatfeatured.com).
# How to: AEO Agent
Source: https://docs.chatfeatured.com/getting-started/how-to-aeo-agent
Master the ChatFeatured Unified AI Agent for AI search analytics, content generation, site audits, and automated workflows.
## Overview
ChatFeatured features a **Unified AI Agent** that unifies AI search analytics, content strategy, technical auditing, CMS publishing, and task automation in a single conversation.
Rather than switching between separate tools or bots, the agent maintains full context of your brand and automatically transitions across **6 specialized operating modes** based on what you ask:
Analyzes brand visibility, sentiment, source citations, competitor gaps, and edge crawler bot traffic across AI answer engines.
Manages your Brand Book guidelines, buyer personas, tracked prompt queries, tags, and competitor entity configurations.
Transforms zero-visibility search gaps into structured, cite-worthy articles engineered for LLM retrieval and AEO scoring.
Stages and deploys approved articles directly to connected CMS platforms (WordPress, Webflow, Framer, Ghost, Git) with featured images and metadata.
Inspects structured JSON-LD schema, semantic HTML hierarchy, and provides page-level code fixes to maximize machine citability.
Manages surfaced opportunity workflows and executes autonomous background jobs like daily content research and weekly visibility digests.
## Page Context Awareness
Rather than having separate bots for different tasks, the ChatFeatured Agent automatically detects your active screen and injects your **Page Context** into the conversation.
When you open the agent sidebar from any tab, it tailors its immediate suggestions and tool availability to the data on your screen:
* **Analytics Tab:** Evaluates AI model visibility, competitor share of voice, and citation sources.
* **Prompts Tab:** Audits your tracked search queries, identifies zero-visibility prompts, and organizes topic tags.
* **Articles Tab:** Researches citation gaps, drafts structured AEO content, and evaluates AEO scores.
* **Site Audit Tab:** Analyzes page-level JSON-LD structured schema and semantic HTML citability.
* **Tasks & Automations Tab:** Manages surfaced opportunity cards, task lifecycles, and scheduled background jobs.
* **Knowledge Base & Brand Book:** References your brand guidelines, personas, and uploaded documentation.
**Continuous Workflow:** You never need to restart a chat when moving across tabs. You can identify a competitor gap in **Analytics**, generate an article draft in **Articles**, and stage it to **your CMS** in **Publishing**—all within a single conversation thread.
***
## Interactive Visualization Panels
As you interact with the agent, interactive data panels render directly alongside the chat to ground recommendations in live platform data:
Visualizes real-time visibility trajectories, model-by-model comparisons (ChatGPT vs. Claude vs. Perplexity), and competitor Share of Voice.
Ranks top cited domains and displays the `brand_found_in_source` verification flag (verifying whether your brand is actively featured on the cited page).
Highlights the specific brand, competitor, and editorial URLs cited by AI answer engines for your prompt sets.
Displays prioritized review cards for newly discovered content, earned media (PR), UGC (Reddit/Quora), and sentiment gaps.
***
## Persistent Agent Memory & Interaction History
The ChatFeatured Agent remembers your preferences, rules, and guidelines across sessions through a **3-Tiered Memory Architecture**:
**Personal Preferences** Remembers your individual working style, output formats, and communication tone.
**Brand Voice & Rules** Enforces Brand Book guidelines, positioning requirements, and forbidden phrasing across all generated content.
**Workspace Policies** Applies global standards, such as default CMS staging environments or mandatory JSON-LD schema inclusion.
**Interaction History & Provenance:** The agent audits past scheduled runs, published articles, and completed tasks to prevent duplicate suggestions or re-opening resolved gaps. You can view, edit, or delete stored memory rules anytime in **Agent Settings**.
***
## Step-by-Step Workflows
### Uncover Zero-Visibility Opportunities
1. Open the Agent from the sidebar or **Analytics** tab.
2. Ask: *"Where are our biggest competitor visibility gaps on Claude and Perplexity this week?"*
3. The agent reviews multi-model executions, highlights queries where competitors appear while your brand is missing, and displays top cited publications in the **Sources Panel**.
4. The agent surfaces high-impact gaps as review cards in the **Opportunities Panel**.
### Draft AEO-Optimized Content
1. Navigate to the **Articles** tab or continue in your existing chat thread.
2. Ask: *"Draft a 1,500-word authoritative comparison guide targeting our top zero-visibility prompt."*
3. The agent pulls context from your **Brand Book**, incorporates high-density entity definitions, adds comparison tables, and evaluates the draft against the **AEO Score**.
4. Review the generated draft and ask for refinements (*"Expand the technical architecture section"* or *"Add a 4-row comparison table"*).
### Deploy Directly to Your CMS
1. Once the draft is approved, instruct the agent: *"Stage this article as a draft on WordPress under the 'Guides' category."*
2. The agent formats the content, injects structured metadata and featured images, and deploys it directly to your connected CMS (**WordPress, Webflow, Framer, Ghost, or Git repos**).
3. The agent returns a direct link to the staged draft.
### Fix Technical Citability & Schema
1. Open the Agent while viewing the **Site Audit** tab.
2. Ask: *"Audit the JSON-LD schema on `/pricing` and give me the code fix to make tier details machine-readable."*
3. The agent analyzes the page structure and outputs a validated JSON-LD schema block ready to paste into your header.
### Set Up Recurring Background Jobs
1. Ask the agent: *"Create an automation to research citation gaps and draft an article every Monday at 8:00 AM."*
2. The agent configures a recurring background task in **Automations (`agent-tasks`)**.
3. Access the Automations dashboard to review execution logs, generated drafts, and weekly visibility digests.
***
## Quick Reference: Strategic Prompts by Mode
| Goal | Mode | Example Prompt |
| :------------------------------------ | :----------- | :----------------------------------------------------------------------------------------------- |
| **Audit AI visibility & rank shifts** | `analytics` | *"Compare our visibility against \[Competitor] across all models over the last 30 days."* |
| **Manage tracked queries & aliases** | `brand` | *"Add these 10 customer pain-point queries to tracked prompts and tag with 'Commercial'."* |
| **Generate cite-worthy AEO drafts** | `content` | *"Write an authoritative guide targeting our top zero-visibility query with comparison tables."* |
| **Deploy drafts to your CMS** | `publishing` | *"Send this approved draft to Framer with metadata and featured image assigned."* |
| **Fix technical citability & schema** | `site-audit` | *"Validate our Article schema markup and provide the corrected JSON-LD snippet."* |
| **Schedule background automations** | `tasks` | *"Create an automation to deliver a weekly AI visibility digest every Friday."* |
***
## Best Practices & Pro Tips
Prompts like *"Write a comparison guide targeting B2B procurement teams evaluating SOC-2 compliance"* produce significantly higher entity density than *"Write an article about compliance."*
When generating content, instruct the agent: *"Ground this draft in the key data points cited by the top 3 ranking sources for this query."*
The agent maintains memory throughout your chat thread. Refine drafts progressively: *"Expand the technical architecture section"* or *"Add an FAQ block."*
Set up scheduled jobs in **Automations (`agent-tasks`)** to receive weekly visibility digests and automated gap drafts delivered straight to your CMS drafts.
**Avoid Generic Copy Requests:** Generic requests like *"write an article"* will produce generic results. Always include your target persona, core value propositions, or reference your Brand Book guidelines for maximum AEO scoring.
***
## Troubleshooting
Check your **Brand Book** in Brand settings or teach the agent directly in chat: *"Remember that our brand voice is direct, technical, and avoids marketing buzzwords."* The agent will save this rule to its persistent memory for all future drafts.
Ensure your competitor groups are configured in **Brand** settings. You can ask the agent: *"List all currently tracked competitors"* to verify active entities and aliases.
Verify your CMS credentials in the **Integrations** tab (WordPress Application Password, Webflow API Token, Ghost Admin Key, etc.). Ensure your API key has draft creation permissions.
Opportunities first appear as review cards in the **Opportunities Panel**. To persist them into your task list, click **Add to Tasks** on the card or tell the agent in chat: *"Add that opportunity to my tasks."*
# Key Concepts
Source: https://docs.chatfeatured.com/getting-started/key-concepts
Understand the core terminology and concepts in ChatFeatured
This page explains the fundamental concepts you'll encounter when using ChatFeatured.
## Answer Engine Optimization (AEO)
**Answer Engine Optimization (AEO)** is the practice of optimizing your brand's presence in AI-generated responses. While traditional SEO focuses on ranking in search engine results pages (SERPs), AEO focuses on being mentioned, recommended, or cited by AI answer engines.
AEO considers factors like:
* How AI models perceive your brand authority
* The quality and recency of content about your brand
* Your presence in training data and knowledge bases
* Citations and sources that reference your brand
## AI Answer Engines
AI answer engines are platforms that use large language models to generate conversational responses to user queries. Unlike traditional search engines that return lists of links, answer engines provide direct answers.
ChatFeatured tracks all major answer engines:
| Engine | Provider | Description |
| ----------------- | ------------- | ----------------------------------------------- |
| ChatGPT | OpenAI | The most widely used conversational AI |
| Claude | Anthropic | Known for nuanced, detailed responses |
| Gemini | Google | Google's multimodal AI model |
| Perplexity | Perplexity AI | AI-powered search with citations |
| Grok | xAI | Elon Musk's AI with real-time knowledge |
| Microsoft Copilot | Microsoft | AI assistant integrated with Microsoft products |
| Google AI Mode | Google | Google's AI-enhanced search experience |
| Meta AI | Meta | Meta's AI assistant across platforms |
## Organizations, Brands, and Workspaces
ChatFeatured uses a hierarchical structure to organize your data:
### Organizations
An **organization** is your top-level account. It represents your company or agency. Organizations can have multiple team members with different roles.
### Brands
**Brands** are the companies, products, or entities you want to track within an organization. Each brand has:
* A primary name
* Optional aliases (alternative names, abbreviations)
* A website URL
* Its own set of prompts, competitors, and analytics
### Workspaces
A **workspace** is the environment where you manage a brand. When you switch between brands, you're switching workspaces.
## Prompts
**Prompts** are the questions you want to track across AI answer engines. Good prompts represent real questions your potential customers might ask AI assistants.
### Prompt Properties
* **Text**: The actual question or query
* **Countries**: Geographic regions to test (AI responses vary by location)
* **Tags**: Labels for organizing and filtering prompts
* **Status**: Active (running daily) or paused
### Prompt Results
When a prompt runs, it generates results from each AI engine. Results include:
* The full AI response
* Whether your brand was mentioned
* Competitor mentions
* Sources and citations
* Response metadata
## Competitors
**Competitors** are other brands you want to track alongside your own. When ChatFeatured analyzes prompt results, it checks for mentions of both your brand and your competitors.
This allows you to:
* See which competitors appear in the same responses as you
* Identify gaps where competitors are mentioned but you aren't
* Track relative visibility over time
## Visibility Metrics
ChatFeatured provides several metrics to measure your AI visibility:
### Mention Rate
The percentage of prompts where your brand was mentioned. Higher is better.
```text theme={null}
(Distinct Runs Mentioning Your Brand / Distinct Runs Mentioning At Least One Brand) * 100
```
### Share of Voice (SoV)
Represents your brand's percentage share of all brand mentions across tracked AI responses.
```text theme={null}
Share of Voice (%) = (Total Brand Mentions / Total Mentions Across All Brands) * 100
```
### Sentiment
The overall tone of how AI models discuss your brand—positive, neutral, or negative.
### Citation Rate
How often AI responses include sources/links that reference your brand or website.
## Tags
**Tags** are labels you can apply to prompts to organize them into groups. Common tagging strategies include:
* **By product**: "CRM", "Analytics", "Support"
* **By funnel stage**: "Awareness", "Consideration", "Decision"
* **By topic**: "Pricing", "Features", "Alternatives"
* **By campaign**: "Q1 Launch", "Rebrand", "New Feature"
Tags make it easy to filter and analyze specific subsets of your prompts.
## AI Agents
**AI Agents** are intelligent assistants built into ChatFeatured that help you take action on your data:
* **AEO Agent**: Analyzes your visibility data and provides recommendations for improvement
* **Content Agent**: Helps create optimized content based on AI visibility insights
Agents use your prompt results, brand information, and knowledge base to provide personalized guidance.
## Knowledge Base
Your **Knowledge Base** provides additional context about your company, brand, and products to ChatFeatured's AI agents. This context helps agents deliver more accurate and relevant outputs—for example, during content generation, the agent uses your knowledge base to write in your brand voice and include accurate product details.
You can add:
* Company information and documentation
* Product details, features, and positioning
* Target audience profiles
* Brand voice and messaging guidelines
The more context you provide, the better the agents can tailor their recommendations and content to your specific brand.
## Integrations
**Integrations** connect ChatFeatured with other tools in your workflow:
* **WordPress**: Publish optimized content directly to your WordPress site
* **Cloudflare**: Submit URLs for faster indexing
See the [Integrations overview](/integrations/overview) for available and upcoming integrations.
## Explore the Platform
Now that you understand the key concepts, dive deeper into specific features:
Learn how to create and manage prompts
Understand your visibility trends
Track and compare against competitors
Get AI-powered recommendations
Analyze your website for AEO
Connect your existing tools
# Quickstart Guide
Source: https://docs.chatfeatured.com/getting-started/quickstart
Set up ChatFeatured end-to-end — from workspace creation to tracking AI search visibility and publishing your first AEO-optimized article.
This guide walks you through setting up ChatFeatured in under 10 minutes. By the end, you'll be tracking your brand's AI search visibility across 7 major AI answer engines, auditing competitor citations, and generating your first brand-grounded, AEO-optimized content.
## Step-by-Step Onboarding
1. Navigate to [chatfeatured.com/login](https://chatfeatured.com/login).
2. Sign up with your work email or Google workspace account.
3. Verify your email address to activate your workspace.
Enter your company or organization name. This establishes your primary account environment where you can invite team members and manage Billing & Plans.
**Are you an agency?** If you need to manage multiple brands or clients, [Contact our agency team.](https://chatfeatured.com/solutions/agencies#contact-form) We'll help you set up multi-brand accounts and the most out of ChatFeatured for your agency.
Configure the initial entity you want to track:
* **Brand Name:** Enter your official company or product name.
* **Website URL:** Your primary domain (e.g., `https://company.com`).
* **Target Geo & Language:** Choose your default geographic region (e.g., US, UK) and language.
* **Agent Writing Guidelines:** Navigate to your [Knowledge Base](/using-chatfeatured/knowledge-base) to configure tone of voice, formatting rules, and editorial constraints that the Agent will follow across all modes.
During setup, ChatFeatured automatically generates an initial cluster of high-intent search prompts based on your industry, offerings, and customer search patterns.
* Prompts run on a daily cadence across 7 major AI answer engines:
1. **ChatGPT** (OpenAI)
2. **Claude** (Anthropic)
3. **Gemini** (Google)
4. **Perplexity** (Perplexity AI)
5. **Google AI Mode / AI Overviews** (Google)
6. **Grok** (xAI)
7. **Microsoft Copilot** (Microsoft)
You can add custom prompts anytime under [Prompt Management](/using-chatfeatured/prompts) or ask the AI agent: *"Suggest 10 commercial-intent prompts for our product category."*
Benchmark your AI search share against alternatives:
1. Go to [Competitor Tracking](/using-chatfeatured/competitors) in the sidebar.
2. Click **Add Competitor**.
3. Enter competitor brand names, aliases, and website domains.
4. ChatFeatured immediately begins benchmarking your [Visibility (%)](getting-started/key-concepts), [Sentiment](getting-started/key-concepts), and [Share of Voice (SoV)](getting-started/key-concepts) against these entities.
The [Knowledge Base](/using-chatfeatured/knowledge-base) provides semantic context (RAG) so the AI Agent drafts articles and recommendations with zero hallucinations.
1. Go to **Knowledge Base** in the sidebar.
2. Click **Import URL** and paste your homepage, product pages, and pricing URL.
3. Click **Upload Files** to ingest technical whitepapers, battlecards, API specs, or case studies (`.pdf`, `.docx`, `.md`).
Connect your tech stack to enable automated 1-click publishing, server-side bot telemetry, search performance tracking, and developer agent workflows. Pick the integrations that match your setup:
Publish, draft, and schedule articles directly to your production site:
* [WordPress Integration](/integrations/wordpress): 1-click publishing via our native plugin.
* [Shopify Integration](/integrations/shopify): Publish AEO-optimized blog posts and buyer guides directly to your store.
* [Webflow Integration](/integrations/webflow): API-based sync directly to Webflow CMS collections.
* [Framer Integration](/integrations/framer): Native plugin for automated content synchronization.
* [Ghost Integration](/integrations/ghost): Admin API integration for automated draft and live publication.
* [Git / Markdown Commits](/integrations/git): Direct GitHub/GitLab commits for headless, Next.js, and static site workflows.
* [ChatFeatured Hosted Blog](/integrations/hosted-blog): If you don't have a CMS, you can use the built-in, high-speed CDN blog by ChatFeatured - hosted on your custom domain.
Monitor real-time server-side crawl activity from \~100 AI bots (GPTBot, ClaudeBot, PerplexityBot, Google-Extended):
* [Cloudflare Workers Integration](/integrations/cloudflare): Zero-latency edge log drain.
* [Vercel Log Drains](/integrations/vercel): Native integration for Next.js applications.
* [AWS CloudFront / Lambda@Edge](/integrations/aws): Stream CloudFront edge access logs for enterprise AWS infrastructure.
Correlate your AI visibility with organic search indexing and referral traffic:
* [Google Search Console](/integrations/google-search-console): Monitor sitemap indexation, crawl status, and Google AI Overview impressions.
* [Google Analytics (GA4)](/integrations/ga4): Track direct AI referral traffic and conversion events.
Bring ChatFeatured's analytics, prompt tracking, and brand book directly into your favorite AI developer tools:
* [Model Context Protocol (MCP)](/integrations/mcp): Connect to **Claude Desktop**, **Claude Code**, **Cursor**, and **Windsurf** via OAuth or API key.
Fast-track new content discovery by AI answer engines:
* [Instant AI Index Submissions](/using-chatfeatured/index-submissions): Verify site ownership once to automatically push newly published URLs to ChatGPT, Perplexity, and Claude indexing pipelines.
* [llms.txt Generation](/using-chatfeatured/site-audit#llmstxt-generation): Automatically generate and host a standardized `llms.txt` file formatted specifically for LLM ingestion.
* [REST API & Webhooks](/integrations/rest-api): Programmatically extract visibility metrics, manage prompts, or trigger content generation from custom pipelines.
The [AI Agent](/getting-started/how-to-aeo-agent) turns your analytics gaps and Google Ads search demand into citation-optimized content:
1. Open the **Agent Chat** or navigate to [Article Management](/using-chatfeatured/articles).
2. Prompt the agent: *"Let's build a content strategy to capture our top prompt gaps."*
3. The agent will:
* Query your lowest-visibility, high-citation prompt clusters in [Analytics](/using-chatfeatured/analytics).
* Pull keyword search volume from Google Ads API.
* Cross-reference your [Knowledge Base](/using-chatfeatured/knowledge-base) for product facts.
* Surface prioritized article recommendations.
4. Click **Approve** on any article recommendation. The agent autonomously researches and writes the complete article in 2–3 minutes.
5. Review the draft, refine sections using `@document` context if needed, and click **Publish** to push directly to your connected CMS.
Learn more about the full content lifecycle in our [Content Strategy & Article Workflow Guide](/using-chatfeatured/articles).
***
## Where to Go Next
Now that your workspace is configured, explore ChatFeatured's core execution modules:
Analyze brand visibility trends, model sentiment, competitor share-of-voice, and cited source URLs.
Review surfaced PR outreach targets, UGC Reddit threads, and technical action items.
Schedule recurring workflows for daily content drafting and weekly executive performance briefs.
Audit technical AEO factors, JSON-LD schema, `llms.txt`, and AI crawler accessibility.
Track server-side crawl activity across \~100 AI bots and monitor real-time edge requests.
Connect ChatFeatured directly to Claude Desktop, Claude Code, and Cursor via Model Context Protocol.
# Introduction
Source: https://docs.chatfeatured.com/index
Track, optimize, and influence how AI models recommend your brand.
# Welcome to ChatFeatured!
**ChatFeatured** is an end-to-end **Answer Engine Optimization (AEO)** and AI search intelligence platform. It enables marketing, PR, SEO, and content teams to monitor, analyze, and optimize how their brand is discovered, cited, and recommended across modern Large Language Models (LLMs) and generative search engines.
## The Rise of Answer Engine Optimization (AEO)
Traditional SEO focuses on optimizing for 10 blue links on traditional search engine results pages (SERPs). **AEO (Answer Engine Optimization)** focuses on optimizing for AI synthesis engines that ingest, retrieve, evaluate, and generate natural language answers with source citations.
When someone asks an AI assistant "What's the best CRM for small businesses?" or "Which running shoes are best for beginners?", the AI generates a response based on its training data and knowledge. **If your brand isn't being mentioned in these responses, you're missing a massive opportunity.**
ChatFeatured gives you everything you need to monitor, analyze, and optimize your AI visibility:
1. **Understand your visibility** - See exactly when and how AI models mention your brand
2. **Track changes over time** - Monitor whether your visibility is improving or declining
3. **Compare against competitors** - Know where you stand relative to your competition
4. **Take action to improve** - Get AI-powered recommendations, create optimized content, and publish directly to your website
## Key Features
Create and manage prompts that test your AI visibility
Visualize your visibility trends and performance
Track how competitors appear alongside your brand
Get AI-powered recommendations for improvement
Analyze your website for AI optimization opportunities
Connect with GSC, Cloudflare, Wordpress, Framer, and more
## How It Works
ChatFeatured follows a continuous improvement cycle:
**Monitor → Analyze → Optimize → Repeat.**
#### 1. Monitor
Track visibility across ChatGPT, Gemini, Perplexity, Grok, Copilot, Google AI, and Claude.
* Daily prompt tracking and competitor monitoring
* Auto-discovered prompts by industry
* AI bot activity analytics on your site
#### 2. Analyze
AI-powered insights on gaps and opportunities.
* Automated gap analysis
* Performance trends and benchmarking
* Technical site audits for AI optimization
#### 3. Optimize
Take action with AI-generated content and index submission.
* Prioritized task lists
* AI-optimized content generation
* Direct publishing to WordPress and other platforms
#### 4. Repeat
Track progress and stay ahead of competitors.
* Baseline performance tracking
* Competitive intelligence alerts
* Continuous opportunity discoveryWho Uses ChatFeatured?
ChatFeatured is designed for:
* **Marketing Teams** - Track brand visibility and measure campaign impact
* **SEO/AEO Professionals** - Monitor and optimize AI search presence
* **Content Teams** - Create content that AI models will reference
* **PR & Brand Teams** - Manage brand reputation across AI platforms
* **Agencies** - Manage AI visibility for multiple clients
## Quick Links
Set up your account, create your first prompt, and understand the dashboard
Master prompts, analytics, competitors, and site audits
Connect your tools and platforms
MCP, API access, webhooks, teams, and advanced customization
Track how AI models discover your content
## Need Help?
If you have questions or need assistance, reach out to our support team at [support@chatfeatured.com](mailto:support@chatfeatured.com).
# AWS Data Firehose Integration
Source: https://docs.chatfeatured.com/integrations/aws-data-firehose
Stream CloudFront real-time logs to ChatFeatured via AWS Data Firehose
The ChatFeatured AWS Data Firehose integration captures CloudFront real-time logs at the edge and streams them to ChatFeatured. This is ideal for sites using CloudFront CDN and needing enterprise-grade log ingestion.
**Status:** Available | **Complexity:** Advanced | **Setup time:** 30-45 minutes | **Cost:** \~$0.16-$0.50/month for typical sites
**Advanced Setup:** This integration requires AWS account knowledge and multiple service configurations (Lambda, S3, CloudFront, Data Firehose). We recommend having AWS experience or consulting AWS documentation.
## Why AWS Data Firehose?
* Edge-level tracking — Captures logs at CloudFront edge locations
* Real-time delivery — Logs stream to ChatFeatured in real-time
* Built for scale — Handles high-volume traffic efficiently
* Enterprise-grade — Designed for large organizations
* Cost-effective — Pay per GB of logs processed
***
## Prerequisites
Before starting, ensure you have:
* AWS Account with CloudFront and IAM permissions
* Active CloudFront distribution with content
* Python 3.12 knowledge (for Lambda understanding)
* Your ChatFeatured API Key (starts with `aa_`)
* S3 bucket access (for log backup)
If you're new to AWS, consider starting with the [Cloudflare integration](/integrations/cloudflare) instead. It's simpler to set up and covers similar use cases.
***
## Architecture Overview
```text theme={null}
CloudFront (Content Delivery)
↓
CloudFront Real-time Logs
↓
Data Firehose (Streaming Service)
↓
Lambda (Transform Logs)
↓
ChatFeatured Analytics
↓
S3 (Backup for failures)
```
The flow works like this: CloudFront captures all requests at edge locations, sends them to Data Firehose in real-time, Lambda transforms them into ChatFeatured's format, and Firehose delivers them. Failed deliveries back up to S3 for retry.
***
## Step-by-Step Setup
### Step 1: Create Lambda Transformation Function
**Why?** Data Firehose needs a Lambda to transform CloudFront logs into ChatFeatured format.
1. Sign in to **AWS Lambda Console**
2. Click **Create function**
3. Select **Author from scratch**
4. Configure:
* **Function name:** `chatfeatured-cloudfront-log-processor`
* **Runtime:** Python 3.12
* **Architecture:** x86\_64
5. Click **Create function**
**Replace the function code with:**
```python theme={null}
import json
import base64
import urllib.request
import urllib.error
import os
def lambda_handler(event, context):
"""Transform CloudFront logs to ChatFeatured format"""
output = []
for record in event['records']:
# Decode the log data
payload = base64.b64decode(record['data']).decode('utf-8')
# Parse CloudFront log line
fields = payload.strip().split('\t')
if len(fields) < 12:
continue
try:
# Extract CloudFront fields
log_entry = {
'timestamp': f"{fields[0]}T{fields[1]}Z", # date + time
'host': fields[4], # cs(Host)
'method': fields[5], # cs-method
'pathname': fields[7], # cs-uri-stem
'query_params': fields[11] if len(fields) > 11 else '',
'status': int(fields[8]), # sc-status
'ip': fields[2], # c-ip
'userAgent': fields[10] if len(fields) > 10 else '',
'referer': fields[9] if len(fields) > 9 else '',
'bytes_sent': int(fields[3]) if len(fields) > 3 else 0,
}
# Only send to ChatFeatured if it's an HTML page (200-299 status)
if 200 <= log_entry['status'] < 300:
send_to_chatfeatured(log_entry)
# Prepare output for Firehose
output_record = {
'recordId': record['recordId'],
'result': 'Ok',
'data': base64.b64encode(
(json.dumps(log_entry) + '\n').encode('utf-8')
).decode('utf-8')
}
except Exception as e:
print(f"Error processing record: {e}")
output_record = {
'recordId': record['recordId'],
'result': 'ProcessingFailed',
}
output.append(output_record)
return {'records': output}
def send_to_chatfeatured(log_entry):
"""Send log directly to ChatFeatured"""
api_key = os.environ.get('CHATFEATURED_API_KEY')
endpoint = 'https://ingest.chatfeatured.com/v1/logs/aws_data_firehose_cloudfront'
try:
req = urllib.request.Request(
endpoint,
data=json.dumps(log_entry).encode('utf-8'),
headers={
'Content-Type': 'application/json',
'X-API-Key': api_key,
}
)
urllib.request.urlopen(req, timeout=5)
except urllib.error.URLError as e:
print(f"Failed to send log: {e}")
```
6. Click **Deploy**
7. Note your **Lambda function ARN** (shown at top-right)
Copy the Lambda ARN somewhere safe—you'll need it when creating the Data Firehose stream.
### Step 2: Add Environment Variable to Lambda
1. In Lambda settings, go to **Configuration → Environment variables**
2. Click **Edit**
3. Add:
* **Key:** `CHATFEATURED_API_KEY`
* **Value:** Your ChatFeatured API Key (starts with `aa_`)
4. Click **Save**
Treat your API Key like a password. Never hardcode it in Lambda code or commit it to version control. Always use environment variables.
### Step 3: Create S3 Backup Bucket
1. Open **S3 Console**
2. Click **Create bucket**
3. **Bucket name:** `chatfeatured-cloudfront-logs-backup-[your-account-id]`
4. **Region:** Same as your CloudFront distribution
5. Click **Create bucket**
This bucket stores logs that fail to deliver to ChatFeatured. You can replay them later or investigate issues.
### Step 4: Create Data Firehose Delivery Stream
1. Go to **Amazon Data Firehose Console**
2. Click **Create Firehose stream**
3. Configure source and destination:
* **Source:** Direct PUT
* **Destination:** HTTP Endpoint
4. **Stream name:** `chatfeatured-cloudfront-analytics`
5. **Processing** section:
* Enable: **"Transform source records"** ✓
* Select your Lambda from Step 1
6. **HTTP endpoint destination:**
* **URL:** `https://ingest.chatfeatured.com/v1/logs/aws_data_firehose_cloudfront`
* **Access key:** Your ChatFeatured API Key
* Enable: **GZIP compression** ✓
7. **S3 backup:**
* Backup mode: **"Failed data only"**
* Select bucket from Step 3
8. Click **Create Firehose stream**
### Step 5: Configure CloudFront Real-time Logs
1. Go to **CloudFront Console**
2. Select your **distribution**
3. Click **Monitoring** → **Logs** → **Real-time logs**
4. Click **Create configuration**
5. Configure:
* **Name:** `chatfeatured-agent-analytics`
* **Sampling rate:** 100 (capture all requests)
* **Log fields:** Select these:
* date, time, c-ip, cs-method, cs(Host), cs-uri-stem
* cs-uri-query, cs(User-Agent), cs(Referer), sc-status
* sc-bytes, time-taken
* **Log recipients:** Select your Firehose stream from Step 4
* **Cache behaviors:** "All cache behaviors"
6. Click **Create configuration**
CloudFront will now stream real-time logs to ChatFeatured!
***
## Verifying the Setup
### Check Data Flow
1. Generate traffic to your CloudFront distribution (visit your site)
2. Wait 2-3 minutes for logs to stream
3. Go to ChatFeatured **Analytics Dashboard**
4. You should see incoming traffic
Open your site in multiple browsers or use curl to generate test traffic if your site doesn't get organic visits quickly.
### Monitor CloudFront
1. In CloudFront Monitoring tab, check **Real-time logs** status
2. Should show **Successful deliveries** counter incrementing
### Check Lambda Logs
1. In Lambda **Monitor** tab, check **Recent invocations**
2. Click invocation to see logs
3. Verify no errors in execution
### Check Firehose
1. In Data Firehose console, select your stream
2. Check **Delivery stream metrics:**
* Incoming records should be > 0
* Delivered bytes should be increasing
***
## Advanced Configuration
### Filtering by CloudFront Behavior
To track only certain paths (e.g., `/blog/*` but not `/api/*`):
1. In CloudFront, create cache behaviors for different path patterns
2. Add separate Real-time log configurations per behavior
3. Route to different Firehose streams if desired
### Cost Optimization
**Current:** Logs every request
**Option 1: Sampling**
* In CloudFront Real-time logs, reduce sampling rate to 10%
* Reduces cost by 90% but loses granularity
Start with 100% sampling to understand your traffic, then reduce if costs are high.
**Option 2: Filtered Logs**
* Modify Lambda to filter certain paths (skip `/health`, `/metrics`)
* Keeps all traffic but filters noise
### Lambda Error Handling
The Lambda already includes basic error handling:
```python theme={null}
# Only logs successful responses (200-299)
if 200 <= log_entry['status'] < 300:
send_to_chatfeatured(log_entry)
```
For more granular control, modify the filter:
```python theme={null}
# Track any errors (400+)
if 400 <= log_entry['status'] < 600:
log_entry['type'] = 'error'
send_to_chatfeatured(log_entry)
```
***
## Troubleshooting
**Cause:** Data Firehose not delivering or Lambda failing
**Solution:**
* Check CloudFront Real-time logs configuration shows "Enabled"
* Verify Firehose has recent deliveries in console
* Check Lambda logs for errors: Lambda → Monitor → Logs
* Verify ChatFeatured API Key is correct in Lambda env vars
* Wait 2-3 minutes before checking (there's natural delay)
**Cause:** Syntax error or missing environment variable
**Solution:**
* Check Lambda code for syntax errors
* Verify `CHATFEATURED_API_KEY` environment variable is set
* Check CloudWatch logs for specific error messages
* Test Lambda with sample CloudFront log data
* Ensure Python 3.12 runtime is selected
**Cause:** API Key is invalid or expired
**Solution:**
* Generate new API Key in ChatFeatured
* Update `CHATFEATURED_API_KEY` in Lambda environment variables
* Click **Deploy** on Lambda function
* Wait a few minutes for changes to propagate
**Cause:** ChatFeatured endpoint not responding or rate-limited
**Solution:**
* Check endpoint URL is correct: `https://ingest.chatfeatured.com/v1/logs/aws_data_firehose_cloudfront`
* Verify ChatFeatured account isn't rate-limited
* Check S3 bucket to see failed logs: `s3://bucket-name/failed_data/`
* Review CloudWatch Logs for Firehose errors
* Contact ChatFeatured support if rate limiting persists
**Cause:** High CloudFront traffic or overly verbose logging
**Solution:**
* Reduce CloudFront Real-time log sampling rate
* Filter paths in Lambda to exclude static assets
* Implement cost budget alerts in AWS
* Review cost estimation below and adjust sampling accordingly
**Cause:** Lambda resources insufficient for log volume
**Solution:**
* Increase Lambda timeout (currently 5 seconds)
* Increase Lambda memory allocation (default 128 MB)
* Reduce CloudFront sampling rate to decrease volume
* Check CloudWatch metrics for performance bottlenecks
***
## Cost Estimation
**Typical costs for 10M requests/month:**
| Service | Rate | Estimate |
| ------------------------- | ---------------- | ------------------ |
| CloudFront Real-time Logs | \$0.01/1M lines | \$0.10 |
| Data Firehose | \$0.029/GB | \$0.05 |
| Lambda | Free tier covers | \$0.00 |
| S3 Backup | Standard pricing | \$0.01 |
| **Total** | | **\~\$0.16/month** |
**For 100M requests/month:** \~$1.50/month **For 1B requests/month:** ~$15/month
Most of the cost comes from CloudFront real-time logs and Data Firehose. Lambda and S3 are typically free tier or minimal. Use sampling to reduce CloudFront logs cost if needed.
***
## Performance Notes
* **Latency:** Minimal, handled asynchronously by Firehose
* **Log delay:** 1-3 minute delay from request to ChatFeatured
* **Throughput:** Can handle millions of requests/hour
* **Reliability:** Automatic retry with S3 backup
***
## Security Best Practices
* Store API Key in Lambda environment variables (encrypted at rest)
* Use IAM roles with minimal permissions
* Enable S3 encryption for backup bucket
* Monitor CloudFront logs for suspicious activity
**Don't** hardcode API Key in Lambda code\
**Don't** make S3 bucket publicly accessible\
**Don't** grant Lambda unnecessary permissions
***
## See Also
* [Cloudflare Workers](/integrations/cloudflare) — Simpler Cloudflare setup
* [Vercel Log Drains](/integrations/vercel) — For Vercel hosting
# Git-based CMS Integration
Source: https://docs.chatfeatured.com/integrations/cloudcannon
Publish articles from ChatFeatured to any Git-based CMS or static site as commits
The ChatFeatured Git-based CMS integration publishes articles straight into your site's GitHub repository. If your content lives as markdown files in Git — CloudCannon, Hugo, Jekyll, Astro, Eleventy, and most static site generators — ChatFeatured publishes by committing a markdown file (with front matter) to your repo. Your CMS syncs the commit and your site rebuilds automatically.
**Status:** Available | **Setup time:** 10 minutes | **Complexity:** Beginner
## How it works
Unlike API-based CMS platforms, a Git-based CMS has no content API — the repository *is* the CMS. When you click Publish in ChatFeatured, we:
1. Convert your article to markdown with YAML front matter matching your site's schema
2. Commit it to your repository (e.g. `content/posts/your-article-slug.md`)
3. Your CMS detects the commit, syncs, and your site rebuilds
To your CMS and build pipeline, the commit is indistinguishable from a post written by hand — your existing workflow, build actions, and hosting are untouched.
Because articles land as normal files in your repository, your team can still open and edit them in your CMS's editor afterward. Those edits are preserved — republishing from ChatFeatured always reads the file's latest state before updating it.
***
## Prerequisites
* A site whose content lives as markdown in a **GitHub** repository
* Permission to create a fine-grained personal access token for that repository (or someone on your team who can)
***
## Setup Instructions
### Step 1: Create a Fine-Grained GitHub Token
1. On GitHub, go to **Settings → Developer settings → Personal access tokens → Fine-grained tokens**
2. Click **"Generate new token"**
3. Under **Repository access**, choose **"Only select repositories"** and pick the repository your site builds from
4. Under **Permissions → Repository permissions**, set **Contents** to **Read and write**. If you plan to [publish via pull request](#publish-via-pull-request), also set **Pull requests** to **Read and write**
5. Generate the token and copy it (it starts with `github_pat_`)
Scope the token to **one repository** with **only** the permissions above. ChatFeatured never needs access to any other repository or permission — a tightly scoped token limits exposure if it's ever leaked.
### Step 2: Find Your Branch and Content Path
1. **Branch:** the branch your CMS syncs and builds from (often `main`)
2. **Content path:** the repository folder where your blog posts live — for example `content/posts` on Hugo sites, or `content` for many Astro and Next.js sites
3. Open an existing post file in your repository to confirm the folder and see your front matter format. Note the file extension too — if your posts are `.mdx` files, set **File format** to `.mdx` in the integration settings so published posts match (some content pipelines only pick up one extension)
### Step 3: Connect in ChatFeatured
1. In ChatFeatured, go to **Integrations → Git-based CMS**
2. Enter your **GitHub Repository** as `owner/repo-name`
3. Enter the **Branch** and **Content Path** from Step 2
4. Paste your **GitHub Access Token** from Step 1
5. Optionally enter your **Site URL** (e.g. `https://www.example.com`) so ChatFeatured can link to published posts
6. Optionally enter a **URL Pattern** (e.g. `/blog/{slug}/`) describing how your site turns a post into its live URL. Leave it blank to derive the URL from the content path, which matches Hugo's default
7. Click **"Connect repository"** — the connection is tested against your repository before saving
The connection test verifies the token is valid, the repository and branch exist, and the token has write access.
### Step 4 (Optional): Commit Featured Images to Your Repo
By default, published posts reference featured images by their ChatFeatured CDN URL. If your site expects local images:
1. Turn on **"Commit featured images"** in the integration settings
2. Enter your **Image Folder** — the repository folder where images belong (e.g. `static/blog/uploads` for Hugo)
Each publish then downloads the article's featured image, commits it as `/.`, and references it site-relative in front matter. A leading `static/` (Hugo) or `public/` (Astro, Next.js, Eleventy) is dropped automatically, so `static/blog/uploads` produces `/blog/uploads/your-slug.jpg`.
If an image download ever fails, the article still publishes — front matter falls back to the CDN URL instead of blocking the publish.
### Step 5 (Optional): Publish via Pull Request
By default, publishing commits straight to your configured branch. If that branch is protected, or you want to review posts before they go live, turn on **"Publish via pull request"** in the integration settings. Each publish then:
1. Commits the post to a ChatFeatured-owned `chatfeatured/*` branch (named after the post's file path)
2. Opens a pull request against your configured branch
3. Goes live when someone on your team **merges** the pull request (close it instead to discard the post)
Re-publishing an article while its pull request is still open adds commits to the same pull request. Once it's merged or closed, the next publish starts a fresh one. Unpublishing works the same way — it opens a pull request that removes the file (or simply closes the still-open publish pull request if the post never reached your branch).
Pull-request publishing requires the token to have **Pull requests: Read and write** in addition to Contents — the connection test checks this when you save.
***
## Publishing Articles
### Publish an Article
1. In ChatFeatured, click **Publish** on your article
2. ChatFeatured commits the markdown file to your repository with a commit message like `Publish "Your Title" via ChatFeatured`
3. Your CMS syncs the commit and your site rebuilds — the post is typically live within a minute or two, depending on your build time
### Update an Article
Republishing an article commits an update to the **same file** — even if the article's slug changed in ChatFeatured, the original file path is reused so your live URL never breaks.
### Unpublish an Article
Unpublishing in ChatFeatured commits a deletion of the markdown file, and the post comes down from your site on the next build.
### Schedule an Article
Scheduled articles are committed **at the scheduled time**, not when you schedule them — nothing appears in your repository until the publish moment arrives. Cancelling or rescheduling in ChatFeatured works as expected. If a scheduled publish fails (for example, the token was revoked), the article returns to review status and the scheduler is notified by email.
***
## Front Matter
By default, published posts include this front matter:
```yaml theme={null}
---
title: "Your Article Title"
date: 2026-07-08T15:00:00.000Z
description: "The article's meta description"
image: "/blog/uploads/your-slug.jpg"
tags:
- "Your Tag"
keywords:
- "target keyword"
author: "Your Default Author"
---
```
* **description** comes from the article's meta description (or excerpt)
* **keywords** are the article's target keywords from ChatFeatured
* **date** is preserved on republish, so editing an article never changes its visible publish date
Every site names its front matter keys differently (`categories` vs `tags`, `summary` vs `description`, custom keys like `_schema`). ChatFeatured supports per-site key mapping and static keys so the generated files match your existing posts exactly — contact support with an example post file from your repository and we'll configure it for your site.
***
## Troubleshooting
**Cause:** The token is invalid, expired, or was revoked
**Solution:**
* Generate a new fine-grained token (Step 1) and update it in the integration settings
* Fine-grained tokens have an expiration date — check whether yours lapsed
* Confirm the token was copied completely (it starts with `github_pat_`)
**Cause:** Wrong owner/name, or the token isn't scoped to this repository
**Solution:**
* Check the repository is entered as `owner/repo-name` with correct spelling
* Fine-grained tokens only see the repositories selected when they were created — regenerate the token with the right repository selected
**Cause:** The branch name doesn't exist in the repository
**Solution:**
* Check which branch your CMS builds from in its site settings
* Branch names are case-sensitive
**Cause:** The token's Contents permission is read-only
**Solution:**
* Edit the token on GitHub and set **Contents** to **Read and write**, or generate a new one
**Cause:** Your CMS's sync or site build failed, or the post is being filtered by your site generator
**Solution:**
* Check the commit exists in your repository (the publish status in ChatFeatured links the file path)
* Check your CMS's build status and logs for errors
* Hugo hides future-dated posts by default — verify the post's `date` isn't in the future
* If your site uses a `draft` front matter key, confirm your ChatFeatured front matter mapping sets it correctly
**Cause:** The URL pattern doesn't match how your site actually routes posts
**Solution:**
* Set **URL Pattern** in the integration settings to match your live site, including `{slug}` where the post slug goes — e.g. `/blog/{slug}/`
* Leave it blank only if your site follows Hugo's default of mirroring the content path
**Cause:** Image committing is off, or the image download failed at publish time
**Solution:**
* Turn on **"Commit featured images"** and set the Image Folder in the integration settings
* Image downloads fail soft — republish the article to retry the image commit
***
## Security Notes
Your GitHub token can write files to your site's repository. Treat it like a password:
* Use a fine-grained token scoped to a single repository with only the Contents permission
* Set an expiration date and rotate the token periodically
* If the blog lives in a shared repository with application code, consider moving it to its own repository before connecting
You can update the token at any time in the integration settings without re-entering the rest of the configuration — leave the token field blank to keep the current one.
***
## See Also
* [Ghost Integration](/integrations/ghost-integration) — API-based publishing for Ghost blogs
* [Webflow Integration](/integrations/webflow) — CMS with rich field mapping
* [REST API](/integrations/rest-api) — Build custom publishing workflows
# Cloudflare
Source: https://docs.chatfeatured.com/integrations/cloudflare
Track AI bot activity on your website using Cloudflare Workers
**Status:** Available | **Complexity:** Advanced | **Setup time:** 15-20 minutes | **Cost:** Free tier available, \$5/month recommended
The Cloudflare integration enables server-side tracking of AI crawler activity on your website using Cloudflare Workers. This allows you to monitor when AI bots like GPTBot, ClaudeBot, and PerplexityBot access your content.
## Why Use Cloudflare Workers?
Traditional analytics tools rely on JavaScript that runs in the browser. AI crawlers don't execute JavaScript, so they're invisible to tools like Google Analytics.
Cloudflare Workers run at the edge (server-side), capturing **all** traffic including AI scrapers that traditional analytics miss. This gives you complete visibility into how AI platforms discover and index your content.
### Benefits
* Capture AI crawler traffic that JavaScript-based analytics miss
* Zero latency impact - Workers run asynchronously without blocking requests
* Edge-level tracking - Logs collected at Cloudflare's edge before reaching your server
* Simple setup - Deploy in minutes with no code changes to your site
***
## Prerequisites
Before you begin, you'll need:
* A Cloudflare account (free tier works)
* Your domain configured with Cloudflare (using Cloudflare DNS)
* A ChatFeatured account with Agent Analytics enabled
While the free tier of Cloudflare Workers is compatible, we **highly recommend the paid plan (\$5/month)** for reliable analytics tracking. The free tier has request limits that may be insufficient for production sites. Review the [Cloudflare Workers pricing page](https://www.cloudflare.com/plans/developer-platform/) for details.
***
## Setup Instructions
### Step 1: Get Your API Key
1. Log in to ChatFeatured and navigate to your brand
2. Go to **Agent Analytics** > **Settings**
3. Click **Create API Key** and give it a name (e.g., "Cloudflare Worker")
4. Copy the generated API key - you'll need it in Step 4
Create a dedicated API key for each integration. This makes it easier to revoke access if needed.
### Step 2: Create the Worker in Cloudflare
1. Log in to your [Cloudflare Dashboard](https://dash.cloudflare.com)
2. Click **Workers & Pages** in the sidebar
3. Click **Create Application**
4. Select **Start with Hello World!**
5. Click **Deploy**
6. At the top right, click **Edit Code**
7. Clear the contents of the editor
8. Copy and paste the worker code from Step 3
9. Click **Deploy**
### Step 3: Worker Code
Copy this code and paste it into the Cloudflare Worker editor:
```javascript theme={null}
/**
* Cloudflare Worker – stream HTML page views to ChatFeatured
*
* Excludes common static-asset extensions.
* It runs as a middleware and doesn't interfere with the actual request handling.
*/
const IGNORE_EXT =
/\.(?:png|jpe?g|gif|svg|webp|ico|mp4|webm|mp3|wav|ogg|css|js|mjs|json|map|txt|xml|pdf|docx?|xlsx?|pptx?|zip|rar|7z|tar|gz|woff2?|ttf|eot)$/i;
export default {
async fetch(request, env, ctx) {
// Get the original response
const response = await fetch(request);
// Clone the response for processing
const responseClone = response.clone();
// NOTE: Does NOT block / wait
ctx.waitUntil(handleRequest(request, responseClone, env));
return response;
},
};
async function handleRequest(request, response, env) {
const requestUrl = new URL(request.url);
// Skip obvious static assets early
if (IGNORE_EXT.test(requestUrl.pathname)) {
return;
}
// Only log HTML pages (and OPTIONAL: status < 500)
const contentType = response.headers.get("content-type") || "";
if (!contentType.startsWith("text/html") || response.status >= 500) {
return;
}
const logData = {
timestamp: new Date().toISOString(),
host: requestUrl.hostname,
method: request.method,
pathname: requestUrl.pathname,
query_params: requestUrl.search.startsWith("?")
? requestUrl.search.slice(1)
: "",
ip: request.headers.get("cf-connecting-ip") || "",
userAgent: request.headers.get("user-agent") || "",
referer: request.headers.get("referer") || "",
status: response.status,
};
await fetch(env.ANALYTICS_ENDPOINT, {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": env.ANALYTICS_KEY,
},
body: JSON.stringify(logData),
}).catch((error) => console.error("Failed to send logs:", error));
}
```
### Step 4: Configure Environment Variables
After deploying, configure the required environment variables:
1. In your Worker's settings, click **Variables and Secrets**
2. Add the following variables:
| Variable Name | Value |
| -------------------- | ----------------------------------------- |
| `ANALYTICS_ENDPOINT` | `https://ingest.chatfeatured.com/v1/logs` |
| `ANALYTICS_KEY` | Your API key from Step 1 |
3. Click **Deploy** to save the changes
Treat `ANALYTICS_KEY` like a password. Never share it or hardcode it in version control.
### Step 5: Set Up Worker Routes
Connect the Worker to your domain:
1. Navigate to your domain in Cloudflare
2. Click **Worker Routes** in the sidebar
3. Click **Add Route**
4. Enter your route pattern: `*yourdomain.com/*`
5. Select your worker from the dropdown
6. Click **Save**
Replace `yourdomain.com` with your actual domain. The `*` wildcards ensure all subdomains and paths are tracked.
### Step 6: Verify Setup
Once deployed, AI crawler traffic will appear in your Agent Analytics dashboard within a few minutes. Visit your site in a browser to verify the Worker is running, then check your dashboard for incoming data.
***
## How It Works
The Cloudflare Worker runs on every request to your site:
1. **Request arrives** at Cloudflare's edge
2. **Worker executes** and captures request metadata (URL, user agent, IP, etc.)
3. **Original request continues** to your origin server without delay
4. **Logs are sent** asynchronously to ChatFeatured's ingestion endpoint
5. **AI crawlers identified** and displayed in your analytics dashboard
The Worker only logs HTML page requests. Static assets (images, CSS, JS, fonts) are automatically excluded to reduce noise.
## What Gets Tracked
The Worker captures the following data for each request:
* **Host** - The domain being accessed
* **Path** - The URL path being requested
* **User Agent** - Used to identify AI crawlers
* **IP Address** - For geographic insights
* **Referer** - Where the request came from
* **Status Code** - The HTTP response status
* **Timestamp** - When the request occurred
ChatFeatured's backend automatically identifies AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Bingbot, etc.) and filters out regular user traffic.
***
## Advanced Configuration
### Excluding Routes
To exclude specific routes from tracking (like admin pages):
1. Go to **Worker Routes** for your domain
2. Click **Add Route**
3. Enter the pattern to exclude (e.g., `*yourdomain.com/admin/*`)
4. Set Worker to **None**
5. Click **Save**
Routes are evaluated in order, so add exclusion routes after your main tracking route.
### Multi-Domain Setup
If you manage multiple domains, you can:
1. Create separate Workers for each domain
2. Or use a single Worker with conditional routing based on hostname
3. Point each domain's Worker Routes to the appropriate Worker
### Performance Optimization
To reduce log volume and costs:
1. **Add sampling** - Only log a percentage of requests in the Worker code:
```javascript theme={null}
// Log only 50% of requests
if (Math.random() > 0.5) return;
```
2. **Filter user agents** - Skip logging for known bots:
```javascript theme={null}
const userAgent = request.headers.get("user-agent") || "";
if (userAgent.includes("Slack-ImgProxy")) return;
```
3. **Exclude paths** - Skip logging for specific path patterns:
```javascript theme={null}
if (requestUrl.pathname.startsWith("/api/")) return;
```
### Custom User Identification
To track which users interact with your content, modify the Worker to capture user identifiers from cookies or headers:
```javascript theme={null}
const logData = {
// ... existing fields
userId: request.headers.get("x-user-id") || "",
sessionId: getCookieValue(request, "session_id") || "",
};
```
***
## Pricing & Cost Estimation
Cloudflare Workers pricing:
| Tier | Requests | Cost |
| ---- | ---------------- | --------- |
| Free | 100,000/day | \$0 |
| Paid | 10 million/month | \$5/month |
**Estimated costs for different traffic volumes:**
| Monthly Requests | Estimated Cost |
| ---------------- | --------------- |
| 1M | \$0 (free tier) |
| 10M | \$5/month |
| 100M | \$50/month |
| 1B | \$500/month |
Start with the free tier and upgrade when you need more capacity. Monitor your usage in the Cloudflare dashboard.
***
## Troubleshooting
1. **Verify the Worker is deployed** - Check Workers & Pages in Cloudflare
2. **Check environment variables** - Ensure both `ANALYTICS_ENDPOINT` and `ANALYTICS_KEY` are set correctly
3. **Verify route configuration** - Ensure your domain's Worker Routes include your site
4. **Test the API key** - Try creating a new key if the current one isn't working
5. **Check Cloudflare logs** - Visit your Worker's Real-time Logs tab for errors
1. Check the Worker's **Real-time Logs** in Cloudflare
2. Verify the `ANALYTICS_ENDPOINT` URL is correct: `https://ingest.chatfeatured.com/v1/logs`
3. Ensure your API key is valid and active
4. Check for syntax errors in the Worker code
The Worker only tracks HTML pages (content-type: `text/html`). API endpoints, JSON responses, and static files are intentionally excluded.
If you need to track other content types, modify the Worker code to remove the content-type check.
If you're approaching Cloudflare's free tier limits:
1. **Consider upgrading** to the paid Workers plan (\$5/month)
2. **Add exclusion routes** for high-traffic non-essential paths
3. **Implement sampling** in the Worker code to reduce log volume
4. Contact ChatFeatured support for volume optimization tips
1. Verify the API key hasn't expired
2. Generate a new API key in ChatFeatured
3. Update the `ANALYTICS_KEY` environment variable in your Worker
4. Click **Deploy** to activate the change
5. Wait a few minutes for the update to propagate
***
## Security Best Practices
### API Key Management
* Store API key only in Cloudflare's environment variables (encrypted at rest)
* Create a dedicated API key for Cloudflare (don't reuse keys across integrations)
* Rotate keys periodically from the ChatFeatured dashboard
* Revoke keys immediately if you suspect they've been compromised
### Data Privacy
* Only request metadata is logged (no page content or user data)
* IP addresses are used for geographic aggregation only
* All data is transmitted over HTTPS
* ChatFeatured is GDPR compliant
***
## Next Steps
Once your Cloudflare integration is set up:
1. **Monitor your dashboard** - Check Agent Analytics to see AI crawler activity
2. **Track citations** - See which pages AI models cite in their responses
3. **Optimize content** - Use insights to improve AI visibility for high-traffic pages
For more information on using Agent Analytics, see [Setting up Agent Analytics](/using-chatfeatured/agent-analytics).
***
## See Also
* [Agent Analytics with Webflow](/integrations/webflow-agent-analytics) — Setup for Webflow-hosted sites (requires O2O)
* [Vercel Integration](/integrations/vercel) — Alternative for Vercel projects
* [Agent Analytics](/using-chatfeatured/agent-analytics) — Understanding your data
# Framer Integration
Source: https://docs.chatfeatured.com/integrations/framer-integration
Sync articles from ChatFeatured to your Framer CMS
The ChatFeatured Framer integration allows you to publish articles directly to your Framer CMS. Once set up, generate articles in ChatFeatured and sync them to Framer with a single click.
**Status:** Available | **Setup time:** 5-10 minutes | **Complexity:** Beginner
## Why Framer?
Framer's plugin architecture makes setup straightforward. The ChatFeatured plugin automatically handles article syncing while you maintain full control over your content and design within Framer.
The Framer integration uses a dedicated plugin that runs directly in your Framer project. This means seamless syncing with automatic CMS collection configuration—no manual setup required.
***
## Setup Instructions
### Step 1: Create an Integration in ChatFeatured
1. In ChatFeatured, go to **Integrations → Framer**
2. Click **Create integration**
3. You'll receive an **API Key** (save this securely)
Copy your API Key immediately — it's only shown once. If you lose it, generate a new one from the ChatFeatured integrations page.
### Step 2: Install the Framer Plugin
1. Open your **Framer project**
2. Go to **Plugins → Browse**
3. Search for **"ChatFeatured CMS Sync"**
4. Click to install the plugin
5. Enable email notifications (optional but recommended)
Email notifications let you know immediately when articles are ready to sync from ChatFeatured to Framer.
### Step 3: Configure the Plugin
1. Open the **ChatFeatured plugin** in Framer
2. Paste your API Key from Step 1
3. Click **"Connect"** to verify the connection
4. The plugin will automatically configure your CMS collection
The plugin will now show:
* **Status:** Waiting for Framer Connection (initially)
* **Your API Key:** Copy it from here if needed
* **Settings:** Email notification preferences
### Step 4: Start Syncing Articles
1. In ChatFeatured, generate or write an article
2. Click **Publish**
3. Select **Framer** as your destination
4. Configure:
* **Publish method:** "Framer" (auto-filled)
* **Notification:** Get email when article syncs
5. Click **Sync to Framer**
When articles are ready, you'll receive an email notification. Open the Framer plugin and click **Sync** to pull articles into your CMS collection.
***
## Publishing Workflow
### Generate Articles
Create your article in ChatFeatured with:
* Title
* Content/body
* Optional: featured image, excerpt, metadata
### Schedule for Sync
In ChatFeatured publishing settings:
1. Select **Framer** as destination
2. Choose **"Sync when ready"** or **"Schedule for later"**
3. Articles automatically queue for sync
### Receive Notification
You'll get an email when articles are ready to sync (if notifications enabled).
### Complete Sync in Framer
1. Open the ChatFeatured plugin in your Framer project
2. Click **Sync** to import waiting articles
3. Articles appear in your CMS collection
4. Edit and design as needed in Framer
Check your email or the plugin status to see when articles are ready. This is usually within 2-5 minutes of syncing.
***
## Managing Your Content
### After Syncing
Once articles sync to Framer, you can:
* **Edit** article content in Framer's CMS editor
* **Style** articles with Framer's design system
* **Schedule** publication within Framer
* **Organize** articles into categories or collections
### Updating Articles
If you update an article in ChatFeatured after syncing, you can re-sync it. Framer will prompt you to update or create a new version.
### Deleting Articles
Deleting an article in ChatFeatured doesn't delete it from Framer. You manage deletions within Framer's CMS.
***
## Advanced Configuration
### Multiple CMS Collections
If you have different article types (blog, news, tutorials), you can create separate integrations for each collection.
### Custom Metadata
Framer preserves custom metadata fields during sync. ChatFeatured automatically maps:
* Title → CMS Title field
* Content → CMS Body field
* Featured Image → CMS Image field
* Excerpt → CMS Description field
### Batch Syncing
Generate multiple articles in ChatFeatured, then sync them all to Framer at once through the plugin.
For large batches (15+ articles), allow extra time for syncing to complete. Monitor the plugin status or check for completion email.
***
## Troubleshooting
**Cause:** Invalid or expired API Key
**Solution:**
* Generate a new API Key in ChatFeatured
* Paste it into the Framer plugin
* Click "Connect" to test
* Verify the key has no extra spaces or characters
**Cause:** Plugin not fully configured or sync not completed
**Solution:**
* Verify API Key is correctly pasted in Framer plugin
* Check that plugin shows "Connected" status
* Look for email notification confirming articles are ready
* Click **Sync** button in Framer plugin to pull articles
* Wait 2-5 minutes for sync to complete
**Cause:** Framer CMS not set up or collection deleted
**Solution:**
* Create a CMS collection in Framer before syncing
* Ensure collection has Title and Body fields at minimum
* Regenerate integration in ChatFeatured
* Verify the collection name matches your integration setup
**Cause:** Email notifications disabled or incorrect email
**Solution:**
* Check notification settings in Framer plugin
* Verify email address is correct in ChatFeatured account
* Check spam folder for notifications
* Re-enable notifications if they were turned off
* Test by syncing a single article
**Cause:** Field mapping issue or unsupported content
**Solution:**
* Check that Framer collection fields match ChatFeatured output
* Review article content in ChatFeatured before syncing
* Some advanced formatting may need adjustment in Framer
* Manually edit missing content in Framer's CMS editor
**Cause:** API Key expired or connection lost
**Solution:**
* Generate a new API Key in ChatFeatured
* Update the API Key in the Framer plugin
* Click "Connect" to re-establish connection
* Refresh the Framer page if status doesn't update
**Cause:** Large batch, network issues, or plugin error
**Solution:**
* Wait at least 5 minutes before assuming it's stuck
* Refresh the Framer plugin page
* Try syncing a single article to test
* Check ChatFeatured's integration logs for errors
* Contact support if it persists
***
## Best Practices
* Enable email notifications to know when articles are ready
* Test with a single article before syncing batches
* Keep your API Key secure
* Review articles in Framer before publishing live
* Monitor sync progress for large batches
**Don't** share your API Key\
**Don't** manually sync while Framer is syncing (wait for completion)\
**Don't** delete the ChatFeatured CMS collection in Framer (you'll lose sync capability)
***
## Performance Notes
Syncing typically completes within 2-5 minutes per article. For batch syncs:
* **1-5 articles:** 5-10 minutes
* **6-15 articles:** 15-20 minutes
* **15+ articles:** Allow 30+ minutes
Large articles with images may take longer. Monitor the plugin status or check for completion email.
***
## See Also
* [Ghost Integration](/integrations/ghost-integration) — Email newsletter publication
* [Webflow Integration](/integrations/webflow) — API-based CMS sync
* [REST API](/integrations/rest-api) — Direct API for custom workflows
# Google Analytics 4 (GA4)
Source: https://docs.chatfeatured.com/integrations/ga4
Connect your Google Analytics 4 property to track AI referral traffic, measure downstream conversions from AI search engines, and correlate AI visibility with website visits.
The **Google Analytics 4 (GA4)** integration connects your live web analytics to ChatFeatured. By linking your GA4 property, you can measure the actual downstream impact of your AI search optimization: tracking referral traffic from AI answer engines (`chatgpt.com`, `perplexity.ai`, `claude.ai`, etc.), evaluating landing page engagement, and measuring conversions driven by AI citations.
***
## Why Connect GA4 to ChatFeatured?
While ChatFeatured monitors your brand's presence and citations inside AI model answers, GA4 reveals what happens after users click through:
Automatically isolate and track sessions originating from AI engines including ChatGPT, Perplexity, Claude, Gemini, and Copilot.
Measure how changes in prompt visibility and citation counts translate into real user visits over time.
Identify which articles, comparison pages, and documentation URLs attract the highest volume of AI-referred traffic.
Ask the [AEO Agent](/ai-agents/overview) natural language questions about your web traffic without leaving ChatFeatured.
***
## What Data ChatFeatured Analyzes
Once connected, ChatFeatured filters and evaluates your GA4 data across several key dimensions:
* **AI Referral Domains:** Sessions and active users coming from AI platforms, including:
* `chatgpt.com` / `chat.openai.com`
* `perplexity.ai`
* `claude.ai`
* `gemini.google.com`
* `copilot.microsoft.com`
* **Engagement Metrics:** Average session duration, engagement rate, bounce rate, and pages per session for AI visitors vs. standard organic search.
* **Landing Page Performance:** URLs receiving direct click-throughs from AI citations.
* **Conversion & Event Tracking:** Key conversion events (signups, demo requests, purchases) attributed to AI referral channels.
***
## Setup Instructions
Connecting GA4 requires a Google Account with at least **Viewer** permissions on the target GA4 property.
In your ChatFeatured dashboard, navigate to **Integrations** in the left sidebar and select **Google Analytics 4**.
Click **Connect Google Analytics**. You will be redirected to Google’s secure OAuth consent screen.
Select the Google account that manages your website's analytics. Grant the requested read-only scope (`analytics.readonly`).
ChatFeatured requests **read-only** access strictly to pull aggregated traffic reports and session metrics. ChatFeatured cannot alter your tracking tags, delete properties, or modify your GA4 configurations.
After redirecting back to ChatFeatured:
* Select your **GA4 Property** from the dropdown.
* Select your active **Web Data Stream**.
* Click **Save & Sync**.
***
## Querying GA4 with the AEO Agent
Once connected, the [AEO Agent](/ai-agents/overview) can analyze your web traffic in real time. You can ask questions such as:
* *"How much referral traffic did we receive from ChatGPT and Perplexity over the last 30 days?"*
* *"What are our top 5 landing pages receiving traffic from AI search engines?"*
* *"Compare our AI referral traffic this month versus last month."*
* *"Did our new comparison article generate any referral traffic from ChatGPT since being published?"*
* *"Which articles published through ChatFeatured have the highest engagement rate from AI visitors?"*
* *"Is our increase in Perplexity citations correlating with more visits to our documentation?"*
***
## Troubleshooting & FAQ
Citations in AI responses indicate that an answer engine used your page as a source to construct an answer. Not every user who reads an AI answer clicks through the cited source link. A high citation count with moderate referral traffic is normal across conversational search engines.
Google Analytics 4 has a standard data processing latency of **24 to 48 hours** for full session attribution. Data from today or yesterday may be incomplete in GA4 until Google finishes processing data streams.
Yes. Go to **Integrations > Google Analytics 4**, click **Manage Connection**, and choose **Disconnect** or select a different property from your account.
***
## Related Guides
Track index status, sitemaps, and organic search impressions.
Monitor brand visibility, sentiment, and citations across 7 AI models.
Monitor real-time AI bot crawl activity via Cloudflare or Vercel logs.
Learn how the conversational agent uses integrated data to provide actionable advice.
# Ghost Integration
Source: https://docs.chatfeatured.com/integrations/ghost-integration
Publish articles directly from ChatFeatured to your Ghost blog
The ChatFeatured Ghost integration allows you to publish articles directly to your Ghost publication. Authenticate with your Ghost Admin API Key, then publish articles with a single click.
**Status:** Available | **Setup time:** 10 minutes | **Complexity:** Beginner
## Why Ghost?
Ghost is a membership and newsletter platform built for content creators. The ChatFeatured integration lets you publish blog articles while maintaining Ghost's email newsletter features and membership tiers.
Ghost's API supports memberships, newsletters, and paywalls natively. Once you publish from ChatFeatured, you can immediately configure member access levels and email distribution directly in Ghost.
***
## Setup Instructions
### Step 1: Open Your Ghost Admin
1. Go to your **Ghost admin dashboard** at `yourblog.ghost.io/ghost`
2. Log in with your Ghost account
### Step 2: Create a Custom Integration
1. Navigate to **Settings → Integrations**
2. Scroll down and click **"Add custom integration"**
3. Enter name: **"ChatFeatured"**
4. Click **"Create"**
### Step 3: Copy Your Admin API Key
1. In the custom integration details, find the **"Admin API Key"** field
2. Click **"Reveal"** to show the key
3. Copy the entire key
The format should be: `64a1b2c3d4e5...abc:def123gh456`
**Critical API Key Format:** The Admin API Key MUST be in the format `{id}:{secret}` with a colon separating ID and secret. If the key doesn't contain a colon, you may have copied the **Content API Key by mistake**. Always use the Admin API Key for publishing.
### Step 4: Connect in ChatFeatured
1. In ChatFeatured, go to **Integrations → Ghost**
2. Enter your **Ghost Site URL** (e.g., `https://yourblog.ghost.io`)
3. Paste your **Admin API Key** from Step 3
4. Click **"Test Connection"** to verify
5. Click **"Connect Ghost"** to save
Test the connection before publishing to ensure your API Key is correct. This saves time debugging later.
Once connected, your Ghost site will appear as a publish destination.
***
## Publishing Articles
### Publish an Article
1. In ChatFeatured, click **Publish** on your article
2. Select **Ghost** as the destination
3. Configure publishing options:
* **Site URL:** Your Ghost domain (auto-filled)
* **Admin API Key:** Your authentication key (auto-filled)
* **Title:** Article title
* **Content:** Article body
4. Click **"Publish to Ghost"** to save
Your article will be created as a **draft** in Ghost and appear in your admin dashboard.
Articles always publish as drafts first. This lets you review them in Ghost before making them live. You maintain full control over when to publish.
### Edit in Ghost
After publishing from ChatFeatured:
1. Log into your **Ghost admin**
2. Go to **Posts** (or **Pages** if you published as a page)
3. Click your article to edit
4. Configure:
* **Publish status:** Schedule or publish immediately
* **Featured image:** Add cover image
* **Tags:** Organize your content
* **Excerpt:** Set custom summary
* **Access level:** Public, Members-only, or Paid members
5. Click **"Publish"** when ready
***
## Advanced Features
### Membership Tiers
Ghost natively supports membership and paywalls. After publishing from ChatFeatured:
1. Edit the article in Ghost
2. Set **Access level** to:
* **Public** — Everyone can read
* **Members only** — Logged-in members
* **Paid members only** — Paid subscribers
This is where Ghost shines for creators—set paywall access right in the article editor. Articles published from ChatFeatured can immediately be configured for paid membership tiers.
### Email Newsletter
Ghost automatically sends articles to your newsletter subscribers:
1. Configure newsletter settings in Ghost admin
2. Published articles automatically get email distribution
3. Subscribers receive notifications of new posts
Make sure articles are **published** (not draft) for newsletter distribution to trigger. Draft articles won't be sent to your subscriber list.
### Social Sharing
Ghost auto-generates social media cards. Customize the preview:
1. Edit article in Ghost
2. Click **"SEO"** tab
3. Set custom **meta description** and **social preview image**
***
## Troubleshooting
**Cause:** Invalid site URL or incorrect Admin API Key
**Solution:**
* Verify Ghost site URL matches exactly (e.g., `https://yourblog.ghost.io`)
* Ensure Admin API Key includes both ID and secret with colon separator (`id:secret`)
* Generate a new API Key in Ghost Settings → Integrations
* Check that you copied the **Admin API Key**, not Content API Key
**Cause:** Key is missing the ID:secret separator
**Solution:**
* Admin API Key must contain a colon (`:`) in the middle
* Format should be: `64a1b2c3d4e5...abc:def123gh456`
* If your key doesn't have a colon, regenerate it in Ghost
* You may have copied the wrong key type (use Admin, not Content)
**Cause:** API Key invalid or permissions insufficient
**Solution:**
* Test connection in ChatFeatured settings
* Verify API Key hasn't expired (regenerate if needed)
* Check your Ghost user role has admin or editor permissions
* Try publishing a new test article
* Check Ghost admin to see if article appears as draft
**Cause:** API Key lacks proper permissions
**Solution:**
* Only Admin API Keys work (not Content API Keys)
* Regenerate the API Key in Ghost Settings
* Ensure the integration has full access permissions
* Verify your Ghost user has admin-level permissions
**Cause:** Image URL not accessible to Ghost
**Solution:**
* Image URLs must be publicly accessible
* Avoid using local file URLs or blocked CDNs
* Upload featured image directly in Ghost after publishing
* Check image URL doesn't contain authentication or special characters
**Cause:** Article is draft or newsletter not configured
**Solution:**
* Check if article is **published** (not draft)—draft articles don't auto-send
* Verify newsletter settings are enabled in Ghost admin
* Check that subscribers are configured
* Manually send newsletter in Ghost if auto-send isn't working
**Cause:** Ghost doesn't auto-create tags via API
**Solution:**
* Create tags manually in Ghost admin first
* Tag articles after publishing in the Ghost editor
* ChatFeatured can't create new tags automatically
* Consider using categories or custom fields as alternatives
**Cause:** Ghost may have revoked or reset the key
**Solution:**
* Ghost Admin API Keys don't expire automatically
* If token fails, regenerate a new one in Settings → Integrations
* Update the new key in ChatFeatured
* Verify the new key includes both ID and secret with colon separator
***
## Best Practices
* Publish as draft first to review in Ghost
* Customize SEO and social settings after publishing
* Keep your Admin API Key secret
* Regenerate API Keys periodically for security
* Test article publishing before creating many
**Don't** share your Admin API Key\
**Don't** commit API Key to version control\
**Don't** use Content API Key (Admin API Key required)\
**Don't** delete articles from ChatFeatured after publishing (they won't auto-delete from Ghost)
***
## Common Issues
Go to **Settings → Integrations**. Create a custom integration if none exists. The Admin API Key will be displayed in the integration details.
Check if they're **drafted vs published**. Draft articles don't appear on your live site. Go to Ghost admin and click "Publish" to make them visible.
Verify the article's access level in Ghost:
1. Edit the article
2. Check **Access level** dropdown
3. Ensure it's set to **Members only** or **Paid members only**
4. Click **Update** to save changes
***
## Performance Notes
Article publishing typically completes within 5-10 seconds. Ghost will:
* Create article as **draft** (manual publish in Ghost required)
* Generate default featured image placeholder
* Auto-add creation date and metadata
* Queue newsletter if configured
***
## Security Notes
Your Admin API Key grants full access to your Ghost site. Treat it like a password:
* Never share it publicly
* Use environment variables in applications
* Rotate keys if compromised
* Revoke old keys when changing integrations
Change your Admin API Key every 90 days as a security best practice. This limits exposure if a key is accidentally leaked.
***
## See Also
* [Webflow Integration](/integrations/webflow) — CMS with rich field mapping
* [WordPress Integration](/integrations/wordpress) — Plugin-based publishing
* [REST API](/integrations/rest-api) — Build custom publishing workflows
# Google Search Console
Source: https://docs.chatfeatured.com/integrations/google-search-console
Connect Google Search Console to monitor search performance, submit sitemaps, and inspect index status
**Status:** Available | **Complexity:** Beginner | **Setup time:** 2-3 minutes
The Google Search Console (GSC) integration connects your Google account to ChatFeatured so you can submit sitemaps, monitor search performance, and inspect URL indexing status — all without leaving the dashboard. GSC data is also surfaced inside the Site Audit so you can see how each audited page is actually performing in Google.
Google Search Console is a **Pro** feature. Upgrade your brand to access this integration.
## Features
Submit one or more sitemap URLs and view their indexing status, errors, and submitted URL counts.
See clicks, impressions, CTR, and average position for your pages and queries — with click-to-expand drill-down.
Check the index status of any URL, including coverage state, robots.txt state, last crawl time, and canonical URLs.
## Setup Requirements
* A Google account with access to at least one Google Search Console property
* Pro plan access on the brand you're connecting
* Workspace admin role (only admins can connect or disconnect integrations)
If you don't have a Search Console property yet, [open Search Console](https://search.google.com/search-console) and add your site first. Both **domain properties** and **URL-prefix properties** are supported.
## Connect Google Search Console
The integration uses a separate Google OAuth flow scoped specifically to Search Console — connecting it will **not** affect the Google account you use to sign in to ChatFeatured.
### Step 1: Open the Integration
1. In ChatFeatured, go to **Integrations** in the sidebar
2. Find **Google Search Console** under the **SEO** filter (or in the full integrations list)
3. Click **Open**
### Step 2: Connect Your Google Account
1. Click **Connect Google Search Console**
2. You'll be redirected to Google to grant the following permissions:
* View and manage Search Console data for your verified sites
3. Select the Google account that has access to your Search Console properties
4. Click **Continue** to authorize
After authorization, you'll be redirected back to ChatFeatured and the connection will show as **Connected**.
### Step 3: Select Your Brand Domain
Once connected, choose which Search Console property to use for this brand:
1. From the **Brand Domain** dropdown, select the property you want to use
2. Both `sc-domain:` (domain properties) and `https://` (URL-prefix properties) are supported
3. Your selection is saved automatically and used across the platform for this brand
If no properties appear, make sure the Google account you connected has access to at least one Search Console property. You can add or share access at [search.google.com/search-console](https://search.google.com/search-console).
***
## Using the Integration
Once a property is selected, three tabs become available on the integration page.
### Sitemaps
View and manage the sitemaps Google has indexed for your property.
**Submitted Sitemaps table** shows:
* Sitemap URL and type (sitemap or sitemap index)
* Date submitted and date last read by Google
* Total submitted URL count
* Status (Success, Pending, Warning, or Error counts)
**Submit a new sitemap:**
1. Enter one or more sitemap URLs (e.g., `https://example.com/sitemap.xml`)
2. Click **Add another** to submit multiple at once
3. Click **Submit Sitemap** — ChatFeatured calls the Search Console API and reports per-URL success or failure
Submit your sitemap right after publishing new content for faster discovery by Google.
### Search Performance
See how your site is actually performing in Google Search.
**Dimensions:**
* **Pages** — Each URL with its clicks, impressions, CTR, and average position
* **Queries** — Each search query users searched to find you
**Time periods:** 24 hours, 7 days, 28 days, or 3 months
**Drill-down:** Click any row to expand it:
* Expand a **page** to see the top queries driving traffic to it
* Expand a **query** to see which pages are ranking for it
**Filter & sort:** Use the search box to filter by URL or query, and click any column header to sort by clicks, impressions, CTR, or average position.
**Inspect from the table:** When viewing pages, click the search icon on any row to jump straight to URL Inspection for that page.
### URL Inspection
Check whether a specific URL is indexed and how Google sees it.
1. Enter the full URL (e.g., `https://example.com/blog/post-name`)
2. Click **Inspect**
The inspection returns:
| Field | What It Means |
| -------------------- | --------------------------------------------- |
| **Verdict** | Overall result — `PASS`, `NEUTRAL`, or `FAIL` |
| **Coverage State** | How Google has indexed (or excluded) the URL |
| **Indexing State** | Whether the URL is indexable |
| **Robots.txt State** | Whether your robots.txt allows crawling |
| **Last Crawl Time** | When Googlebot last fetched the page |
| **Google Canonical** | The URL Google selected as canonical |
| **User Canonical** | The canonical URL declared in your page |
Results are **cached for 24 hours** to stay within Google's API quota. Click **Refresh** on any result to force a fresh inspection.
Use the **View in Google Search Console** link below any inspection to open the full report in the GSC UI.
***
## Site Audit Integration
When Google Search Console is connected, GSC data appears inline within the [Site Audit](/using-chatfeatured/site-audit):
* Each audited page shows a **GSC summary** (clicks, impressions, CTR, position)
* A **Queries** tab appears on each page detail view, showing the top search queries driving traffic to that specific URL
* Use this to prioritize fixes on pages that already get search impressions
***
## API Quotas
Google Search Console enforces per-property API limits:
| API | Limit | How ChatFeatured Handles It |
| ---------------------- | ------------------------------- | ------------------------------------------------ |
| **URL Inspection** | 2,000 requests/day per property | Results cached 24h; force-refresh available |
| **Sitemap submission** | No hard daily limit | Rate-limit errors (HTTP 429) are surfaced to you |
| **Search Analytics** | Generous limits | Refresh on demand from the dashboard |
***
## Managing the Connection
### Reconnect
If Google permissions change or tokens are revoked, click **Reconnect** under **Manage Connection** to re-run the OAuth flow.
### Disconnect
To remove the integration:
1. Open **Manage Connection** on the integration page
2. Click **Disconnect**
3. Confirm the dialog
Disconnecting removes the connection and all cached URL inspection data. You can reconnect at any time.
Disconnecting from ChatFeatured does **not** revoke the OAuth grant in your Google account. To fully revoke access, visit [Google Account permissions](https://myaccount.google.com/permissions).
***
## Troubleshooting
**Cause:** The Google account you authorized doesn't have access to any Search Console properties.
**Solution:**
* Open [Search Console](https://search.google.com/search-console) with the same Google account
* Add a property or ask the property owner to grant your account access
* Return to ChatFeatured and click **Refresh** on the property selector
**Cause:** The sitemap URL isn't reachable, isn't valid XML, or is outside the property scope.
**Solution:**
* Verify the sitemap loads in a browser at the URL you submitted
* Make sure the sitemap is on the same domain as the selected GSC property
* For `sc-domain:` properties, any subdomain works; for URL-prefix properties, the sitemap must be on the exact prefix
**Cause:** Google hasn't yet crawled the URL, or the URL is outside the selected property.
**Solution:**
* Confirm the URL belongs to the property you selected in the Brand Domain dropdown
* Submit the URL's sitemap first so Google discovers it
* Wait 1-7 days after submission for Google to crawl, then re-inspect
**Cause:** You've hit Google's daily quota for that property (most commonly 2,000 URL inspections/day).
**Solution:**
* Wait until the quota resets (24h rolling window)
* Rely on cached inspection results in the meantime — they remain valid for 24h
**Cause:** OAuth tokens were revoked in your Google account, or the connected user no longer has access to the property.
**Solution:**
* Click **Reconnect** under **Manage Connection** and re-authorize
* If you still see errors, disconnect and reconnect from scratch
***
## See Also
* [Site Audit](/using-chatfeatured/site-audit) — See GSC performance data inline on each audited page
* [Index Submissions](/index-submissions/index-submissions) — Submit URLs to AI search engines (ChatGPT, Perplexity, Claude)
* [Agent Analytics](/using-chatfeatured/agent-analytics) — Track AI crawler activity alongside Google traffic
# AI Assistants (MCP)
Source: https://docs.chatfeatured.com/integrations/mcp
Connect Claude, Claude Code, Cursor, and other MCP-compatible clients to ChatFeatured
Connect your favorite AI assistants directly to ChatFeatured using the Model Context Protocol (MCP). Manage content, query analytics, and automate workflows without leaving your coding environment.
**Status:** Available | **Complexity:** Intermediate | **Setup time:** 5-10 minutes
## What is MCP?
The Model Context Protocol (MCP) is a standard that allows AI assistants and tools to securely interact with external systems. With ChatFeatured's MCP integration, you can:
* Generate and manage articles directly from your AI assistant
* Query real-time analytics and crawler data
* Manage brands, competitors, and content strategy
* Schedule and publish articles
* All without switching contexts or copying/pasting between tools
## Supported Clients
The ChatFeatured MCP works with any MCP-compatible client, including:
* **Claude Desktop** — MacOS/Windows desktop application
* **Claude Code** — Command-line tool
* **Cursor** — AI-powered code editor
* **Windsurf** — Collaborative IDE
* And any other MCP-compatible application
***
## Connection Methods
### Method 1: OAuth (Recommended)
OAuth is the recommended connection method for Claude Desktop and Claude Code. It's secure, requires no manual key management, and handles sign-in automatically.
#### Claude Desktop
1. Open **Claude Desktop Settings**
2. Go to **Customize**
3. Click **Add custom connector**
4. Paste the MCP server URL:
```text theme={null}
https://chatfeatured.com/api/mcp
```
5. Click **Add**
6. Sign in with your ChatFeatured account (automatic OAuth flow)
7. Grant ChatFeatured access to your workspace
8. Done! The integration is now active
#### Claude Code
In your terminal:
```bash theme={null}
claude mcp add --transport http chatfeatured https://chatfeatured.com/api/mcp
```
Then sign in with your ChatFeatured account when prompted.
OAuth automatically handles authentication and token refresh. Your credentials are never stored in config files.
***
### Method 2: API Key
Use API keys for CLI tools, scripts, or environments where OAuth isn't available (Cursor, Windsurf, custom scripts).
#### Step 1: Generate an API Key
1. Log in to ChatFeatured
2. Go to **Integrations → AI Assistants (MCP)**
3. Scroll to **API Keys**
4. Click **+ Create API Key**
5. Give it a name (e.g., "Cursor Integration", "Claude Code Script")
6. Click **Create**
7. Copy the generated key — it's only shown once
Treat API keys like passwords. Never commit them to version control. Store them in environment variables or secure config files.
#### Step 2: Configure Your Client
**For Cursor:**
1. Open Cursor settings
2. Go to **Extensions → ChatFeatured**
3. Paste your API key in the configuration
4. Restart Cursor
**For Claude Code:**
```bash theme={null}
claude mcp add --transport http \
--header "x-api-key: YOUR_API_KEY" \
chatfeatured https://chatfeatured.com/api/mcp
```
**For Scripts (Node.js example):**
```javascript theme={null}
const mcp = require("@anthropic-sdk/mcp-client");
const config = {
mcpServers: {
chatfeatured: {
url: "https://chatfeatured.com/api/mcp",
headers: {
"x-api-key": process.env.CHATFEATURED_API_KEY
}
}
}
};
```
**For Generic MCP Client:**
Add to your `.mcp/config.json`:
```json theme={null}
{
"mcpServers": {
"chatfeatured": {
"url": "https://chatfeatured.com/api/mcp",
"headers": {
"x-api-key": "cf_your_key_here"
}
}
}
}
```
***
## Available Capabilities
Once connected, the MCP exposes the following tools:
### Analytics & Insights
* **Query Analytics** — Get traffic, rankings, and visibility data
* **Query Crawler Analytics** — View AI crawler activity and citations
* **Search Images** — Find images from Pexels for articles
### Brand & Strategy
* **List Brands** — View all brands in your workspace
* **Get Brand Book** — Access your brand voice and guidelines
* **Update Brand Book** — Refine brand guidelines
* **List Competitors** — View your competitive set
* **Manage Competitor** — Add or update competitors
* **List Prompts** — View all content prompts
* **Create Prompt** — Generate new content prompts
* **Update Prompt** — Modify existing prompts
### Content Management
* **Generate Articles** — Create new articles using your brand voice and prompts
* **List Articles** — View all articles in your workspace
* **Get Article** — Fetch details of a specific article
* **Update Article Content** — Edit article body text
* **Approve/Archive Articles** — Manage article status
* **Publish Article** — Push articles to your CMS
* **Schedule Article** — Schedule articles for future publishing
* **Delete Articles** — Remove articles permanently
* **Set Featured Image** — Add cover images to articles
### Knowledge & Organization
* **Knowledge Base Query** — Search your knowledge base documents
* **List Tags** — View all content tags
* **Manage Tags** — Create and organize tags
* **List Organizations** — View workspace organizations
***
## Usage Examples
### Generate an Article with Claude
```text theme={null}
Claude, using ChatFeatured, generate an article about "AI Search Optimization"
for our brand (Brand Name) that targets an audience interested in (key offerings).
Make it 1500 words.
```
Claude will:
1. Query your brand book for voice/style
2. Check your competitors for differentiation
3. Generate the article
4. Create it in ChatFeatured
5. Report back with status and next steps
### Query Analytics
```text theme={null}
What were our top 5 pages by AI crawler visits last week? And which ones
got cited in AI search responses?
```
The MCP returns:
* Page URLs and visit counts
* Citation frequency per page
* AI models that cited you
* Sentiment of citations
### Manage Your Content Roadmap
```text theme={null}
Claude, create 5 new article prompts for our Q3 content strategy. They should
target topics around sustainable gaming practices and player protection.
Then tell me how we compare to our competitors on these topics.
```
Claude will:
1. Analyze competitor content
2. Create targeted prompts
3. Identify coverage gaps
4. Suggest publishing timeline
***
## Managing Connections
### View Connected Assistants
Go to **Integrations → AI Assistants (MCP)** to see all connected clients:
* **OAuth connections** — Show user and last-connected date
* **API Keys** — Show key name and creation date
### Disconnect an Assistant
1. Go to **Integrations → AI Assistants (MCP)**
2. Find the assistant or API key
3. Click the trash icon to disconnect/revoke
Disconnecting immediately revokes access. No further requests will be accepted.
Disconnecting does NOT delete your data in ChatFeatured—it only revokes the assistant's access to it.
### Rotate API Keys
For security, rotate API keys periodically:
1. Generate a new API key (Step 1 above)
2. Update your client config with the new key
3. Delete the old key from the dashboard
4. Test the connection works
***
## Best Practices
### Security
✅ **Do:**
* Store API keys in environment variables
* Rotate keys every 90 days
* Use OAuth when possible (automatic token refresh)
* Revoke keys for assistants you no longer use
❌ **Don't:**
* Commit API keys to version control
* Share API keys in messages or screenshots
* Use the same key across multiple environments
* Store keys in plain-text config files
### Performance
✅ **Do:**
* Batch requests when possible (e.g., "generate 5 articles at once")
* Use specific prompts for better results
* Reference your brand book for consistency
* Check analytics before publishing to validate timing
❌ **Don't:**
* Generate the same article multiple times in quick succession
* Query analytics every minute (batch daily reviews instead)
* Publish without reviewing the article first
* Ignore competitor updates in your strategy
***
## Troubleshooting
**Cause:** Network issue or OAuth redirect misconfigured
**Solution:**
1. Ensure you're not behind a restrictive firewall
2. Try disconnecting and reconnecting
3. Clear your browser cache if using Claude Desktop web
4. Check that your ChatFeatured account is active
5. If it persists, generate an API key as a workaround
**Cause:** Invalid, expired, or revoked API key
**Solution:**
1. Verify the key is exactly as generated (no extra spaces)
2. Check the key hasn't been deleted from the dashboard
3. Regenerate a new API key and update your config
4. Ensure the header is exactly `x-api-key: YOUR_KEY` (case-sensitive)
**Cause:** MCP server unreachable or connection misconfigured
**Solution:**
1. Verify the MCP URL is exactly: `https://chatfeatured.com/api/mcp`
2. Check your internet connection
3. Restart your client application
4. If using API key, verify it's in the correct header format
5. Try switching to OAuth if you were using API key
**Cause:** Too many rapid requests to the MCP
**Solution:**
1. Space out requests by a few seconds
2. Batch operations (e.g., generate multiple articles in one prompt)
3. Avoid polling for updates in tight loops
4. Contact support if you need higher rate limits
**Cause:** Generation succeeded but article didn't sync
**Solution:**
1. Manually refresh the ChatFeatured dashboard
2. Check the articles list in your AI assistant
3. Verify you're in the correct brand workspace
4. Check browser console for any errors
5. Regenerate the article if it was lost
***
## API Reference
The MCP exposes the following tool categories:
| Category | Tools | Example Use |
| ------------- | -------------------------------------------------- | --------------------------------- |
| **Content** | Generate, list, update, publish, schedule articles | Create and deploy new content |
| **Analytics** | Query crawler data, traffic, citations | Monitor AI visibility |
| **Brand** | Manage brand book, competitors, prompts | Define strategy |
| **Knowledge** | Search knowledge base, manage tags | Organize and retrieve information |
For a complete list of available tools and parameters, ask your AI assistant:
```text theme={null}
What tools does ChatFeatured MCP provide? List them all with descriptions.
```
***
## Support & Questions
* **Documentation:** Check the [ChatFeatured docs](https://docs.chatfeatured.com/)
* **Issues:** Contact [support@chatfeatured.com](mailto:support@chatfeatured.com)
* **Feature requests:** Let us know what you'd like to build
***
## See Also
* [Agent Analytics](/using-chatfeatured/agent-analytics) — Monitor AI crawler activity
* [Index Submissions](/index-submissions/setup) — Submit content to AI search engines
* [Content Strategy](/using-chatfeatured/content-strategy) — Plan your AI-optimized content
# Integrations Overview
Source: https://docs.chatfeatured.com/integrations/overview
Connect your CMS, track AI crawler traffic, correlate AI referrals in GA4, and link AI assistants directly to your ChatFeatured workspace.
ChatFeatured integrates seamlessly across your entire digital stack. Connect your CMS for 1-click publishing, monitor AI bot visits at the edge, measure AI referral traffic with Google Analytics, verify index coverage with Google Search Console, or query your workspace directly inside Claude Code and Cursor via MCP.
***
## Available Integrations
### CMS & Content Publishing
Publish AEO-optimized articles and buyer guides directly from ChatFeatured to your blog or publication with a single click.
Publish directly to your Shopify store blog via custom private app. Connects in under 5 minutes.
`Status: Available` | `Setup time: 5 mins`
Zero-config, high-speed hosted blog with built-in AEO styling, custom domain CNAME support, and `llms.txt`.
`Status: Available` | `Setup time: 2 mins`
Native plugin and Application Password integration. Push drafts or live articles directly to WordPress.
`Status: Available` | `Setup time: 5 mins`
API-based integration. Sync rich text, author bylines, and metadata directly to your Webflow CMS collection.
`Status: Available` | `Setup time: 10 mins`
Admin API integration. Publish markdown and rich media directly to your Ghost publication.
`Status: Available` | `Setup time: 5 mins`
Sync structured articles, custom fields, and featured images directly to your Framer CMS.
`Status: Available` | `Setup time: 5 mins`
Commit articles as structured Markdown/MDX files directly to GitHub/GitLab (compatible with Astro, Next.js, Hugo, Jekyll, CloudCannon).
`Status: Available` | `Setup time: 10 mins`
*Coming soon: Squarespace, Sanity, Bolt CMS, Wix*
***
### Google Integrations (Traffic & Search Performance)
Connect Google services to evaluate index status and measure downstream AI referral traffic.
Track AI referral traffic from `chatgpt.com`, `perplexity.ai`, and `claude.ai`. Correlate prompt citations with website visits and conversions.
`Status: Available` | `Setup time: 2 mins`
Inspect URL index status, monitor organic search performance, and review submitted XML sitemaps.
`Status: Available` | `Setup time: 2 mins`
***
### AI Crawler & Bot Analytics (Edge Logs)
Capture server-side requests from `GPTBot`, `ClaudeBot`, and `PerplexityBot` before JavaScript loads. Inspect real-time crawl frequency and diagnose accessibility.
Edge tracking via Cloudflare Worker. Logs all incoming AI scraper and agent traffic with near-zero latency.
`Status: Available` | `Complexity: Intermediate` | `Setup time: 15 mins`
Real-time log streaming from Vercel deployments with automatic AI user-agent parsing.
`Status: Available` | `Complexity: Easy` | `Setup time: 10 mins`
CloudFront real-time log ingestion with Lambda transformation. Built for enterprise architectures.
`Status: Available` | `Complexity: Advanced` | `Setup time: 30 mins`
Send raw HTTP request logs directly from your custom server, Nginx, or reverse proxy.
`Status: Coming Soon`
Edge crawler analytics capture AI scraper traffic that client-side JavaScript tags (like Google Tag Manager) cannot see. Choose the method matching your primary hosting provider.
***
### AI Assistants & Developer Environments (MCP)
Connect your ChatFeatured workspace to external AI coding assistants and desktop agents via the **Model Context Protocol (MCP)**.
Query live AI visibility rankings, prompt citation gaps, and site audit health directly inside **Claude Desktop**, **Claude Code**, **Cursor**, and **Windsurf**.
`Status: Available` | `Setup time: 2 mins`
***
### Advertising & Competitor Intelligence
Track competitor ad placements in conversational search and manage native OpenAI ad campaigns.
Connect your OpenAI Ads account to launch campaigns, analyze conversational ad performance, and generate creative alongside competitor ad intelligence.
`Status: Available` | `Complexity: Intermediate` | `Setup time: 5 mins`
***
### Developer API & Webhooks
Integrate ChatFeatured into your internal dashboards, CI/CD pipelines, or custom publishing workflows.
Programmatically query prompt metrics, fetch generated articles, trigger site audits, or receive instant webhook notifications when new citations or tasks are detected.
`Status: Available` | `Features: Full CRUD, API Keys, Webhook Events`
***
### AI Index Submissions & Discovery
Speed up indexation by submitting your site URLs directly to conversational answer engines.
Verify domain ownership and push updated pages to AI search indexes. Generates standard `/llms.txt` and `/llms-full.txt` files for fast crawler parsing.
`Status: Available` | `Setup time: 5 mins`
***
## Choosing the Right Integration Path
* **Shopify Stores:** Connect via the [Shopify Integration](/integrations/shopify) to publish AEO articles directly to your store blog.
* **WordPress / Webflow / Ghost / Framer:** Connect via API key or native plugin for instant publishing.
* **Custom or Static Sites:** Use [ChatFeatured Hosted Blog](/integrations/chatfeatured-blog) (simplest) or [Git-based Commits](/integrations/git-cms) to push markdown directly to your repository.
* Connect [**Google Analytics 4**](/integrations/google-analytics-4) to track incoming referral clicks from ChatGPT and Perplexity.
* Connect [**Google Search Console**](/integrations/google-search-console) to ensure your sitemaps are indexed and verify search engine coverage.
* If using Cloudflare DNS/CDN: Deploy the [**Cloudflare Worker**](/integrations/cloudflare).
* If hosted on Vercel: Configure the [**Vercel Log Drain**](/integrations/vercel).
* If on AWS / CloudFront: Set up [**AWS Data Firehose**](/integrations/aws-data-firehose).
* If using AI code editors (Cursor, Windsurf, Claude Code): Connect the [**MCP Server**](/integrations/mcp).
* For custom backend workflows: Generate a key in [**REST API**](/integrations/rest-api).
***
## Getting Help
Every integration page contains comprehensive, step-by-step setup walkthroughs and troubleshooting instructions. If you need assistance:
* Check the **Troubleshooting** section on the specific integration page.
* Ask the [AEO Agent](/ai-agents/overview) inside your dashboard to check connection status.
* Reach out to our support team for hands-
# REST API Integration
Source: https://docs.chatfeatured.com/integrations/rest-api
Access your articles programmatically via REST API
The ChatFeatured REST API allows you to query, create, and manage your articles programmatically. Use API keys to authenticate requests and build custom workflows, integrations, or applications on top of your ChatFeatured content.
**Status:** Available | **Complexity:** Intermediate | **Use cases:** Custom automation, third-party integrations, mobile apps
The REST API is perfect for building custom integrations, automating publishing workflows, or syncing content to external platforms. It gives you full programmatic control over your articles.
***
## Authentication
All API requests require authentication via API Key:
### Headers
```text theme={null}
Authorization: Bearer YOUR_API_KEY
```
or
```text theme={null}
X-API-Key: YOUR_API_KEY
```
### Create an API Key
1. In ChatFeatured, go to **Integrations → REST API**
2. Click **Create API Key**
3. Name it descriptively (e.g., "Mobile App", "Automation Script")
4. Copy the key immediately (only shown once)
**Security:** Treat API Keys like passwords. Never commit them to version control or expose in client-side code. Store them in environment variables instead.
***
## Base URL
All API requests use:
```text theme={null}
https://api.chatfeatured.com/v1
```
Use HTTPS only. HTTP requests will be rejected for security.
***
## Endpoints
### List Articles
List all articles with optional filtering.
```text theme={null}
GET /articles
```
**Query Parameters:**
| Parameter | Type | Description |
| --------- | ------ | --------------------------------------------------- |
| `status` | string | Filter: `published`, `draft`, `scheduled`, `review` |
| `limit` | number | Max results per page (default: 20, max: 100) |
| `offset` | number | Pagination offset (default: 0) |
**Example with curl:**
```bash theme={null}
curl https://api.chatfeatured.com/v1/articles?status=published&limit=10 \
-H "Authorization: Bearer YOUR_API_KEY"
```
**Example with Python:**
```python theme={null}
import requests
response = requests.get(
'https://api.chatfeatured.com/v1/articles',
params={'status': 'published', 'limit': 10},
headers={'Authorization': 'Bearer YOUR_API_KEY'}
)
articles = response.json()
```
**Example with JavaScript:**
```javascript theme={null}
const response = await fetch(
'https://api.chatfeatured.com/v1/articles?status=published&limit=10',
{
headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
}
);
const articles = await response.json();
```
**Response:**
```json theme={null}
{
"data": [
{
"id": "abc123",
"title": "AI Trends in 2026",
"slug": "ai-trends-2026",
"status": "published",
"excerpt": "What's new in AI this year...",
"content": "Full HTML content...
",
"featuredImage": "https://...",
"createdAt": "2026-05-20T10:00:00Z",
"publishedAt": "2026-05-21T14:30:00Z"
}
],
"pagination": {
"offset": 0,
"limit": 10,
"total": 42
}
}
```
***
### Get Single Article
Retrieve a specific article by ID or slug.
```text theme={null}
GET /articles/{id}
GET /articles/{slug}
```
**Example with curl:**
```bash theme={null}
curl https://api.chatfeatured.com/v1/articles/ai-trends-2026 \
-H "Authorization: Bearer YOUR_API_KEY"
```
**Example with Python:**
```python theme={null}
response = requests.get(
'https://api.chatfeatured.com/v1/articles/ai-trends-2026',
headers={'Authorization': 'Bearer YOUR_API_KEY'}
)
article = response.json()
```
**Example with JavaScript:**
```javascript theme={null}
const response = await fetch(
'https://api.chatfeatured.com/v1/articles/ai-trends-2026',
{ headers: { 'Authorization': 'Bearer YOUR_API_KEY' } }
);
const article = await response.json();
```
***
### Publish Article
Publish a draft article or change publication status.
```text theme={null}
POST /articles/{id}/publish
```
**Body:**
```json theme={null}
{
"status": "published",
"publishedAt": "2026-05-22T14:00:00Z"
}
```
**Example with curl:**
```bash theme={null}
curl -X POST https://api.chatfeatured.com/v1/articles/abc123/publish \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"status": "published"}'
```
**Example with Python:**
```python theme={null}
response = requests.post(
'https://api.chatfeatured.com/v1/articles/abc123/publish',
json={'status': 'published'},
headers={'Authorization': 'Bearer YOUR_API_KEY'}
)
```
**Example with JavaScript:**
```javascript theme={null}
const response = await fetch(
'https://api.chatfeatured.com/v1/articles/abc123/publish',
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_KEY'
},
body: JSON.stringify({ status: 'published' })
}
);
```
***
## Webhooks
Get notified when articles change status via webhooks.
Webhooks let your application react to events in real-time. For example, automatically sync articles to your CMS when they're published, or send Slack notifications when articles are ready for review.
### Configure Webhooks
1. Go to **Integrations → REST API**
2. Scroll to **Webhooks** section
3. Enter your **Webhook URL**
4. (Optional) Enter a **Signing Secret** for security
5. Select which events to receive:
* Article ready for review
* Article published
6. Save webhook settings
### Webhook Events
**Event: `article.review`**
Fires when an article finishes generating and is ready for review.
```json theme={null}
{
"event": "article.review",
"timestamp": "2026-03-20T12:00:00.000Z",
"data": {
"id": "abc123",
"title": "Your Article Title",
"slug": "your-article-title",
"status": "review",
"excerpt": "A brief excerpt...",
"content": "Full HTML content...
",
"metadata": {
"articleType": "guide",
"description": "A brief excerpt..."
}
}
}
```
**Event: `article.published`**
Fires when an article is published.
```json theme={null}
{
"event": "article.published",
"timestamp": "2026-03-20T12:00:00.000Z",
"data": {
"id": "abc123",
"title": "Your Article Title",
"slug": "your-article-title",
"status": "published",
"publishedAt": "2026-03-20T12:00:00.000Z"
}
}
```
### Webhook Security
If you configured a **Signing Secret**, each webhook includes an `X-Webhook-Signature` header:
```text theme={null}
X-Webhook-Signature: sha256=hex_encoded_signature
```
**Verify the signature with Python:**
```python theme={null}
import hmac
import hashlib
def verify_webhook(payload, signature, secret):
expected = hmac.new(
secret.encode(),
payload.encode(),
hashlib.sha256
).hexdigest()
return hmac.compare_digest(expected, signature)
```
**Verify the signature with JavaScript:**
```javascript theme={null}
const crypto = require('crypto');
function verifyWebhook(payload, signature, secret) {
const expected = crypto
.createHmac('sha256', secret)
.update(payload)
.digest('hex');
return crypto.timingSafeEqual(expected, signature);
}
```
Always verify webhook signatures to ensure requests are genuinely from ChatFeatured.
***
## Error Handling
```json theme={null}
{
"error": "unauthorized",
"message": "Invalid or missing API key"
}
```
**Cause:** Invalid or missing API Key\
**Solution:** Generate new API Key, verify header format (`Authorization: Bearer KEY` or `X-API-Key: KEY`)
```json theme={null}
{
"error": "not_found",
"message": "Article not found"
}
```
**Cause:** Article doesn't exist or wrong ID/slug\
**Solution:** Verify article ID or slug, check if article was deleted
```json theme={null}
{
"error": "rate_limited",
"message": "Too many requests. Retry after 60 seconds"
}
```
**Cause:** Too many requests in short time\
**Solution:** Wait time in `X-RateLimit-Reset` header, implement exponential backoff, reduce frequency
```json theme={null}
{
"error": "server_error",
"message": "An internal error occurred"
}
```
**Cause:** Unexpected server error\
**Solution:** Retry with exponential backoff, check status page, contact support if persists
***
## Rate Limiting
API requests are rate limited per API Key:
* **Free tier:** 100 requests/hour
* **Pro tier:** 1,000 requests/hour
* **Enterprise:** Custom limits
Response headers indicate your remaining quota:
```text theme={null}
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1653313200
```
Check rate limit headers in every response. When you're close to the limit, throttle requests or implement backoff.
***
## Use Cases
### Automated Publishing
```python theme={null}
import requests
import schedule
def publish_article():
response = requests.post(
'https://api.chatfeatured.com/v1/articles/article-123/publish',
json={'status': 'published'},
headers={'Authorization': f'Bearer {API_KEY}'}
)
print(f"Published: {response.json()}")
schedule.every().day.at("09:00").do(publish_article)
```
### Sync to External CMS
```python theme={null}
def sync_to_wordpress(article_id):
# Get article from ChatFeatured
cf_response = requests.get(
f'https://api.chatfeatured.com/v1/articles/{article_id}',
headers={'Authorization': f'Bearer {CF_API_KEY}'}
)
article = cf_response.json()
# Post to WordPress
wp_response = requests.post(
'https://yourwordpress.com/wp-json/wp/v2/posts',
json={
'title': article['title'],
'content': article['content'],
'status': 'publish'
},
auth=('user', 'password')
)
return wp_response.status_code
```
### Monitor Article Status
```python theme={null}
def check_article_status():
response = requests.get(
'https://api.chatfeatured.com/v1/articles?status=review&limit=100',
headers={'Authorization': f'Bearer {API_KEY}'}
)
articles = response.json()['data']
print(f"Articles waiting for review: {len(articles)}")
for article in articles:
print(f"- {article['title']}")
```
***
## Best Practices
* Store API Keys in environment variables
* Use different keys for different applications
* Implement exponential backoff for retries
* Validate webhook signatures
* Handle errors gracefully
**Don't** commit API Keys to version control\
**Don't** share API Keys across applications\
**Don't** expose Keys in client-side code\
**Don't** ignore rate limit headers
***
## Troubleshooting
**Cause:** Invalid API Key
**Solution:**
* Generate new API Key in ChatFeatured
* Verify key is not expired
* Check header format: `Authorization: Bearer KEY` or `X-API-Key: KEY`
* Verify no extra spaces or truncation in key
**Cause:** Too many requests
**Solution:**
* Check `X-RateLimit-Reset` header for wait time
* Implement exponential backoff (1s, 2s, 4s, etc.)
* Reduce request frequency
* Upgrade plan if you need higher limits
**Cause:** URL is unreachable or returns error
**Solution:**
* Verify webhook URL is publicly accessible
* Ensure endpoint returns **200 OK** response
* Check server logs for incoming requests
* Test with a tool like [webhook.cool](https://webhook.cool)
* Verify webhook secret is correct if configured
***
## See Also
* [CMS Integrations](/integrations/wordpress) — Publish to other platforms
* [Index Submissions](/index-submissions/index-submissions) — Submit URLs programmatically
# Vercel
Source: https://docs.chatfeatured.com/integrations/vercel
Track AI bot activity on your website using Vercel Log Drains
**Status:** Available | **Complexity:** Intermediate | **Setup time:** 10-15 minutes | **Plan requirement:** Pro or Enterprise
The Vercel integration enables server-side tracking of AI crawler activity on your website using Vercel Log Drains. This allows you to monitor when AI bots like GPTBot, ClaudeBot, and PerplexityBot access your content.
## Why Use Vercel Log Drains?
Traditional analytics tools rely on JavaScript that runs in the browser. AI crawlers don't execute JavaScript, so they're invisible to tools like Google Analytics.
Vercel Log Drains capture server-side logs from your Edge Functions, Serverless Functions, and static files, giving you complete visibility into how AI platforms discover and index your content.
### Benefits
* Capture AI crawler traffic that JavaScript-based analytics miss
* Zero code changes - Configure entirely through the Vercel dashboard
* Real-time logging - Logs are streamed as requests happen
* Works with any Vercel project - Next.js, static sites, or any other framework
***
## Prerequisites
Before you begin, you'll need:
* A Vercel account on the Pro or Enterprise plan
* A deployed project on Vercel
* A ChatFeatured account with Agent Analytics enabled
Vercel Log Drains are **only available on Pro and Enterprise plans**. If you're on the Hobby plan, consider using our [Cloudflare integration](/integrations/cloudflare) instead.
***
## Setup Instructions
### Step 1: Get Your API Key
1. Log in to ChatFeatured and navigate to your brand
2. Go to **Agent Analytics** > **Settings**
3. Click **Create API Key** and give it a name (e.g., "Vercel Log Drain")
4. Copy the generated API key - you'll need it in Step 9
Create a dedicated API key for Vercel so you can revoke it independently if needed.
### Step 2: Go to Vercel Dashboard
Navigate to [https://vercel.com/dashboard](https://vercel.com/dashboard)
### Step 3: Open Team Settings
Click on your team name in the top-left corner → Select **Settings**
### Step 4: Navigate to Drains
In the left sidebar, click **Drains**
### Step 5: Add a New Drain
Click the **Add Drain** button
### Step 6: Select Data Type
Choose **Logs** from the available options
### Step 7: Configure Basic Settings
* **Name:** `Agent Analytics`
* **Projects:** Select the projects you want to monitor
You can configure the drain for all projects or select specific ones. Start with your production projects.
### Step 8: Configure Log Sources
Expand "Additional configuration for logs":
* **Sources:** Check the following options:
* Static Files
* Edge Functions
* Functions
* **Environments:** Check `Production`
* **Sampling:** Leave at `100%`
These sources include HTTP request data with user agents, which is required for AI bot identification. Don't modify sampling unless you have very high traffic.
### Step 9: Configure Destination
Select the **Custom Endpoint** tab and configure:
| Field | Value |
| -------------- | ------------------------------------------------ |
| Endpoint URL | `https://ingest.chatfeatured.com/v1/logs/vercel` |
| Format | NDJSON |
| Custom Headers | `X-API-Key: YOUR_API_KEY` |
Replace `YOUR_API_KEY` with the API key from Step 1.
**Format Explanation:** NDJSON (newline-delimited JSON) is a streaming format that sends one JSON object per line. This is optimal for log streaming.
### Step 10: Test and Create
1. Click **Test** to verify the connection returns a 200 response
2. Click **Create Drain**
The test connection validates that your endpoint URL and API key are correct before creating the drain.
### Step 11: Verify Setup
Once configured, AI crawler traffic will appear in your Agent Analytics dashboard within a few minutes. Visit your site to generate some traffic, then check your dashboard for incoming data.
***
## How It Works
Vercel Log Drains stream logs from your deployment:
1. **Request arrives** at Vercel's edge
2. **Vercel processes** the request through your application
3. **Logs are generated** containing request metadata (URL, user agent, IP, etc.)
4. **Logs are streamed** to ChatFeatured's ingestion endpoint in real-time (NDJSON format)
5. **AI crawlers identified** and displayed in your analytics dashboard
## What Gets Tracked
The Log Drain captures the following data for each request:
* **Host** - The domain being accessed
* **Path** - The URL path being requested
* **User Agent** - Used to identify AI crawlers
* **IP Address** - For geographic insights
* **Status Code** - The HTTP response status
* **Timestamp** - When the request occurred
* **Request Method** - GET, POST, etc.
ChatFeatured's backend automatically identifies AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Bingbot, etc.) and filters out regular user traffic.
***
## Advanced Configuration
### Filtering Projects
You can configure the Log Drain to only track specific projects:
1. When creating or editing the drain, select specific projects instead of "All Projects"
2. This is useful if you only want to track production marketing sites, not development projects
3. You can create multiple drains with different project filters
### Multi-Environment Tracking
To track multiple environments:
1. Create separate drains for each environment (Production, Preview, Development)
2. Use different drain names to distinguish them (e.g., "Agent Analytics - Production")
3. Filter by environment in each drain configuration
### Custom Endpoint Headers
If you need to pass additional headers:
1. In the Custom Headers field, you can add multiple headers separated by newlines
2. Format: `Header-Name: value`
3. Example:
```text theme={null}
X-API-Key: YOUR_API_KEY
X-Environment: production
X-Project: my-site
```
***
## Troubleshooting
1. **Verify the drain is active** - Check the Drains page in Vercel settings
2. **Check the API key** - Ensure the `X-API-Key` header is set correctly
3. **Test the connection** - Use the Test button in the drain settings
4. **Check log sources** - Ensure Static Files, Edge Functions, and Functions are selected
5. **Verify Production environment** - Make sure Production is selected in log sources
1. Verify the endpoint URL is exactly `https://ingest.chatfeatured.com/v1/logs/vercel`
2. Ensure the format is set to **NDJSON** (not JSON)
3. Check that your API key is valid and active
4. Try generating a new API key in ChatFeatured if the current one isn't working
1. Ensure **Production** environment is selected
2. Check that **sampling is set to 100%** (reducing sampling will skip logs)
3. Verify that the relevant log sources are checked (Static Files, Edge Functions, Functions)
4. Wait 2-3 minutes for logs to process and appear in the dashboard
1. Click on the drain to view error details
2. Re-test the connection using the Test button
3. Verify your endpoint URL and API key haven't changed
4. If the error persists, try removing and recreating the drain
1. Verify that NDJSON format is being used (not JSON, which is less efficient)
2. Reduce sampling rate if you have extremely high traffic (note: this will lose data)
3. Filter to specific projects if you don't need all projects tracked
4. Contact Vercel support if you're experiencing performance issues
1. Generate a new API key in ChatFeatured
2. Go to your Vercel Log Drain settings
3. Update the `X-API-Key` header with the new key
4. Click **Test** to verify the connection
5. Save the changes
***
## Best Practices
### Setup & Configuration
* Use dedicated API keys for each integration
* Test the connection before finalizing setup
* Start with production projects before adding non-production
* Monitor your Vercel dashboard for drain status
### Monitoring & Maintenance
* Regularly check your Agent Analytics dashboard for data flow
* Rotate API keys periodically from ChatFeatured settings
* Archive old data if you need to free up quota
### Optimization
* Use project filtering if you have many Vercel projects
* Keep sampling at 100% for accurate bot tracking
* Review log sources to match your tracking needs
***
## Performance Notes
**Setup Latency:**
* No impact on your site performance (drains don't block requests)
* Log delivery to ChatFeatured happens asynchronously
**Log Delivery:**
* Real-time streaming (logs appear in ChatFeatured within seconds)
* NDJSON format optimizes for throughput
**Throughput:**
* Can handle high-volume production sites
* Scales automatically with your Vercel plan
***
## Security & Best Practices
### API Key Management
* Create a dedicated API key for Vercel (don't reuse keys)
* Rotate keys periodically from the ChatFeatured dashboard
* Revoke keys immediately if you suspect compromise
* Never commit keys to version control or public repositories
### Data Privacy
* Only request metadata is logged (no page content or user data)
* IP addresses are used for geographic aggregation only
* All data is transmitted over HTTPS
* ChatFeatured is GDPR compliant
***
## Pricing
Vercel Log Drains availability by plan:
| Plan | Log Drains |
| ---------- | ------------- |
| Hobby | Not available |
| Pro | Included |
| Enterprise | Included |
Log Drains require a Vercel Pro or Enterprise plan. If you're on the Hobby plan, consider using our [Cloudflare integration](/integrations/cloudflare) instead.
***
## Next Steps
Once your Vercel integration is set up:
1. **Monitor your dashboard** - Check Agent Analytics to see AI crawler activity
2. **Track citations** - See which pages AI models cite in their responses
3. **Optimize content** - Use insights to improve AI visibility for high-traffic pages
4. **Correlate with performance** - Compare AI traffic patterns with your site metrics
For more information on using Agent Analytics, see [Setting up Agent Analytics](/using-chatfeatured/agent-analytics).
***
## See Also
* [Cloudflare Integration](/integrations/cloudflare) — Alternative for non-Vercel hosting
* [Agent Analytics](/using-chatfeatured/agent-analytics) — Understanding your data
# Webflow Integration
Source: https://docs.chatfeatured.com/integrations/webflow
Sync articles from ChatFeatured to your Webflow CMS
The ChatFeatured Webflow integration allows you to publish articles directly to your Webflow site by connecting via API token. Articles sync with your Webflow CMS collection structure automatically.
**Status:** Available | **Setup time:** 10-15 minutes | **Complexity:** Beginner
## Why Webflow?
Webflow's API-based integration gives you flexibility with your CMS structure. ChatFeatured automatically maps article fields (title, slug, body) to your Webflow collection, and you can configure optional field mappings for custom metadata.
The Webflow integration uses their API to sync content directly into your collections. This means no plugin installation needed—just authenticate with your API token and start publishing.
***
## Setup Instructions
### Step 1: Get Your Webflow API Token
1. Log in to your **Webflow Dashboard**
2. Click your account name (top-left) → **Settings**
3. Navigate to **Apps & Integrations → API access**
4. Scroll to **API access** section
5. Click **Generate API token**
6. Enable these scopes: `sites:read`, `cms:read`, `cms:write`
7. Copy the generated token (save it securely)
Keep your API token secret—it grants full CMS access to your Webflow site. Never share it or commit it to version control. You can regenerate it anytime from Webflow settings.
### Step 2: Select Your Site and Collection
1. In ChatFeatured, go to **Integrations → Webflow**
2. Enter your **Webflow API Token**
3. Click **Test Connection** to authorize
4. Select your **Webflow site** from the dropdown
5. Select the **CMS collection** where you want articles published (should have fields for title, slug, and body at minimum)
ChatFeatured will auto-detect your collection structure and available fields. This makes field mapping easier.
### Step 3: Map Your Fields
ChatFeatured automatically maps these fields:
* **Title** → Your collection's title field
* **Slug** → Your collection's slug field
* **Body** → Your collection's body/content field
**Optional:** If you have custom fields (excerpt, author, featured image, etc.), configure mappings now. You can also map these after publishing.
Set up all your custom field mappings during initial setup to avoid manual editing later. This saves time when publishing multiple articles.
### Step 4: Start Publishing
1. Generate an article in ChatFeatured
2. Click **Publish**
3. Select **Webflow** as destination
4. Configure publishing options:
* **Status:** Draft or Published
* **Collection:** Choose which collection
5. Click **Publish to Webflow**
Your article will appear in your Webflow CMS collection immediately.
***
## Publishing Options
### Article Status
* **Draft** — Article saves as unpublished in Webflow, visible only in CMS editor
* **Published** — Article immediately appears on your live site
### Field Mapping
ChatFeatured syncs these fields by default:
| ChatFeatured Field | Webflow Field |
| ------------------ | ----------------------------- |
| Title | Title |
| Slug | Slug |
| Content | Body |
| Excerpt | Description (if available) |
| Featured Image | Featured Image (if available) |
Custom fields can be mapped during setup or edited post-publish in Webflow.
***
## Advanced Features
### Collection-Specific Publishing
If you have multiple collections (Blog, News, Resources), you can publish to different collections. ChatFeatured remembers your last selection.
### Draft & Publish Workflow
Publish as draft, review in Webflow, then publish live when ready. This preserves Webflow's editorial workflow.
Always publish as draft first to review the article in your Webflow editor. This lets you catch any formatting issues before going live.
### Bulk Publishing
If you generate multiple articles, you can publish them all to Webflow in batch. Each will sync to your collection.
***
## Best Practices
* Map all relevant fields during setup for better automation
* Publish as draft first to review before going live
* Keep your API token secret and rotate it periodically
* Test with one article before bulk publishing
**Don't** share your API token\
**Don't** delete articles from ChatFeatured once published to Webflow (they won't sync)\
**Don't** manually edit slug in Webflow after ChatFeatured publish (can cause sync issues)
***
## Troubleshooting
**Cause:** Token is expired, invalid, or missing required scopes
**Solution:**
* Generate a new API token in Webflow Settings
* Verify you enabled `cms:read` and `cms:write` scopes
* Copy the entire token (no spaces or truncation)
**Cause:** Collection doesn't exist or API token lacks access
**Solution:**
* Verify the collection exists in your Webflow site
* Regenerate your API token with proper permissions
* Ensure the collection has at least Title, Slug, and Body fields
**Cause:** Field mapping is incorrect
**Solution:**
* Check that your Webflow collection has matching field types
* Re-run field mapping in ChatFeatured settings
* Manually edit the article in Webflow to fill missing fields
**Cause:** An article with that slug already exists in your collection
**Solution:**
* Modify the slug in ChatFeatured before publishing
* Or: publish with a unique slug, then change it in Webflow
**Cause:** Too many requests to Webflow API in short time
**Solution:**
* Wait a few minutes before publishing again
* Publish articles in smaller batches
* Contact Webflow support if limit is too restrictive
**Cause:** Webflow may require admin permissions
**Solution:**
* Try with a different user role with higher permissions
* Verify the API token was generated with an admin account
**Cause:** Required fields are not mapped or field types don't match
**Solution:**
* Check all required fields are mapped
* Verify field types match (text, long text, etc.)
* Re-test the connection in ChatFeatured
**Cause:** Image URLs are private or blocked
**Solution:**
* Ensure image URLs are public and not blocked
* Webflow requires accessible image URLs for syncing
* Test the image URL in your browser to verify accessibility
**Cause:** Webflow API doesn't support scheduled publishing
**Solution:**
* Publish as draft and schedule in Webflow editor instead
* Or publish immediately and adjust dates in Webflow manually
***
## See Also
* [Agent Analytics with Webflow](/integrations/webflow-agent-analytics) — Track AI bot activity on a Webflow-hosted site
* [WordPress Integration](/integrations/wordpress) — Native plugin setup
* [Framer Integration](/integrations/framer-integration) — Similar CMS sync approach
* [REST API](/integrations/rest-api) — Direct API access without CMS
# Agent Analytics with Webflow
Source: https://docs.chatfeatured.com/integrations/webflow-agent-analytics
Track AI bot activity on a Webflow-hosted site using Cloudflare Workers and Orange-to-Orange (O2O)
This guide explains how to set up [Agent Analytics](/using-chatfeatured/agent-analytics) on a website hosted with Webflow.
**Status:** Available | **Complexity:** Advanced | **Setup time:** 30-60 minutes (plus DNS propagation)
## The challenge with Webflow
ChatFeatured tracks AI crawler traffic using a [Cloudflare Worker](/integrations/cloudflare) that runs at the edge on your domain's Cloudflare zone. The Worker captures requests from AI bots (GPTBot, ClaudeBot, PerplexityBot, etc.) before they reach your origin.
Webflow doesn't give you direct access to the Cloudflare zone that serves your site, so you can't deploy a Worker on it. The solution is to put **your own** Cloudflare account in front of Webflow.
Because Webflow itself runs on Cloudflare, you also need to enable a feature called **Orange-to-Orange (O2O)**. O2O lets traffic flow through your Cloudflare zone first—where your Worker runs—before continuing on to Webflow's Cloudflare-backed hosting.
"Orange-to-Orange" refers to the orange cloud (proxy enabled) icon in Cloudflare DNS. O2O is required whenever one Cloudflare zone proxies traffic to another Cloudflare-hosted platform like Webflow. See Webflow's guide: [Using Cloudflare Orange-to-Orange (O2O) with Webflow](https://help.webflow.com/hc/en-us/articles/45039458051347-Using-Cloudflare-Orange-to-Orange-O2O-with-Webflow).
## How it works
Once configured, requests to your site flow like this:
1. **Visitor or AI bot** requests a page on your domain
2. **Your Cloudflare zone** receives the request first (your nameservers point here)
3. **The ChatFeatured Worker** runs at the edge and logs the request asynchronously
4. **O2O forwards the request** to Webflow, which serves your site
5. **Bot activity** appears in your Agent Analytics dashboard
This adds zero latency to page loads—the Worker logs requests without blocking them.
## Prerequisites
Before you begin, you'll need:
* A custom domain (e.g., `yourdomain.com`)
* A [Cloudflare account](https://dash.cloudflare.com) (the free zone plan works)
* A paid Webflow Site plan with a custom domain
* A ChatFeatured account with Agent Analytics enabled
* Access to your domain registrar to update nameservers
If your domain currently points to Webflow directly (using Webflow's A records or `proxy-ssl.webflow.com`), you'll be changing how DNS is managed. Plan this during a low-traffic window, since nameserver changes can take up to 48 hours to fully propagate.
## Setup overview
There are three high-level stages:
1. Move DNS management to your own Cloudflare account and point it at Webflow
2. Enable Orange-to-Orange (O2O) so traffic routes through your Cloudflare zone first
3. Deploy the ChatFeatured Cloudflare Worker for Agent Analytics
***
## Step 1: Manage your DNS in Cloudflare and point it to Webflow
First, bring your domain into your own Cloudflare account so you control the zone that the Worker will run on.
1. In the [Cloudflare dashboard](https://dash.cloudflare.com), click **Add a domain** (or **Onboard a domain**)
2. Enter your root (apex) domain (e.g., `yourdomain.com`) and complete the setup steps
3. Update your domain's **nameservers** at your registrar to the ones Cloudflare provides
4. Wait for the nameservers to propagate before continuing
You can confirm propagation with a free DNS checker like [whatsmydns.net](https://whatsmydns.net): enter your domain, choose **NS** from the dropdown, and search. Wait until all locations show your new Cloudflare nameservers.
***
## Step 2: Configure O2O with Webflow
With your domain in Cloudflare, configure the proxied DNS records that enable O2O, then connect the domain in Webflow.
### Create proxied CNAME records in Cloudflare
In your domain's **DNS** settings in Cloudflare, create a **proxied** (orange cloud) `CNAME` record for each version of your domain:
| Type | Name | Target | Proxy status |
| ----- | ----- | ----------------- | ---------------------- |
| CNAME | `@` | `cdn.webflow.com` | Proxied (orange cloud) |
| CNAME | `www` | `cdn.webflow.com` | Proxied (orange cloud) |
Most sites use both the root domain (`@`) and the `www` subdomain. If you use additional subdomains (e.g., `blog.yourdomain.com`), add a proxied record for each one.
The proxy (orange cloud) **must** be enabled for O2O to work. If you leave records on "DNS only" (grey cloud), the Worker won't run on that traffic. If you see a **525 Handshake Error** on standard Webflow hosting, that indicates a proxy mismatch—follow Webflow's [O2O setup](https://help.webflow.com/hc/en-us/articles/45039458051347-Using-Cloudflare-Orange-to-Orange-O2O-with-Webflow) rather than disabling the proxy.
### Connect and publish your domain in Webflow
1. In Webflow, go to **Site settings → Publishing → Production**
2. **Quick connect** your custom domain (recommended), or connect it manually
3. Click **Verify domain** to confirm the connection
4. Set a default domain and **publish** your site
After enabling the Cloudflare proxy, Webflow may still show "Update needed" under **Publishing → Production**. This is expected—the proxy hides your DNS records from Webflow's verification check. If your site loads correctly, no action is needed.
If your domain uses CAA records, make sure they allow **Let's Encrypt** and **Google Trust Services** so Webflow can provision SSL. If your zone uses Cloudflare's **Zone Hold** feature, release it until SSL is issued, then re-enable it.
***
## Step 3: Set up the ChatFeatured Cloudflare Worker
Now that traffic routes through your Cloudflare zone, deploy the Agent Analytics Worker on it.
1. Create an API key in ChatFeatured under **Agent Analytics → Settings**
2. Create and deploy the ChatFeatured Worker in your Cloudflare account
3. Configure the `ANALYTICS_ENDPOINT` and `ANALYTICS_KEY` environment variables
4. Add a Worker Route (e.g., `*yourdomain.com/*`) so the Worker runs on all pages
Follow the full [Cloudflare Integration](/integrations/cloudflare) guide for the Worker code, environment variables, and route configuration.
Because you've enabled O2O, the Worker Route you add in this step now applies to all traffic to your Webflow site—including AI crawlers.
***
## Verify your setup
1. Visit a few pages on your live site in a browser to confirm it loads correctly through Cloudflare
2. Check your Worker's **Real-time Logs** in Cloudflare for incoming requests
3. Open the Agent Analytics dashboard in ChatFeatured—AI crawler activity should appear within a few minutes
Once data is flowing, you'll be able to track AI search citations across your Webflow site.
***
## Troubleshooting
The Cloudflare proxy (orange cloud) is enabled but O2O isn't fully configured. Make sure your `CNAME` records target `cdn.webflow.com` and that you've connected and verified the domain in Webflow. See Webflow's [O2O guide](https://help.webflow.com/hc/en-us/articles/45039458051347-Using-Cloudflare-Orange-to-Orange-O2O-with-Webflow).
If your domain was previously hosted on another Cloudflare-backed platform (Shopify, WP Engine, etc.), remove it from that platform first. Wait at least 5 minutes before re-verifying in Webflow.
1. Confirm the DNS records are **Proxied** (orange cloud), not DNS only
2. Verify the Worker Route covers your domain (e.g., `*yourdomain.com/*`)
3. Check that `ANALYTICS_ENDPOINT` and `ANALYTICS_KEY` are set on the Worker
4. Review the Worker's Real-time Logs for errors
See the [Cloudflare Integration troubleshooting](/integrations/cloudflare#troubleshooting) section for more.
Check that your CAA records allow Let's Encrypt and Google Trust Services, and release any Cloudflare **Zone Hold** until SSL provisioning completes.
***
## See Also
* [Cloudflare Integration](/integrations/cloudflare) — Full Worker setup and code
* [Setting up Agent Analytics](/using-chatfeatured/agent-analytics) — Understanding your data
* [Webflow Integration](/integrations/webflow) — Publishing articles to your Webflow CMS
# Wordpress
Source: https://docs.chatfeatured.com/integrations/wordpress
Connect WordPress for content publishing, AI crawler analytics, and index submissions
**Status:** Available | **Complexity:** Beginner | **Setup time:** 10-15 minutes
The WordPress integration allows you to publish content directly from ChatFeatured, track AI crawler activity on your WordPress site, and automatically submit new URLs to search engines.
**Install the plugin on your production site, not your staging site.**
Agent Analytics and Index Submissions only generate useful data from the WordPress instance that real visitors and AI crawlers actually hit. If you install the plugin on a staging or local site:
* **Agent Analytics** will see little to no AI crawler traffic, because bots like GPTBot, ClaudeBot, and PerplexityBot crawl your live domain
* **Index Submissions** will submit staging URLs (which usually aren't indexable) instead of your real pages
**Prefer not to publish directly to production?** You don't have to. Open any article in ChatFeatured and use the **Export** menu in the top-right to:
* **Copy HTML**, **Copy Rich Text**, or **Copy Markdown** — paste into the WordPress editor manually
* **Download DOCX** — import via a WordPress DOCX import plugin or your editorial workflow
This way you still get Agent Analytics and Index Submissions on your production site without giving ChatFeatured publish access.
## Features
Publish content created in ChatFeatured directly to WordPress with full control over post status, categories, and featured images.
Track which AI bots (GPTBot, ClaudeBot, etc.) are crawling your site and which pages they're accessing.
Automatically submit new and updated URLs to search engines for faster discovery.
## Setup Requirements
* WordPress 5.0 or higher
* Administrator access to your WordPress site
* PHP 7.4 or higher
## Installation & Connection
### Step 1: Download the Plugin
1. Log in to ChatFeatured
2. Go to **Integrations** → **WordPress**
3. Click **Download Plugin** to get `chatfeatured-wordpress.zip`
### Step 2: Install on WordPress
1. Log in to your WordPress admin dashboard at `yourdomain.com/wp-admin`
2. Go to **Plugins** → **Add New** → **Upload Plugin**
3. Click "Choose File" and select the downloaded zip file
4. Click **Install Now**, then **Activate**
After activation, you'll see a new **ChatFeatured** menu item in your WordPress admin sidebar.
### Step 3: Generate API Token
1. In WordPress admin, go to **ChatFeatured** → **Publishing**
2. Click **Generate New Token**
3. Copy the generated token (it starts with `cf_`)
Keep this token secure—it grants publish access to your WordPress site. You can regenerate it at any time if compromised.
### Step 4: Connect in ChatFeatured
1. In ChatFeatured, go to **Integrations** → **WordPress**
2. Enter your WordPress site URL (e.g., `https://yourblog.com`)
3. Paste the API token you copied from WordPress
4. Click **Connect WordPress**
Once connected, you'll see a "Connected" status and can enable the features you want to use.
***
## Enabling Features
After connecting WordPress, toggle each feature on the WordPress integration page:
### Content Publishing
Publish content directly from ChatFeatured to WordPress:
1. Enable the **Publishing** toggle
2. Create content (manually or with the [Content Agent](/ai-agents/content-agent))
3. Click **Publish to WordPress**
4. Configure post settings:
* **Status**: Draft, Publish, or Scheduled
* **Categories**: Select or create categories
* **Tags**: Add relevant tags
* **Author**: Map to a WordPress user
* **Featured Image**: Upload or provide URL
5. Click **Publish**
**Post Status Options:**
| Status | Description |
| --------- | ------------------------------------- |
| Draft | Saved but not visible to visitors |
| Publish | Live on your site immediately |
| Scheduled | Will publish at a specified date/time |
### Agent Analytics
Track which AI bots are crawling your WordPress site:
1. Enable the **Agent Analytics** toggle
2. The plugin automatically captures HTTP request logs from your site
3. AI crawler visits flow to ChatFeatured for analysis
4. View analytics in your **Agent Analytics** dashboard
**AI Bots Tracked:**
* **GPTBot** (OpenAI/ChatGPT)
* **ClaudeBot** (Anthropic/Claude)
* **Google-Extended** (Google AI)
* **PerplexityBot** (Perplexity)
* **Googlebot** and other crawlers
The plugin is designed for minimal performance impact with queue-based batch sending and automatic filtering of admin pages and static assets.
### Index Submissions
Automatically submit new and updated URLs to search engines for faster indexing:
1. Enable the **Index Submissions** toggle
2. The plugin automatically submits URLs when you publish or update posts
3. View submission history in your **Index Submissions** dashboard
Index Submissions requires verification. After enabling, you may see a "Pending Verification" status while the key is verified with your site.
***
## Best Practices
### Content Publishing
* Test with draft posts first before publishing live
* Set up appropriate author mappings
* Use categories and tags consistently
* Review posts in WordPress after publishing
### Agent Analytics
* Enable analytics before making major content changes
* Use data to understand which content AI models access
* Correlate crawler activity with visibility improvements
### Index Submissions
* Enable for all sites where you want faster search engine indexing
* Works automatically when you publish or update posts
* Monitor the Index Submissions dashboard to verify URLs are being submitted
***
## Troubleshooting
**Solutions:**
1. Verify the WordPress URL is correct (include `https://`)
2. Check that the ChatFeatured plugin is activated in WordPress
3. Ensure the API token is correct (should start with `cf_`)
4. Verify your site is publicly accessible
**Solutions:**
1. Go to **ChatFeatured** → **Publishing** in WordPress
2. Generate a new API token
3. Update the token in ChatFeatured and reconnect
Your web server is removing the `Authorization` header before WordPress ever
sees it, so the plugin never gets the chance to check your token. Generating a
new token will not help — every token fails the same way until the server is
fixed.
This is a server configuration change, so your host or sysadmin needs to make
it. On Apache, either works:
```apache theme={null}
# Apache 2.4.13+ running PHP-FPM, in the vhost or directory config
CGIPassAuth On
```
```apache theme={null}
# Or in the .htaccess at your WordPress root, above the # BEGIN WordPress block
RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.+)$
RewriteRule ^ - [E=HTTP_AUTHORIZATION:%1]
```
Some managed hosts strip the header at their edge and need a support ticket
instead. A security or hardening plugin can also remove it — worth ruling out
before changing server config.
To confirm the fix, run this against your site:
```bash theme={null}
curl -H "Authorization: Bearer anything" \
"https://yoursite.com/?rest_route=/chatfeatured/v1/ping"
```
While the header is being stripped you get `chatfeatured_missing_token`. Once
it reaches WordPress you get `chatfeatured_invalid_token` instead — that means
the header is arriving and your real token will now work.
**Solutions:**
1. Check that the WordPress user has publish permissions
2. Verify the Publishing feature is enabled (toggle on)
3. Check WordPress error logs for details
**Solutions:**
1. Ensure the image URL is publicly accessible
2. Check that the image format is supported (JPG, PNG, GIF, WebP)
3. Verify WordPress has write permissions to the uploads directory
**Solutions:**
1. Verify the Agent Analytics toggle is enabled
2. Allow 24-48 hours for data to accumulate
3. Crawler visits depend on your site's visibility to AI bots
4. Check that your site isn't blocking bot traffic
**Solutions:**
1. The key file needs to be accessible at your site root
2. The plugin should create this automatically—check if it exists
3. Try disabling and re-enabling Index Submissions
***
## Advanced Setup
### WP-CLI Commands
For advanced users, the plugin includes WP-CLI commands:
```bash theme={null}
# Show plugin status
wp chatfeatured status
# Process the analytics queue manually
wp chatfeatured process-queue
# Send a test event
wp chatfeatured test-event
# Generate a new publishing token
wp chatfeatured generate-token
# Clear the analytics queue
wp chatfeatured clear-queue --yes
```
### Plugin Permissions
The plugin requires:
* Read/write access to posts
* Access to categories and tags
* Media upload permissions
* Ability to log HTTP requests (for Agent Analytics)
These are standard WordPress capabilities for content management.
***
## Security & Best Practices
### API Token Security
* Treat your API token like a password (it starts with `cf_`)
* Regenerate tokens if compromised
* The token grants publish access to your WordPress site
* Create separate tokens for different integrations
### Data Privacy
* Only request metadata is logged (no page content or user data)
* ChatFeatured is GDPR compliant
* All data transmitted over HTTPS
***
## See Also
* [Agent Analytics](/using-chatfeatured/agent-analytics) — Understanding AI crawler activity
* [Index Submissions](/index-submissions/index-submissions) — AI search engine submission
* [Content Agent](/ai-agents/content-agent) — Automated content creation
# Brand Book
Source: https://docs.chatfeatured.com/untitled-page
Define your brand identity, tone of voice, buyer personas, and custom agent rules to ground every AI-generated article and analysis.
The **Brand Book** is the central identity module for your brand in ChatFeatured. It defines who your company is, how your brand name appears across search engines, what industry and product categories you operate in, and who your target buyer personas are.
**Zero-Effort Automated Setup:** When you add your website domain during onboarding, ChatFeatured automatically crawls your site and pre-populates your Brand Book fields — including your company description, name variations, industry classification, product categories, and buyer personas. You have complete control to review, edit, or update these fields at any time.
***
## Brand Book Structure
The Brand Book is organized into two dedicated tabs:
Core company metadata, regional targeting, name variations, descriptions, industry classification, and product/service categories.
Detailed buyer personas, target job titles, customer pain points, and decision criteria.
***
## Tab 1: Brand Details
The **Brand Details** tab contains the foundational metadata used by the [AEO Agent](/ai-agents/overview) and analytics tracking engine:
* **Company Name:** Your official company or product brand name (e.g., `ChatFeatured`).
* **Domain:** Your primary website URL (e.g., `https://chatfeatured.com`).
* **Country:** The primary geographic market for tracking search results (e.g., `United States`, `United Kingdom`, `Germany`). AI engine answers and search rankings are localized to this region.
* **Name Variations (Aliases):** Alternative names, acronyms, common misspellings, or previous brand names that AI models might use when referring to your company (e.g., `Chat Featured`, `ChatFeatured AI`, `Chatfeatured.com`).
**Why this matters for AEO:** AI models frequently cite brands using abbreviations or colloquial names. Adding all variations ensures that every time an AI model mentions your brand under any alias, it is accurately counted in your **Visibility (%)** and **Share of Voice (SoV)** metrics.
* **Short Description:** A concise 1–2 sentence elevator pitch summarizing your core product and value proposition.
* **Description:** A comprehensive multi-paragraph overview of your company, core technology, key features, and unique selling proposition (USP).
* **Industry:** Your primary market vertical (e.g., *B2B SaaS*, *MarTech*, *E-commerce*, *Cybersecurity*, *Fintech*).
* **Product/Service Categories:** The specific feature buckets, solution areas, or product types you offer (e.g., *Answer Engine Optimization*, *AI Search Tracking*, *AEO Content Generation*).
***
## Tab 2: Personas
The **Personas** tab lets you define the specific audience segments and decision-makers your content and brand positioning target.
Each persona profile includes:
* **Persona Name & Role:** The target title or profile (e.g., *Enterprise VP of Marketing*, *SEO / Content Director*, *E-commerce Store Owner*).
* **Target Job Titles:** Specific positions to tailor messaging toward (e.g., *CMO*, *Head of Growth*, *Lead Architect*).
* **Core Pain Points:** The operational bottlenecks, frustrations, or challenges that lead them to search for a solution like yours.
* **Goals & Buying Drivers:** What they evaluate when choosing a provider (e.g., *demonstrated ROI*, *enterprise security/SOC2*, *speed of integration*, *pricing transparency*).
***
## How the AEO Agent Uses Your Brand Book
The Brand Book serves as a primary context layer across the entire ChatFeatured platform:
The analytics pipeline uses your **Company Name** and **Name Variations** to track mentions across all 7 AI answer engines (ChatGPT, Claude, Gemini, Perplexity, Google AI Mode, Grok, Copilot).
ChatFeatured leverages your **Industry**, **Product/Service Categories**, and **Descriptions** to automatically discover and baseline high-intent commercial prompts relevant to your business.
When generating article ideas or drafting content in `content` mode, the AEO Agent reads your **Descriptions** and **Personas** to ensure every piece is written for the correct target audience with accurate company context.
***
## Brand Book vs. Knowledge Base
To ensure clean workspace configuration, here is how the Brand Book and Knowledge Base divide responsibilities:
| Feature | Brand Book | Knowledge Base |
| :----------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Location** | **Brand Book** page | **Knowledge Base** page |
| **Content Stored** | Structured brand metadata: Company name, domain, country, name variations/aliases, descriptions, industry taxonomy, product/service categories, and buyer personas. | **Brand voice guidelines**, **editorial style guides**, tone rules, source collateral, product specs, pricing sheets, whitepapers, and scraped URLs. |
| **Setup Method** | Auto-populated on domain entry; fully editable in UI | Ingested via URL scraping, raw text entries, or file uploads (`.pdf`, `.docx`, `.md`) |
| **Agent Role** | Defines **who** your company is, aliases for mention tracking, and **who** you target (personas) | Dictates **how** to write (tone, style, editorial constraints) and **what** facts, specs, and evidence to cite |
**Where do Tone and Style Guidelines go?** Detailed editorial rules, tone-of-voice guidelines, formatting constraints, and forbidden word lists should be added directly to the [Knowledge Base](/using-chatfeatured/knowledge-base). The AEO Agent dynamically retrieves your style guide alongside product collateral during article generation.
***
## Editing & Managing Your Brand Book
Navigate to **Brand Book** in the sidebar. Check the auto-generated **Description**, **Industry**, and **Product Categories** to verify they reflect your current positioning.
Ensure all common abbreviations, acronyms, and product aliases are listed under **Name Variations** to avoid missing brand mentions in analytics.
Switch to the **Personas** tab. Review the auto-detected buyer personas, adjust their pain points, or click **Add Persona** to create custom target profiles.
Click **Save Changes**. Updated information immediately syncs across the AEO Agent and tracking pipelines.
***
## Related Guides
Upload technical PDFs, URLs, and collateral to ground the AEO Agent in product data.
Manage the search prompts discovered based on your Brand Book categories.
Generate and approve AEO articles tailored to your buyer personas.
Track competitor brands competing across your product categories.
# ChatFeatured Hosted Blog CMS
Source: https://docs.chatfeatured.com/untitled-page-2
Launch a blazing-fast, AEO-optimized blog hosted natively by ChatFeatured—no external CMS or technical setup required.
The **ChatFeatured Hosted Blog CMS** is a zero-configuration, natively hosted publishing platform built specifically for Answer Engine Optimization (AEO). If you don't use WordPress, Webflow, Shopify, or Ghost—or prefer not to manage external plugins—ChatFeatured provides a standalone, edge-rendered blog optimized for AI search engines out of the box.
Every article you generate in ChatFeatured can be published to your hosted blog with a single click, instantly indexed with structured JSON-LD schema, dynamic XML sitemaps, and machine-readable `llms.txt` files.
***
## Why Use the ChatFeatured Blog CMS?
Pre-configured with semantic HTML5, clean citation anchor formatting, and structured schema so AI search models can easily extract and cite your content.
Automatically compiles and serves an `/llms.txt` file listing all published articles, allowing models like Perplexity and ChatGPT to ingest your content instantly.
Guaranteed open access for all major AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended) with zero accidental firewall or WAF blocks.
Host seamlessly under your own custom subdomain (e.g., `blog.scotiabank.com`) styled with your company logo, fonts, and primary brand colors.
***
## Technical Features & Performance
Unlike generic content management systems that require complex caching plugins and third-party SEO extensions, the ChatFeatured Blog CMS handles all technical optimization automatically:
| Feature | ChatFeatured Hosted Blog | Traditional CMS |
| :-------------------------- | :------------------------------------------------ | :-------------------------------------------------- |
| **Setup Time** | Fast (under 20 minutes) | Hours/Days (plugins, themes, hosting setup) |
| **JSON-LD Structured Data** | Built-in (`Article`, `FAQPage`, `BreadcrumbList`) | Requires SEO plugins & manual configuration |
| **`llms.txt` Feed** | Auto-generated and updated in real time | Requires custom server scripts or static generation |
| **Edge Rendering & CDN** | Global sub-50ms TTFB edge caching | Dependent on third-party hosting tiers |
| **Bot Rate-Limiting** | Whitelisted for AI web crawlers | Frequent accidental blocks by generic WAFs |
| **Publishing Pipeline** | Direct 1-click push from the AEO Agent | Manual copy-pasting or webhook configuration |
***
## Connecting a Custom Subdomain
To serve your ChatFeatured blog from your own branded domain (for example, `blog.scotiabank.com`), add a single `CNAME` record at your domain registrar or DNS provider.
**Most Important Setup Step:** Add this CNAME record at your domain registrar to point `blog.scotiabank.com` to your blog:
| Type | Name | Value |
| :------ | :----- | :--------------------------- |
| `CNAME` | `blog` | `customers.chatfeatured.com` |
*(Replace `blog` with whatever subdomain prefix you choose, e.g., `resources` or `articles`).*
### Registrar Step-by-Step Guides
DNS configuration varies slightly depending on where your domain is hosted. We have dedicated, step-by-step guides for each major provider, found under **Blog CMS → Domain → DNS Setup**:
**Step-by-step guide**
Configure CNAME records and SSL proxy settings in Cloudflare DNS.
**Step-by-step guide**
Add custom DNS records via Namecheap's Advanced DNS manager.
**Step-by-step guide**
Add your CNAME record within the GoDaddy DNS Management portal.
***
## Setup Instructions
Navigate to **Integrations** in your ChatFeatured sidebar, find **ChatFeatured Blog**, and click **Activate**.
Enter your desired custom subdomain (e.g., `blog.scotiabank.com`).
Log into your domain registrar (Cloudflare, Namecheap, GoDaddy, etc.) and add the CNAME record pointing your host `blog` to `customers.chatfeatured.com`.
Once your CNAME record resolves, ChatFeatured automatically provisions and auto-renews an SSL/TLS certificate via Let's Encrypt.
Under **Settings** > **Blog Customization**:
* Upload your **Brand Logo** and **Favicon**.
* Set your **Primary Brand Color** (applied to links, buttons, and callout boxes).
* Add navigation header links back to your main website or product pages.
* Add custom footer links (Privacy Policy, Terms of Service, Contact).
***
## Publishing to Your Hosted Blog
Once activated, the ChatFeatured Blog is available as an instant publishing destination across the platform:
1. Navigate to **Articles** in your sidebar.
2. Open any article in **Review** or **Approved** status.
3. Click **Publish** and select **ChatFeatured Blog**.
4. Confirm the auto-generated URL slug, meta title, meta description, and featured image.
5. Select **Publish Now** or schedule the article for a future date.
Direct the [AEO Agent](/ai-agents/overview) to draft and publish conversationally:
* *"Publish our approved comparison article 'ChatFeatured vs Competitor X' directly to our hosted blog."*
* *"Review all pending articles in the queue and schedule them on our hosted blog twice a week."*
***
## Built-In AI Engine Optimizations
Every post published on the ChatFeatured Blog CMS automatically includes:
ChatFeatured automatically generates and maintains machine-readable markdown indexes at:
* `blog.scotiabank.com/llms.txt` — Structured summary of all published articles and key topics.
* `blog.scotiabank.com/llms-full.txt` — Full clean markdown content for rapid AI engine training and ingestion.
Articles are automatically enriched with Google- and AI-compliant JSON-LD structured data:
* `Article` schema with author attribution, publishing date, and canonical tags.
* `FAQPage` schema automatically extracted from FAQ sections in your posts, boosting inclusion in Google AI Overviews and conversational answer engine citations.
All headings, comparison tables, key takeaways, and external sources are formatted with clean semantic HTML tags (``, ``, ``, ``) to ensure AI crawlers accurately parse facts and entities.
***
## Managing Articles & Redirects
* **Live URL Updates:** Editing an article title in ChatFeatured will keep the existing URL slug intact to preserve search rankings. You can manually edit the slug if needed.
* **Unpublishing:** Archiving or deleting an article from your ChatFeatured dashboard immediately unpublishes it from your live blog.
* **Canonical URLs:** If you republish content that originally appeared elsewhere, you can set a custom canonical URL in the article settings to prevent duplicate content penalties.
***
## Related Guides
Learn how to build high-impact AEO content strategies and approve drafts.
Configure your brand identity and buyer personas to guide article tone.
Monitor how published articles improve your visibility across tracked prompts.
Explore external CMS connectors including WordPress, Webflow, Ghost, and Shopify.
# Shopify Integration
Source: https://docs.chatfeatured.com/untitled-page-3
Connect your Shopify store via a private developer app to publish AEO-optimized articles directly to your Shopify blog.
Connect ChatFeatured to your Shopify store to publish AI-optimized buying guides, comparisons, and educational articles directly to your Shopify blog (`/blogs/news` or any custom blog) with one click.
**Publishing Only:** This integration publishes articles to your Shopify blog. AI crawler analytics aren't available on standard Shopify plans because Shopify manages the edge infrastructure and CDN logs directly.
***
## Connection Requirements
To connect ChatFeatured, you will create a private app in your Shopify Developer Dashboard and provide:
* **Shopify Store Domain:** Your store's `.myshopify.com` domain (e.g., `your-brand.myshopify.com`), **not** your public storefront domain (e.g., `yourbrand.com`).
* **Client ID:** Found on your app's Settings page in the Dev Dashboard.
* **Client Secret:** Found on your app's Settings page in the Dev Dashboard. The secret is encrypted and stored securely server-side.
***
## Step-by-Step Setup Guide
Creating a private Shopify app for your store takes about 5 minutes, with no App Store listing or public review involved.
1. Go to [dev.shopify.com](https://dev.shopify.com) and sign in with the account that owns your store.
2. Open **Apps** in the sidebar navigation.
3. Select **Create app**, then click **Start from Dev Dashboard**.
4. Name the app anything you like (e.g., `ChatFeatured Publisher`).
5. Select **Create**.
1. In your new app dashboard, open the **Versions** tab.
2. Set the **App URL** to:
```http theme={null}
https://chatfeatured.com
```
*(Shopify requires an App URL to save a version; ChatFeatured never calls it).*
3. Add the following access scopes:
* `read_content`
* `write_content`
4. **Uncheck "Embed app in Shopify admin"** if the checkbox is shown.
5. Select **Release** and confirm the new version.
1. After the version is released, go back to your app's **Home** tab in the Dev Dashboard (the app overview page).
2. In the **Installs** section, select **Install app**.
3. Choose your target store from the list, then select **Install**.
The app and your Shopify store must belong to the same Shopify organization for the installation to succeed.
1. In the Dev Dashboard, open the **Settings** tab for your app.
2. Copy your **Client ID** and **Client secret**.
3. In your ChatFeatured dashboard, navigate to **Integrations** > **Shopify**.
4. Enter your store's `.myshopify.com` domain, paste the **Client ID** and **Client secret**, and select **Connect**.
5. Once connected, pick which Shopify blog ChatFeatured should publish articles to (e.g., *News* or *Blog*).
***
## Publishing Articles to Shopify
Once your store is connected, you can publish articles in two ways:
1. Navigate to **Articles** in ChatFeatured.
2. Open any article in **Review** or **Approved** status.
3. Click **Publish to Shopify**.
4. Review the auto-generated title, handle, summary excerpt, and featured image.
5. Choose **Publish Now** or schedule it for a future date.
Manage your publishing queue conversationally with the [AEO Agent](/ai-agents/overview):
* *"Publish our approved article on 'Best Ergonomic Office Chairs for Remote Workers' to our Shopify blog."*
* *"Schedule all approved buying guides to publish to our Shopify store every Wednesday at 10 AM."*
***
## How Shopify Articles are Formatted
ChatFeatured formats all published content to match native Shopify blog requirements:
| Field | Shopify Mapping | Description |
| :----------------- | :--------------------- | :--------------------------------------------------------------------------------------------------------- |
| **Title** | `Article.title` | High-converting, AEO-optimized H1 title. |
| **Body Content** | `Article.body_html` | Clean HTML formatted with semantic headings (``, ``), tables, bullet points, and citation anchors. |
| **Featured Image** | `Article.image` | Automatically uploaded and attached as the post hero image. |
| **Excerpt** | `Article.summary_html` | 1–2 sentence summary used on blog archive pages and feeds. |
| **Author** | `Article.author` | The selected default store author or custom byline. |
| **URL Handle** | `Article.handle` | Clean, slugified URL (e.g., `/blogs/news/best-ergonomic-chairs`). |
***
## Troubleshooting
Make sure you enter your permanent store domain (e.g., `my-shop.myshopify.com`) rather than your primary public custom domain (e.g., `myshop.com`). You can find this in your Shopify Admin under **Settings** > **Domains**.
Ensure that the account you used to log into `dev.shopify.com` has administrator or owner access to the target Shopify store, and that both belong to the same Shopify organization.
Verify that your Shopify store has at least one active blog created. In your Shopify Admin, go to **Online Store** > **Blog posts** > **Manage blogs** and confirm a blog (such as *News*) exists.
***
## Related Guides
Generate and approve high-intent commercial articles to publish to your store.
Configure your brand taxonomy and buyer personas to align article topics.
Track the commercial questions and product comparisons buyers ask AI engines.
Explore other publishing connectors including WordPress, Webflow, and Ghost.
# Setting up Agent Analytics
Source: https://docs.chatfeatured.com/using-chatfeatured/agent-analytics
Track AI bot activity and citations across your website
Agent Analytics tracks how AI platforms discover and cite your content. Monitor when AI crawlers visit your site and see which pages get cited in AI answers.
## What Agent Analytics Tracks
See when GPTBot, ClaudeBot, PerplexityBot, GoogleBot, and other AI crawlers access your pages.
Track which of your pages AI models cite in their answers to user queries.
Understand how often AI bots return to your site and which pages they prioritize.
Discover which pages get the most AI attention and citations.
## Why Track AI Bot Activity?
Traditional analytics tools like Google Analytics don't track AI agents—so you're missing a critical piece of the picture. Agent Analytics specifically monitors:
* **When AI crawlers visit** your site
* **What content they index** and how often they return
* **Which pages get cited** in AI-generated responses
This data helps you understand what content AI models find valuable and how to optimize for better visibility.
## Dashboard Overview
The Agent Analytics dashboard shows key metrics at a glance:
### Citation Stats
Track citations by AI platform:
* **ChatGPT Citations** - Pages cited by ChatGPT/GPT models
* **Claude Citations** - Pages cited by Anthropic's Claude
* **Perplexity Citations** - Pages cited by Perplexity AI
Each metric includes week-over-week change so you can track trends.
### Top Pages
See which pages receive the most AI attention:
* Page URL/path
* Total bot visits
* Number of unique crawlers visiting the page
### Top Crawlers
Understand which AI bots visit most frequently:
* Bot/agent type (GPTBot, ClaudeBot, PerplexityBot, etc.)
* Total requests
* Number of unique pages crawled
### Filtering Data
Filter your analytics by:
* **Date range** - Last 7 days, 30 days, 90 days, or custom
* **Crawlers** - Filter to specific AI bots
* **Pages** - Focus on specific URLs
* **Domains** - If tracking multiple domains
## Setting Up Agent Analytics
Agent Analytics requires a small integration to track bot activity on your site. Choose the option that fits your stack:
### WordPress
The easiest option for WordPress sites:
1. Install the ChatFeatured WordPress plugin
2. Enter your API key from the Settings tab
3. Start seeing data within minutes
See the [WordPress Integration](/integrations/wordpress) guide for detailed setup instructions.
### Cloudflare
For high-traffic sites or non-WordPress platforms:
1. Add the ChatFeatured Cloudflare Worker
2. Configure your API key
3. Zero latency impact with edge-level tracking
See the [Cloudflare Integration](/integrations/cloudflare) guide for setup details.
Hosting on Webflow? Because Webflow runs on Cloudflare, you'll need an extra Orange-to-Orange (O2O) step. See [Agent Analytics with Webflow](/integrations/webflow-agent-analytics).
### API Integration
For custom platforms (Next.js, Rails, Django, etc.):
1. Go to **Agent Analytics > Settings** in your dashboard
2. Create an API key
3. Send bot activity data to our API endpoint
## Best Practices
### Monitor Regularly
Check your Agent Analytics weekly to:
* Identify which content AI bots prioritize
* Spot changes in crawl patterns
* Track citation trends over time
### Optimize High-Traffic Pages
Pages that receive frequent bot visits are likely to be cited in AI responses. For these pages:
* Keep content fresh and up-to-date
* Ensure clear, accurate information
* Structure content for easy parsing
### Track New Content
After publishing new content, monitor for:
* Bot visits in the following days
* Citations appearing in your prompt results
* Changes in crawl frequency for the new page
### Correlate with Visibility
Connect Agent Analytics data with your [prompt analytics](/using-chatfeatured/analytics):
* Pages frequently crawled by AI bots often appear in AI responses
* High citation counts typically correlate with better visibility
* Use this data to prioritize content optimization efforts
# Answer Engine Analytics
Source: https://docs.chatfeatured.com/using-chatfeatured/analytics
Understand your AI visibility trends and performance
The Data Analytics dashboard provides insights into your brand's AI visibility over time. Use it to track trends, identify opportunities, and measure the impact of your optimization efforts.
## Overview Dashboard
The Analytics overview shows your key metrics at a glance:
### Key Metrics
The percentage of prompts where your brand was mentioned. Track this over time to measure overall visibility.
The overall tone of how AI models discuss your brand—positive, neutral, or negative.
How your mention rate compares to tracked competitors across the same prompts.
Your visibility broken down by individual AI answer engine.
## Time-Based Analysis
### Selecting Date Ranges
Use the date picker to analyze specific time periods:
* **Last 7 days**: Recent performance snapshot
* **Last 14 days:** Two-week trends
* **Last 30 days**: Monthly trends
* **Custom range**: Specific period analysis
### Trend Charts
The trend chart shows your mention rate over time. Look for:
* **Upward trends**: Your visibility is improving
* **Downward trends**: Visibility may be declining
* **Spikes or drops**: Correlate with external events or optimizations
## Performance by AI Engine
Different AI engines may mention your brand at different rates. The engine breakdown shows:
| Engine | Your Mention Rate | Competitor Avg |
| ---------- | ----------------- | -------------- |
| ChatGPT | 45% | 32% |
| Claude | 52% | 38% |
| Perplexity | 61% | 45% |
| ... | ... | ... |
Use this to identify:
* **Strong engines**: Where you have good visibility
* **Weak engines**: Opportunities for improvement
* **Competitive gaps**: Where competitors outperform you
## Geographic Analysis
If you're tracking prompts across multiple countries, the geographic view shows:
* Mention rates by country
* Regional variations in competitor performance
* Market-specific opportunities
AI responses often vary significantly by region. A brand might have strong visibility in the US but lower visibility in European markets.
## Prompt-Level Analytics
Drill down into individual prompt performance:
1. Click on any prompt in the list
2. View the response history for that prompt
3. See which runs included your brand mention
4. Track how responses have changed over time
### Identifying Patterns
Look for patterns in your prompt analytics:
* **Consistently mentioned**: These prompts represent your strengths
* **Never mentioned**: High-priority opportunities for improvement
* **Inconsistent**: Your visibility is unstable for these topics
## Competitor Analytics
The competitor section compares your visibility against tracked competitors:
### Head-to-Head Comparison
See direct comparisons showing:
* Which brand is mentioned more often
* Sentiment differences between brands
* Trends over time
### Competitive Gaps
Identify prompts where:
* Competitors are mentioned but you aren't
* You have an opportunity to gain visibility
* You're already winning against competitors
## Source Analysis
When AI engines cite sources, ChatFeatured tracks them:
* **Your sources**: How often your website or content is cited
* **Competitor sources**: Which competitor content is being referenced
* **Third-party sources**: Publications, reviews, or other references
This helps you understand what content AI models consider authoritative.
## Using Analytics Effectively
### Weekly Reviews
Set a recurring time to review your analytics:
1. Check overall mention rate trend
2. Review any significant changes
3. Identify new opportunities
4. Note any concerning patterns
### Monthly Deep Dives
Once a month, do a more thorough analysis:
1. Compare month-over-month performance
2. Analyze individual prompt performance
3. Review competitor positioning
4. Update your prompt strategy based on insights
### Correlating with Actions
Track how your optimizations affect visibility:
1. Note when you make changes (new content, website updates)
2. Watch for visibility changes in subsequent days/weeks
3. Correlate improvements with specific actions
You can also set up custom [automations](/using-chatfeatured/automations) for these actions!
## Interpreting Results
### What Good Looks Like
* Mention rate trending upward or stable
* Positive sentiment when your brand is mentioned
* Visibility across multiple AI engines
* Consistent performance over time
### Warning Signs
* Declining mention rate
* Competitors gaining visibility faster
* Inconsistent mentions (appearing/disappearing)
* Strong in one engine but weak in others
### Taking Action
When analytics reveal issues:
1. Review specific prompts with low performance
2. Analyze what competitors are doing differently
3. Use the [AEO Agent](/getting-started/how-to-aeo-agent) for recommendations
4. Implement changes and monitor results
# Articles & Content Strategy
Source: https://docs.chatfeatured.com/using-chatfeatured/articles
Turn AI search visibility gaps into citation-worthy articles. Discover content opportunities, generate AEO-optimized drafts, and manage the publishing lifecycle.
The **Articles** module is ChatFeatured's content engine. It transforms citation gaps and zero-visibility search prompts into comprehensive, citation-worthy content designed to get your brand recommended across ChatGPT, Claude, Gemini, Perplexity, and Google AI Overviews.
Every article is grounded in your [Brand Book](/using-chatfeatured/brand-book), backed by verified Google search volume data, and structured with the exact entity markers and citation formatting AI answer engines trust.
***
## Why AEO Content is Different
Traditional SEO articles focus on ranking keywords in a 10-blue-links search engine. **Answer Engine Optimization (AEO)** content is engineered for conversational synthesis:
Concise executive summaries and clear heading answers that AI models can extract directly for conversational snippets.
Fair, authoritative comparison tables and feature matrices that answer engines cite for vendor evaluation queries.
Authoritative definitions, structured schema (`Article`, `FAQPage`), and industry citations that establish domain expertise.
Articles are explicitly associated with tracked search prompts where your brand currently lacks visibility.
***
## The Article Lifecycle
Articles in ChatFeatured progress through an automated pipeline with full editorial control at every stage:
\[ Pending Idea ] ──► \[ Draft / Generating ] ──► \[ Review ] ──► \[ Approved ] ──►
\[ Scheduled / Published ]
| Status | Description |
| :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Pending** | Proposed article concepts waiting for your approval. Includes title, description, strategic reasoning ("Why"), priority, target keywords, and mapped prompts. |
| **Draft (Generating)** | The article has been approved and queued. ChatFeatured conducts live web research, analyzes competitor citations, and drafts the full content (2–5 minutes). |
| **Review** | Generation is complete. The article is ready for your team to read, edit headings or copy, and refine metadata. |
| **Awaiting Approval** | *(Optional)* Content is locked while awaiting final sign-off from an editor, legal reviewer, or stakeholder. |
| **Approved** | The article is signed off and ready for 1-click or scheduled publishing to your connected CMS. |
| **Scheduled** | Set to automatically publish to your CMS on a designated date and time. |
| **Published** | Successfully published live to your CMS (Shopify, WordPress, Webflow, Ghost, or ChatFeatured Hosted Blog). |
| **Archived** | Shelved or retired articles. Archiving releases reserved generation credits and dismisses open tasks. |
***
## Ways to Create Articles
When you click **Create Article** on the Articles page, you can choose from four distinct creation modes depending on your workflow:
**Let your agent analyze your AI search performance and suggest high-impact articles.**
The agent audits your prompt gaps, competitor citations, and search demand to recommend high-priority articles that directly move your visibility metrics.
**Pick tags or prompts and get article suggestions targeted at them.**
Target specific underperforming search queries, product line tags, or regional clusters to build topical authority where you need it most.
**Describe your idea and your agent will shape it into an article suggestion.**
Provide a rough concept, title, or scenario. The agent researches cited competitor sources and structures it into an AEO-optimized outline and strategy.
**Name your article and start writing in a blank draft.**
Bring your own content or write manually using ChatFeatured's rich markdown editor while associating tracked search prompts and keywords.
## Article Content Types
When articles are suggested, ChatFeatured assigns the format best suited to capture citations for the target query intent:
* **Product Comparison (`product-comparison`):** Head-to-head evaluation of your brand vs. one or more competitors with structured feature matrices.
* **Best-of Roundups (`best-of`):** Category roundups evaluating top market tools (e.g., *"Best AEO Tools in 2026"*).
* **Comprehensive Guides (`guide`):** In-depth educational blueprints and technical workflows.
* **Problem / Solution (`article` / `blog-post`):** Direct answers to troubleshooting or operational queries.
* **FAQ Guides (`faq`):** Clustered question-and-answer articles optimized for FAQPage schema extraction.
***
## Step-by-Step Workflow
Use **Suggest articles**, pick specific prompts/tags, enter a custom idea, or start from scratch. Suggested articles appear under the **Pending** filter with their strategic explanation ("Why"), priority score (High, Medium, Low), and mapped search prompts.
Select the articles you want to produce and click **Approve Articles**.
During generation (2–5 minutes), ChatFeatured:
* Analyzes top-cited external URLs from AI responses for the mapped prompts.
* Incorporates your [Brand Book](/using-chatfeatured/brand-book) metadata and [Knowledge Base](/using-chatfeatured/knowledge-base) collateral.
* Formats direct answer paragraphs, semantic heading structures (`H2`, `H3`), and comparison tables.
* Generates SEO meta titles, descriptions, excerpts, and featured images.
Open the generated article in **Review** status to inspect the markdown preview. You can:
* Edit body text, headings, and lists directly in the rich markdown editor.
* Add or remove associated keywords and tracked prompts.
* Regenerate or upload a custom featured image.
* Adjust URL slugs, excerpts, and author bylines.
Click **Publish** to send the article directly to your connected destination:
* [Shopify](/integrations/shopify)
* [WordPress](/integrations/wordpress)
* [Webflow](/integrations/webflow)
* [Ghost](/integrations/ghost)
* [ChatFeatured Hosted Blog](/integrations/chatfeatured-blog)
***
## Associated Keywords & Prompts
Every article in ChatFeatured maintains active relationships with your analytics:
* **Associated Prompts:** The exact search prompts this article was engineered to influence. Once published, monitor these prompts in the [Prompts](/using-chatfeatured/prompts) tab to verify increases in brand visibility and citations over subsequent days.
* **Associated Keywords:** High-intent search terms with estimated monthly search volumes and competition indexes pulled from Google Ads.
**Track Impact After Publishing:** After an article is published and indexed, check its mapped prompts in the [Analytics](/using-chatfeatured/analytics) dashboard to see how quickly AI answer engines adopt your new URL as a citation source.
***
## Automated Article Generation via Playbooks
Rather than approving articles manually each week, you can automate your content pipeline using [Automations (`agent-tasks`)](/using-chatfeatured/automations).
Pre-built playbooks allow the AEO Agent to autonomously:
1. Scan for new 0% visibility prompt gaps every week.
2. Draft and approve high-priority articles matching your monthly quota.
3. Queue articles for generation and notify team members when drafts are ready for review.
***
## Related Guides
Track the search queries driving your content suggestions.
Configure company descriptions and buyer personas to align article tone.
Publish approved articles directly to your Shopify store blog.
Publish to ChatFeatured's native, zero-config AEO blog.
# Agent Automations
Source: https://docs.chatfeatured.com/using-chatfeatured/automations
Configure autonomous background workflows for daily content research, weekly visibility reporting, and competitor citation monitoring.
**Automations** enable your Unified AEO Agent to work autonomously in the background on recurring schedules. Instead of manually running analytics queries, auditing competitor movements, or researching content gaps every week, you can configure autonomous workflows that execute on a scheduled cadence and deliver actionable results directly to your team.
Set custom recurring schedules (daily, weekly, or specific days) for continuous optimization.
Receive structured performance summaries, newly discovered gaps, and execution logs in your inbox.
***
## How Automations Work
Automations run completely in the cloud without requiring an open browser tab or manual intervention.
At the scheduled time, the ChatFeatured Automations worker instantiates a dedicated agent session scoped to your brand workspace.
The agent checks its **3-Tiered Persistent Memory** and historical execution logs. It verifies what topics were previously generated, what tasks are currently open, and which editorial rules apply to prevent duplicate work.
The agent executes the required workflow across platform modes:
* Queries the latest AI model runs (ChatGPT, Claude, Gemini, Perplexity, Grok, Copilot, Google AI).
* Identifies net-new citation sources and visibility drops.
* Pulls search demand from Google Ads API.
* Drafts articles, audits site health, or flags PR outreach targets.
Results are logged to the **Automations Run History**, surfaced to your **Opportunities Panel** or **Tasks Board**, and compiled into an executive email report sent to configured team members.
***
## Pre-Built Automation Playbooks
ChatFeatured provides five core automation templates designed for Answer Engine Optimization:
**Cadence:** Weekly (e.g., Mondays at 8:00 AM)
**Objective:** Provide stakeholders with a comprehensive executive brief on visibility trends, share-of-voice shifts, and model-level movements.
* **What the Agent Does:**
1. Calculates Week-over-Week (WoW) visibility, sentiment, and share-of-voice deltas across all 7 tracked AI engines.
2. Highlights top-gaining and top-losing prompts and citation sources.
3. Identifies competitor movement and shifts in engine preference (ChatGPT, Claude, Gemini, Perplexity, etc.).
4. Delivers an executive email digest with key performance callouts and chart links.
**Cadence:** Weekly (e.g., Wednesdays at 9:00 AM)
**Objective:** Track competitor visibility gains, newly cited third-party publications, and market share changes.
* **What the Agent Does:**
1. Benchmarks your visibility and share of voice against all tracked competitor groups.
2. Detects new third-party domains, editorial URLs, and forum discussions where competitors are being cited.
3. Identifies emerging prompt topics where competitors are winning AI recommendations.
4. Surfaces actionable PR outreach, Earned Media, and UGC engagement opportunities to your Opportunities panel.
**Cadence:** Weekly (e.g., Fridays at 10:00 AM)
**Objective:** Continuously monitor technical site health, crawler accessibility, structured schema, and AI bot log telemetry.
* **What the Agent Does:**
1. Audits core site pages for technical AEO factors, content structure, schema markup, and `llms.txt` validity.
2. Inspects edge crawler log telemetry (Cloudflare, Vercel, AWS) to detect bot crawl anomalies, 4xx/5xx errors, or blocked user agents (GPTBot, ClaudeBot, PerplexityBot).
3. Automatically creates prioritized remediation tasks on your Task board with concrete code and metadata fixes.
**Cadence:** Monthly (e.g., 1st of the month at 9:00 AM)
**Objective:** Deliver a holistic retrospective on published content performance, indexation, and citation ROI over the preceding 30 days.
* **What the Agent Does:**
1. Analyzes all articles published or updated over the past 30 days across connected CMS platforms.
2. Measures post-publishing visibility and citation changes for associated prompt clusters.
3. Synthesizes search demand trends (Google Ads API) and identifies which content formats drove the highest AI citation impact.
4. Sends a comprehensive monthly performance digest to executive stakeholders.
**Cadence:** Monthly (e.g., 1st or 15th of the month)
**Objective:** Automatically identify high-value search volume gaps, research, draft, and queue a batch of AEO-optimized articles.
* **What the Agent Does:**
1. Scans tracked prompts where your brand visibility is 0% or lagging, but search volume and competitor citations are high.
2. Pulls target keyword phrases and monthly search volumes via Google Ads API.
3. Autonomously conducts web research and writes complete, GEO-optimized articles tailored to LLM citation structures.
4. Queues drafts in your Content pipeline (`Draft` / `Review` status) respecting your monthly plan allowances.
***
## Creating & Managing Automations
You can set up automations either visually via the dashboard UI or conversationally through the AI Agent.
### Option A: Via the Automations Dashboard
1. Navigate to **Automations** (`/agent-tasks`) in the main navigation.
2. Click **+ New Automation**.
3. Choose a template playbook or select **Custom Automation**.
4. Configure the parameters:
* **Task Name:** A descriptive title (e.g., *"Daily AEO Article Discovery"*).
* **Schedule:** Choose frequency (Daily, Weekly, Monthly) and execution time/time zone.
* **Scope & Instructions:** Provide custom instructions or prompt focus areas.
* **Notification Recipients:** Select which team members receive run summaries via email.
5. Click **Create Automation**.
### Option B: Conversationally via the AI Agent
You can create or modify automations directly in chat by switching to `tasks` mode:
*"Set up an automation to analyze our competitor citations every Friday at 4 PM and email the report to [team@company.com](mailto:team@company.com)."*
*"What scheduled automations are currently active for this brand workspace?"*
*"Run the 'Weekly AI Visibility Report' automation right now so I can see current numbers."*
*"Pause the daily content drafting automation until next Monday."*
## Inspecting Run Logs
Every automated run produces an auditable execution trace. To inspect what an automation did:
1. Go to **Automations** (`/agent-tasks`).
2. Click on any automation to open its **Run History**.
3. Select an execution timestamp to view:
* **Runtime Summary:** Duration, tokens consumed, and status (`Success`, `Completed with Warnings`, `Failed`).
* **Agent Reasoning Trace:** The step-by-step logic the agent used to query analytics, evaluate competitors, and formulate actions.
* **Output Artifacts:** Direct links to drafted articles, surfaced opportunities, or generated tasks.
***
## Frequently Asked Questions
**Tasks (`/tasks`)** are one-time execution items (like a to-do list item: *"Write article on AEO tools"*). **Automations (`/agent-tasks`)** are the recurring scheduled jobs that autonomously run in the background (like *"Run content discovery every morning at 6 AM"*).
ChatFeatured includes built-in exponential backoff and retry logic. If a data source (e.g., an external AI model) is temporarily unreachable, the automation will re-attempt execution up to 3 times before logging an error notification.
Yes. Automations automatically inherit the **Brand Book**, **Personas**, and **Agent Writing Guidelines** configured in your Brand settings and persistent memory.
Open the specific automation in `/agent-tasks`, click **Edit Settings**, and update the **Email Recipients** list.
# Tracking Competitors
Source: https://docs.chatfeatured.com/using-chatfeatured/competitors
Track and compare your visibility against competitors
Tracking competitors in ChatFeatured helps you understand your relative position in AI visibility and identify opportunities to outperform them.
## Why Track Competitors?
When AI answer engines respond to user queries, they often mention multiple brands. By tracking competitors, you can:
* See who else appears when your brand is mentioned
* Identify prompts where competitors appear but you don't
* Monitor competitive positioning over time
* Benchmark your visibility against the market
## Adding Competitors
### Manual Addition
1. Navigate to **Competitors** in the sidebar
2. Click **Add Competitor**
3. Enter the competitor's details:
* **Name**: The primary brand name
* **Website**: Their main domain
* **Aliases**: Alternative names or spellings
4. Click **Save**
### Suggested Competitors
ChatFeatured can suggest competitors based on your brand and industry:
1. Review the suggested competitors
2. Approve any you want to track
Suggestions are based on:
* Brands that frequently appear alongside yours in AI responses
* Companies in your category
* Names mentioned in your prompt results
Start by tracking 3-5 direct competitors. You can always add more as you discover them in your results.
## Managing Competitors
### Editing Competitors
Click on any competitor to edit their details:
* Update the name if branding changes
* Add aliases to catch variations
* Update website URL
### Removing Competitors
To stop tracking a competitor:
1. Select the competitor
2. Click **Delete**
Removing a competitor doesn't delete historical data where they were mentioned. Past results remain unchanged.
## Competitor Aliases
Aliases help catch all variations of a competitor's name:
* **Abbreviations**: "IBM" for "International Business Machines"
* **Product names**: "Office 365" for "Microsoft"
* **Common misspellings**: "Atlassian" and "Atlasian"
* **Alternative formats**: "HubSpot" and "Hub Spot"
Add aliases when creating or editing a competitor to ensure comprehensive tracking.
## Viewing Competitor Data
### In Prompt Results
When viewing individual prompt results, you'll see:
* Which competitors were mentioned in each response
* Their position relative to your brand
* The context of their mention
### In Analytics
The analytics dashboard shows competitive metrics:
* **Mention Rate Comparison**: Your rate vs. competitor rates
* **Head-to-Head**: Direct comparison on shared prompts
* **Visibility Trends**: How competitor visibility is changing
### Competitive Gap Analysis
Identify opportunities by finding:
* **Prompts where competitors appear but you don't**
* **Topics where competitors dominate**
* **AI engines where competitors have stronger presence**
## Competitive Strategies
### Closing Visibility Gaps
When competitors appear and you don't:
1. Analyze what content or signals drive their mentions
2. Review their website and content strategy
3. Use the [AEO Agent](/ai-agents/aeo-agent) for improvement recommendations
4. Create or optimize content for those topics
### Defending Strong Positions
When you're ahead of competitors:
1. Continue reinforcing your authority on those topics
2. Monitor for competitors gaining ground
3. Maintain fresh, authoritative content
### Tracking New Entrants
As you discover new competitors in your results:
1. Add them to your tracking list
2. Review their historical appearance in your prompts
3. Monitor their trajectory
## Best Practices
### Choose Competitors Strategically
Focus on competitors that:
* Directly compete for the same customers
* Appear frequently in AI responses
* Represent your target market position
### Review Regularly
Monthly competitor review:
1. Check if tracked competitors are still relevant
2. Look for new competitors appearing in results
3. Adjust your list based on market changes
### Use Competitive Insights
Turn competitor data into action:
* If a competitor consistently ranks higher, study their content strategy
* If you're winning, understand what's driving that success
* Share competitive intelligence with your marketing team
##
# Knowledge Base
Source: https://docs.chatfeatured.com/using-chatfeatured/knowledge-base
Give AI agents context about your brand for better content generation
The Knowledge Base stores information about your company, products, and brand that AI agents use when generating content. The more context you provide, the more accurate and on-brand the generated content becomes.
## Primary Use Case: Content Generation
The biggest benefit of the Knowledge Base is improving content generation. When the Content Agent or Writing Agent creates articles, it pulls from your Knowledge Base to:
* **Write in your brand voice** - Match your tone, terminology, and messaging
* **Include accurate details** - Reference correct product features, pricing, and capabilities
* **Address your audience** - Tailor content to your specific customer profiles
* **Highlight differentiators** - Emphasize what makes you unique
### Associating Knowledge with Articles
You can link specific Knowledge Base entries to individual articles:
1. When creating or editing an article, select **Knowledge Base** items to include
2. The selected items provide focused context for that specific article
3. The agent uses this context when generating or refining content (you can @ specific documents or folders you have uploaded when generating content with the agent)
This is especially useful for product-specific content where you want the agent to reference particular features or positioning.
### Using Knowledge in Chat
When chatting with agents during article editing:
* Reference Knowledge Base content in your prompts
* Ask the agent to incorporate specific information
* The agent can pull relevant context to answer your questions
## What to Include
Focus on information that helps agents generate better content:
### Company Overview
* **Company description** - What you do and who you serve
* **Mission and values** - Your brand's purpose and positioning
### Products and Services
* **Product descriptions** - What each product does
* **Key features** - Differentiating capabilities
* **Use cases** - How customers use your offerings
* **Pricing overview** - Tiers and positioning (value, premium, etc.)
### Target Audience
* **Customer profiles** - Who buys your products
* **Industries served** - Verticals you focus on
* **Pain points** - Problems you solve
### Competitive Positioning
* **Key differentiators** - What makes you unique
* **Competitive advantages** - Where you excel vs alternatives
* **Win/loss insights** - Why customers choose you
### Brand Voice
* **Tone of voice** - How you communicate (professional, casual, technical)
* **Key messages** - Core talking points to emphasize
* **Terminology** - Preferred terms and phrases to use
## Adding Content
### Text Entries
1. Go to **Knowledge Base** in the sidebar
2. Click **Add Entry**
3. Choose a category
4. Enter your content
5. Click **Save**
### Import from URL
Pull content from existing pages:
1. Click **Import from URL**
2. Enter a URL (about page, product page, documentation)
3. Content is extracted and added
4. Review and edit as needed
### File Upload
Upload existing documents:
1. Click **Upload File**
2. Select a document (PDF, DOCX, TXT)
3. Content is extracted and categorized
Start by importing your About page and main product pages. This gives agents solid foundational context quickly.
## How Agents Use Knowledge
### Content Agent
Uses your Knowledge Base to:
* Generate article outlines based on your products
* Write content in your brand voice
* Include accurate product details and positioning
### AEO Agent
Uses your Knowledge Base to:
* Tailor optimization recommendations to your specific situation
* Suggest content topics aligned with your offerings
* Provide relevant competitive context
### Example
**Without Knowledge Base:**
> "Create an article about CRM features."
**With Knowledge Base:**
> "Create an article about CRM features for growing sales teams, emphasizing our quick onboarding process and affordable pricing that resonates with mid-market companies."
## Keeping Knowledge Current
Update your Knowledge Base when:
* Products or features change
* Pricing or positioning updates
* New competitive intelligence emerges
* Brand messaging evolves
Outdated information can lead to inaccurate content. Review your Knowledge Base periodically and remove old product info or positioning that no longer applies.
## Best Practices
1. **Start with fundamentals** - Company description, main products, target audience
2. **Add brand voice guidelines** - Help agents match your communication style
3. **Include differentiators** - What makes you unique should come through in content
4. **Link relevant items to articles** - Use specific context for specific content
5. **Update regularly** - Keep information accurate as your business evolves
# Prompts
Source: https://docs.chatfeatured.com/using-chatfeatured/prompts
Manage, organize, and execute tracked search prompts across 7 AI answer engines to measure brand visibility, competitor citations, and sentiment.
Prompts are the **foundational measurement units** of ChatFeatured. They represent the exact conversational questions, product comparisons, and discovery queries real users submit to AI answer engines.
By executing prompts on a scheduled cadence across multiple AI platforms, ChatFeatured monitors:
* **Brand Visibility (%):** Whether your brand is recommended or cited in the answer.
* **Competitor Mentions:** Which competing brands appear alongside or in place of yours.
* **Citation Sources:** What external URLs and domains the AI relied upon to build its answer.
* **Brand Sentiment:** How favorably your brand is portrayed (on a 1–100 scale).
***
## Adding Prompts
You can populate prompts through four methods:
Ask the [AEO Agent](getting-started/how-to-aeo-agent) to research and add prompts conversationally:
* *"Let's work on my prompt strategy. Review the prompts you're currently tracking for my brand, do a keyword research to figure out the questions my customers actually ask AI assistants, and suggest a comprehensive prompt tracking strategy by tag — so I get the clearest picture of my AI search visibility."*
* *"Analyze our competitor Trysight and suggest 10 commercial-intent comparison prompts we're missing."*
* *"Find 5 high-intent buyer queries for our new enterprise compliance feature and add them to our tracking list."*
ChatFeatured generates prompt recommendations automatically using your [Brand Book](/using-chatfeatured/brand-book) categories, competitor offerings, and customer search intent:
1. Navigate to **Prompts** in the sidebar.
2. Click **Suggested Prompts** at the top of the table.
3. Review the discovered prompt suggestions grouped by product category.
4. Select the prompts you want to track and click **Add Selected**.
Add specific brand or high-intent queries manually:
1. Go to **Prompts** and click **Add Prompt**.
2. Enter the full natural language query (e.g., *"What are the top enterprise AEO platforms in 2026?"*).
3. Select your target **Country** for geographic localization.
4. Attach optional **Tags** for reporting and categorization.
5. Click **Save**.
Add large query clusters at once:
1. Click **Bulk Add** in the prompts interface.
2. Paste your list of queries (one prompt per line).
3. Select the default country and tags to apply across the batch.
4. Click **Import Prompts**.
## Writing Effective Prompts for AEO
Prompts should accurately reflect how prospective buyers interact with conversational search assistants:
Avoid keyword stuffing or traditional Boolean SEO operators. Write full questions and scenarios.
* **Effective:** *"What is the best automated customer support software for Shopify stores?"*
* **Avoid:** *"best customer support software shopify list"*
Buyers frequently ask AI engines to evaluate market alternatives.
* **Effective:** *"Compare Slack vs Teams for mid-market engineering teams."*
* **Effective:** *"What are the top open-source alternatives to Datadog?"*
Incorporate real constraints like company size, industry vertical, and compliance requirements.
* **Effective:** *"Which SOC2-compliant CRM is best for a 50-person fintech startup?"*
* **Avoid:** *"Best CRM software"*
* **Awareness / Informational:** *"How do modern marketing teams track AI search visibility?"*
* **Consideration / Commercial:** *"What are the top Answer Engine Optimization tools in 2026?"*
* **Decision / Transactional:** *"ChatFeatured vs Peec AI: feature breakdown and pricing comparison."*
***
## Prompt Execution & Cadence
All active prompts run automatically once per day across all AI models included in your plan, building longitudinal visibility, sentiment, and citation trends over time.
***
## Understanding Run Results
Clicking on any prompt in [Data Analytics](/using-chatfeatured/analytics) opens its detailed Run Results view:
| Field | Description |
| :------------------------ | :----------------------------------------------------------------------------------------------- |
| **Response** | The exact, raw markdown answer generated by the AI answer engine. |
| **Brand Mentioned** | Boolean indicator (`Yes` / `No`) showing whether your brand was identified in the response text. |
| **Competitors Mentioned** | List of tracked competitors identified in the response. |
| **Cited Sources & URLs** | The exact web links, articles, and domains cited as reference footnotes by the AI model. |
| **Sentiment Score** | Algorithmic sentiment rating scored from 1 (negative) to 100 (highly positive/authoritative). |
| **Brand Found in Source** | Flag indicating whether your brand was actually named inside the cited third-party source URL. |
**Turn Gaps into Content:** If a prompt shows high competitor visibility and zero mentions for your brand, go to the **Articles** tab and click **"Add Article"** create an article based on that prompt to target the queries and sources AI engines cite.
***
## Managing Prompt Status & Lifecycle
You can control prompt execution states from the prompts table:
* **Active:** The prompt runs daily across all 7 AI answer engines and updates your analytics widgets.
* **Inactive (Paused):** Daily execution is stopped. **All historical visibility data, sentiment scores, and past citations are preserved.** Use this to pause seasonal queries or control run quotas without losing history.
* **Delete:** Permanently removes the prompt and **purges all historical run logs, sentiment trends, and citation data**.
**Avoid Accidental Deletion:** Deleting a prompt cannot be undone and removes historical data from your overall visibility charts. Always set a prompt to **Inactive** if you may need historical data later.
***
## Organizing with Tags
Tags allow you to segment and filter your prompt library across reports, dashboards, and automated workflows.
### Common Tagging Strategies
* `discovery` — *"What are the best tools for X?"*
* `comparison` — *"Tool A vs Tool B"*
* `alternatives` — *"Alternatives to Tool C"*
* `troubleshooting` — *"How to fix issue Y"*
* `enterprise` — Enterprise-tier capabilities and security queries.
* `self-serve` — Starter plan and SMB queries.
* `integrations` — Prompts related to specific third-party connectors (e.g., Shopify, WordPress, Cloudflare).
* `top-funnel` — Educational and broad category questions.
* `mid-funnel` — Feature comparison and evaluation criteria.
* `bottom-funnel` — Vendor selection, pricing, and migration queries.
`us-market` — US-specific buyer queries and compliance rules.
`uk-europe` — UK and EU localized questions (e.g., GDPR, VAT, localized pricing).
`apac` — Asia-Pacific regional prompts and regional competitor comparisons.
`latam` — Spanish/Portuguese language and Latin American market queries.
You can even hone in on specific sub-regions like `east-usa`, states like `new-jersey`, or get as granular as individual cities and specific neighborhoods (e.g., `hoboken` or `williamsburg`) for hyper-localized AI search tracking.
**Analytics Filtering:** In the [Analytics Dashboard](/using-chatfeatured/analytics), you can filter your entire visibility report by specific tags to evaluate which product line or search intent category has the highest AI citation share.
***
## Geographic Targeting
AI models tailor their recommendations based on geographic IP location. ChatFeatured supports multi-region execution:
1. When adding or editing a prompt, select one or more target countries (e.g., `United States`, `United Kingdom`, `Germany`, `Canada`).
2. ChatFeatured runs localized queries through regional nodes.
3. In [Analytics](/using-chatfeatured/analytics), use the **Country** filter to compare how your AI visibility fluctuates across global markets.
***
## Related Guides
Analyze brand visibility, sentiment trends, and cited source URLs across prompt runs.
Configure your company categories and personas to improve automated prompt suggestions.
Generate articles designed to capture visibility on underperforming prompt clusters.
Use conversational commands to discover prompt gaps and manage your prompt inventory.
# Site Audit & AEO Health
Source: https://docs.chatfeatured.com/using-chatfeatured/site-audit
Learn how ChatFeatured analyzes your website's readiness for AI search engines like ChatGPT, Claude, and Perplexity, and how to fix issues in one click.
The **Site Audit** checks how easily AI answer engines (like ChatGPT, Claude, Perplexity, and Google AI Overviews) can read, understand, and recommend your website.
While traditional SEO audits check if Googlebot can index your pages, an **Answer Engine Optimization (AEO) Audit** makes sure AI bots can extract clear facts, verify your company details, and cite you as a trusted source.
***
## Why AEO Auditing Matters for Your Brand
When a potential customer asks an AI model *"What is the best software for \[your industry]?"*, the AI scans the web for authoritative, well-structured pages.
If your website has technical roadblocks, missing information, or confusing formatting, AI models will cite your competitors instead.
Make sure your website isn't accidentally blocking bots from ChatGPT (`GPTBot`), Claude (`ClaudeBot`), or Perplexity (`PerplexityBot`).
Format your headlines and definitions so AI models can easily quote your answers in conversational search.
Provide structured code that explicitly tells AI models who you are, what you sell, and your exact pricing.
Ensure secure HTTPS connections and digital safety headers that establish domain credibility.
***
## How the Audit Works: 2 Simple Steps
ChatFeatured breaks site audits into two simple phases:
1. **Domain Mapping (Discovery):** ChatFeatured scans your website to find all your active pages and sitemaps.
2. **Page Auditing (Scoring):** Each page is audited and scored from **0 to 100%** across three core pillars: **AEO**, **Content**, and **Technical**.
**Auditing Subdomains:** Audits are scoped to your exact domain. If your blog or help center runs on a separate subdomain (such as `blog.yourbrand.com` or `help.yourbrand.com`), simply add it as a separate domain in ChatFeatured to audit it.
***
## Understanding Page Statuses
When viewing your pages in the Site Audit tab, each URL shows one of these statuses:
| Status | What it Means in Plain English | What You Should Do |
| :--------------------- | :--------------------------------------------------------------------------- | :-------------------------------------------------------------------- |
| **Completed** | The page was successfully audited and scored. | Click into the page to review open recommendations. |
| **Not Audited** | The page was discovered on your site, but has not been analyzed yet. | Click **Audit** on the page (or run a bulk audit) to generate scores. |
| **Auditing / Pending** | The page is currently being analyzed by our engine. | Takes about 5 to 15 seconds to complete. |
| **Failed** | The crawler could not reach the page (e.g. a broken link or server timeout). | Check if the URL works in your browser, then click retry. |
**"Not Audited" is not an error!** It simply means that page is waiting for you to run an audit on it. Only **Failed** indicates that our system couldn't load the URL.
***
## The 3 Audit Pillars
Every audited page receives an overall **AEO Health Score** (0–100%) and individual scores across three categories:
**How easily AI models can quote and cite this page.**
* **Direct Answers:** Does the page provide clear, quick answers directly below major headings?
* **Outline & Heading Structure:** Are `H1`, `H2`, and `H3` headings arranged logically?
* **AI Schema (JSON-LD):** Is there structured machine-readable code for FAQs, Articles, and Products?
* **Citations & Author Credibility:** Does the page show author bylines and references to reputable sources?
* **AI Crawler Permissions:** Are AI bots permitted to extract summary snippets?
**The clarity, metadata, and substance of your writing.**
* **Page Title:** Does the page have a clear, descriptive headline tag?
* **Meta Description:** Is there a compelling summary for search result snippets?
* **Social Sharing Tags (Open Graph):** Are title, description, and preview images configured for social links?
* **Canonical URL:** Is the official URL specified to prevent duplicate content confusion?
* **Content Depth:** Does the page have enough detailed information (avoiding thin pages under 300 words)?
**The security, reliability, and speed of your website.**
* **HTTPS Security:** Do unencrypted `http://` links automatically forward to secure `https://`?
* **Security Headers:** Are digital security instructions active to protect visitors?
* **Mixed Content:** Are all images and scripts loading securely over HTTPS?
* **Broken Links:** Are all internal links working without 404 "Page Not Found" errors?
***
## Technical Audit Checks Explained in Simple Terms
Here is a straightforward guide to the technical checks surfaced in your audit, why they matter, and how they work:
* **What it is:** A simple text file on your website (`yourbrand.com/robots.txt`) that acts like a sign on your front door telling web crawlers which rooms they are allowed to enter.
* **Why it matters:** If your `robots.txt` accidentally blocks AI crawlers like `GPTBot` (ChatGPT), `ClaudeBot` (Claude), or `PerplexityBot`, these engines cannot read your website. If they cannot read your website, they cannot recommend your brand.
* **The Fix:** Ensure your `robots.txt` explicitly allows major AI bots to crawl your public pages.
* **What it is:** A hidden setting on an individual webpage that tells crawlers whether they can index that specific page.
* **Why it matters:** If a page accidentally has a `noindex` or `nosnippet` tag, AI models are forbidden from showing summaries or quotes from that page.
* **The Fix:** Set public pages to `index, follow, max-snippet:-1` so AI models can quote helpful excerpts.
* **What it is:** A clean, lightweight text file (`yourbrand.com/llms.txt`) designed specifically for Large Language Models.
* **Why it matters:** Normal websites are full of menus, popups, and visual code. An `/llms.txt` file gives AI models a clean table of contents with direct markdown links to your most important company info, pricing, and guides.
* **The Fix:** Generate an `/llms.txt` file with direct links to your top product and documentation pages.
* **What it is:** A snippet of background code that translates your page into structured data that AI models understand instantly.
* **Why it matters:** Instead of guessing who wrote an article or what a product costs, AI models read your `FAQPage`, `Article`, or `Product` schema to extract exact answers with 100% confidence.
* **The Fix:** Add standard JSON-LD schema blocks to your articles, FAQs, and product pages.
* **What they are:** Invisible security rules your server sends to browsers and crawlers to prove the site is safe and authentic.
* **Why it matters:** AI models favor reputable, secure websites. Having basic security headers (like HSTS and clickjacking protection) proves your domain is well-maintained and trustworthy.
* **The Fix:** Enable standard security headers in your hosting provider or CDN (such as Cloudflare).
* **What it is:** Ensuring all visitors and crawlers use secure `https://` connections, and that no images or scripts load over insecure `http://`.
* **Why it matters:** Insecure assets trigger warnings and can cause AI parsers to fail when loading your content.
* **The Fix:** Enable "Always Use HTTPS" in your domain settings and ensure all image links start with `https://`.
* **What it is:** Links on your website that lead to pages that no longer exist (404 errors).
* **Why it matters:** When an AI crawler follows a link to verify a claim and hits a dead end, it reduces trust in your content.
* **The Fix:** Update or remove the broken link, or redirect it to an active page.
***
## How to Fix Issues in 1 Click ("Fix with AI")
You don't need to be a developer or SEO expert to resolve audit issues. ChatFeatured's conversational AI agent can write the exact fixes for you:
Click on any page in your Site Audit list that shows open warnings or errors.
The AI Agent reviews the page's current content and automatically generates the exact solution:
* **Ready-to-use JSON-LD schema code** for your header.
* **Rewritten direct-answer paragraphs** that answer customer questions clearly.
* **Optimized meta titles and descriptions** incorporating high-intent keywords.
Copy the generated text or code into your website builder (Shopify, WordPress, Webflow, Ghost, etc.) and click **Re-audit Page** to see your score jump to 100%.
***
## Managing Fixes with Tasks & Automations
Turn any audit issue into a trackable task with one click. Assign it to a team member or let the AI agent resolve it later.
Set up the **Weekly Site Audit Review** automation. ChatFeatured will automatically re-crawl your site every week, check for new issues, and email your team a health report.
***
## Related Guides
See live logs of ChatGPT, Claude, and Perplexity bots crawling your site.
Track, organize, and complete your website optimization tasks.
Connect Google Search Console to monitor traditional search indexing.
Configure company descriptions so AI models describe your brand accurately.
# Organizing with Tags
Source: https://docs.chatfeatured.com/using-chatfeatured/tags
Categorize prompts for better filtering and analysis
Tags let you organize prompts into categories, making it easy to filter your prompt library and analyze AI visibility performance by grouping.
## Why Use Tags?
As your prompt library grows, tags help you:
* **Filter prompts** - Quickly find and manage specific groups
* **Analyze by category** - View mention rates and trends for tagged prompts
* **Compare performance** - See which categories have strong or weak visibility
* **Report on segments** - Generate insights for specific topics or intents
## Creating Tags
1. Navigate to **Tags** in the sidebar
2. Click **Add Tag**
3. Enter a name and optionally choose a color
4. Click **Save**
## Tagging Strategies
Choose a tagging approach that matches how you want to analyze your visibility:
### By Search Intent
Categorize prompts by the type of question being asked:
| Tag | Use For |
| ---------------- | ----------------------------------- |
| Discovery | "Best X", "Top Y for Z" |
| Comparison | "X vs Y", "Difference between" |
| Problem/Solution | "How to fix X", "Why does X happen" |
| Alternatives | "Alternatives to X", "Instead of X" |
| Buying Decision | "Affordable X", "Where to buy X" |
| Feature Specific | "X with Y feature", "X that does Y" |
### By Product or Service
Group prompts by what they relate to:
* Product - CRM
* Product - Analytics
* Product - API
### By Funnel Stage
Organize by where customers are in their journey:
* Awareness
* Consideration
* Decision
### By Topic
Group by subject matter:
* Pricing
* Features
* Reviews
* How-to
## Applying Tags to Prompts
**When creating prompts:** Select tags from the dropdown in the prompt creation dialog.
**Bulk tagging:** Select multiple prompts, click **Bulk Actions**, choose **Add Tags**, and select tags to apply.
**Editing existing prompts:** Click on a prompt, modify the tags field, and save.
## Using Tags for Analysis
### Filter by Tag
In the Prompts view or Analytics, use the tag filter to show only prompts with specific tags. This lets you see performance metrics for just that category.
### Compare Tag Performance
See how different prompt categories perform:
| Tag | Mention Rate |
| ------------ | ------------ |
| Discovery | 52% |
| Comparison | 68% |
| Alternatives | 41% |
This helps you identify which types of queries you're winning and where to focus optimization efforts.
## Best Practices
Begin with 5-10 tags based on one or two dimensions (e.g., intent + product). Add more as needed.
Pick a format and stick with it. For example: "Intent - Discovery" or just "Discovery".
Remove unused tags and consolidate similar ones. Too many tags become hard to manage.
Tags are shared across your organization, so all team members see the same tags and can filter by them.
# Tasks & Opportunity Management
Source: https://docs.chatfeatured.com/using-chatfeatured/tasks
Turn AI search visibility gaps, competitor citations, and technical audit issues into actionable execution workflows.
ChatFeatured's **Tasks** system bridges the gap between AI visibility insights and practical execution. Instead of wading through raw analytics, the platform continuously analyzes your citation share, competitor mentions, crawler logs, and technical health to generate prioritized, actionable tasks.
Review ephemeral opportunities before committing them to your official task board.
Instruct your Unified AI Agent to create, assign, complete, or dismiss tasks in plain English.
Structured playbooks for Content, Earned Media (PR), UGC, Sentiment, and Site Audits.
Convert content gap tasks directly into research-backed, published articles with one click.
***
## The Two-Stage Opportunity Pipeline
ChatFeatured separates **insight discovery** from **task execution** to prevent workspace clutter:
As ChatFeatured tracks your prompts and crawls your site, it identifies high-impact opportunities. The AI Agent surfaces these cards directly into the **Opportunities Panel** during chat sessions or scheduled automations.
**Surfacing is not adding:** Surfaced opportunities are ephemeral review cards. They do not clutter your task board or consume pipeline capacity until you approve them.
Once you or your team review an opportunity, commit it to the **Tasks Page** by clicking **Add to Tasks** or telling the agent: *"Add that opportunity to my task list."*
Execute the task using ChatFeatured's integrated toolset (e.g., drafting an article, outreach to cited journalists, implementing schema). Once executed, ChatFeatured monitors subsequent AI prompt runs to measure visibility lift.
***
## Opportunity & Task Categories
Every task in ChatFeatured belongs to one of five strategic Answer Engine Optimization (AEO) categories:
**Objective:** Resolve technical and structural barriers preventing AI crawlers from indexing and understanding your content.
* **Data Source:** Technical Site Audit crawler + Edge Crawler Log Analytics (Cloudflare/Vercel).
* **Example Task:** *"Add missing JSON-LD Organization schema and configure llms.txt index file."*
* **Integrated Action:** Direct code snippet generation and automated re-audit verification.
**Objective:** Capture search queries where competitors are cited but your brand has low or zero visibility.
* **Data Source:** Tracked Prompt Runs + Google Ads Search Volume + Competitor Citation Gaps.
* **Example Task:** *"Create Comprehensive Buyer's Guide for Enterprise AEO Platforms."*
* **Integrated Action:** Click **Generate Article** to move the task directly into the content drafting workflow.
**Objective:** Secure brand mentions and links in authoritative third-party publications that AI search engines use as citation sources.
* **Data Source:** Citation Frequency across ChatGPT, Claude, Gemini, and Perplexity.
* **Example Task:** *"Pitch ChatFeatured CEO for inclusion in TechCrunch's generative search round-up."*
* **Integrated Action:** Export source URLs and journalist/outlet attribution data for PR outreach campaigns.
**Objective:** Establish brand presence in user-generated discussions frequently cited by conversational AI models.
* **Data Source:** Cites from Reddit (`r/marketing`, `r/seo`), Quora, Stack Overflow, and niche forums.
* **Example Task:** *"Contribute expert answer to top-cited Reddit thread on AI bot blocking."*
* **Integrated Action:** Direct deep-link to the exact thread cited in AI model responses.
**Objective:** Address negative sentiment signals or missing presence on third-party review platforms.
* **Data Source:** Model sentiment scoring (1–100) and review source citations (G2, Trustpilot, BBB, Capterra).
* **Example Task:** *"Acquire 5 verified G2 reviews focusing on ease of integration to address low Gemini sentiment."*
* **Integrated Action:** Benchmark sentiment score changes over 30-day rolling windows.
***
## Task Settings & Routing
To streamline your team's workflow, you can configure automated assignment rules and email alert routing directly in **Task Settings**.
Choose which team member is automatically assigned to newly created tasks generated by the AI agent, automations, or site audits.
Select which team members receive an immediate email notification whenever a new task is created in the project.
**Project-Scoped Settings:** Task assignment and email alert preferences apply **to this project only**. If you manage multiple brands or client workspaces within ChatFeatured, each project maintains its own independent routing rules.
### How to Configure Task Settings
1. Navigate to **Tasks** in the primary navigation.
2. Click the **Task** **Settings (⚙️)** icon in the top right corner of the Tasks board.
3. Under **Default Assignee**, select a team member from your project members list.
4. Under **Email Alerts**, toggle on the team members who should receive notifications when new tasks are added.
5. Click **Save Settings**.
***
## Managing Tasks via the AI Agent
You can manage your entire task backlog without clicking through menus by switching to `tasks` mode or prompting the Unified Agent directly.
*"I like the earned media recommendation for Forbes. Add it to my tasks with high priority."*
*"What high-priority content tasks are currently in progress for this sprint?"*
*"Mark the task 'Publish llms.txt guide' as completed and check if our citations moved."*
*"Dismiss all low-priority UGC tasks related to Quora."*
The agent retains memory of your team's task actions. It will never re-surface an opportunity you previously dismissed or completed unless new competitive data warrants a re-evaluation.
***
## Tasks vs. Automations (`agent-tasks`)
It is important to understand the distinction between one-off **Tasks** and recurring **Automations**:
| Feature | Tasks (`/tasks`) | Automations (`/agent-tasks`) |
| :------------ | :----------------------------------------------------------------------------- | :-------------------------------------------------------------------------------- |
| **Purpose** | Discrete, actionable work items requiring completion or tracking. | Recurring, autonomous background agent workflows. |
| **Trigger** | Created manually or approved from surfaced opportunities. | Scheduled on a cron cadence (daily, weekly, monthly). |
| **Examples** | *"Publish comparison article"*, *"Fix broken redirect on /pricing"*. | *"Daily AEO Content Generation"*, *"Weekly Competitor Audit Report"*. |
| **Lifecycle** | `Pending` $\rightarrow$ `In Progress` $\rightarrow$ `Completed` / `Dismissed`. | Active schedule $\rightarrow$ Executes background job $\rightarrow$ Sends digest. |
***
## Task Lifecycle & Statuses
* **Surfaced:** Ephemeral card in the Opportunities Panel. Requires user confirmation to persist.
* **To Do (Pending):** Formally added to the workspace backlog. Prioritized as `High`, `Medium`, or `Low`.
* **In Progress:** Currently being drafted, executed, or developed.
* **Completed:** Implementation finished. The platform tracks post-completion visibility and citation impact.
* **Dismissed:** Archived out of view. Preserved in history to prevent the agent from re-suggesting it.
***
## Frequently Asked Questions
No. Surfacing displays an insight in the Opportunities panel for review. It only becomes a formal task with assignees, due dates, and priorities when explicitly approved.
Yes, for supported workflows. For example, approving a **Content Opportunity** can automatically trigger background research, drafting, and queueing in the Content pipeline. Technical audit fixes can generate ready-to-deploy code snippets.
Open **Tasks** $\rightarrow$ **Settings (⚙️)** and update the **Email Alerts** recipient list. Remember that this configuration is project-specific and will not affect other workspace projects.
When a recurring Automation (configured under **Automations / agent-tasks**) discovers actionable items, it surfaces them in your daily/weekly digest email and logs them to the Opportunities panel for review.
Completed tasks remain in your task history for attribution. ChatFeatured's analytics engine correlates completion dates with historical visibility and citation trendlines so you can measure ROI.