Skip to main content

Documentation Index

Fetch the complete documentation index at: https://sitegpt.ai/docs/llms.txt

Use this file to discover all available pages before exploring further.

This playbook is written for AI agents and automation scripts. The goal is:
Given a website URL, create a useful SiteGPT chatbot end-to-end with knowledge, branding, icons, persona, instructions, starters, followups, and initial verification.

Required access

Use a profile with these scopes:
sitegpt login \
  --profile setup-agent \
  --scope account:read \
  --scope chatbots:read \
  --scope chatbots:write \
  --scope knowledge:read \
  --scope knowledge:write \
  --scope settings:read \
  --scope settings:write \
  --scope personas:read \
  --scope personas:write \
  --scope instructions:read \
  --scope instructions:write \
  --scope starters:read \
  --scope starters:write \
  --scope followups:read \
  --scope followups:write
If you also need to delete mistakes during setup, include the matching delete scopes.

Inputs

Ask for or infer:
InputExample
Website URLhttps://example.com
Chatbot purposeCustomer support, lead generation, documentation assistant
Target audienceCustomers, prospects, internal team
Support emailsupport@example.com
Brand preferenceFriendly, formal, concise, technical

1. Inspect the website

Use browser/fetch tools for prose understanding, but use raw HTML for structured signals such as colors, icons, manifest, and sitemap links.
curl -sL https://example.com -o /tmp/sitegpt-page.html
Extract candidate colors:
grep -oE '#[0-9a-fA-F]{6}' /tmp/sitegpt-page.html | sort | uniq -c | sort -rn | head -30
grep -oE 'name="theme-color"[^>]*' /tmp/sitegpt-page.html
Extract candidate icons and images:
grep -oE '<link[^>]*rel="[^"]*icon[^"]*"[^>]*' /tmp/sitegpt-page.html
grep -oE '<link[^>]*apple-touch[^>]*' /tmp/sitegpt-page.html
grep -oE '<link[^>]*manifest[^>]*' /tmp/sitegpt-page.html
grep -oE 'property="og:image"[^>]*content="[^"]*"' /tmp/sitegpt-page.html
Look for sitemap hints:
curl -sL https://example.com/robots.txt
curl -I https://example.com/sitemap.xml
Capture:
  • Brand/product name
  • Value proposition
  • Support topics
  • Docs/pricing/contact URLs
  • Best brand color, preferably from raw HTML, CSS variables, manifest, or a prominent CTA
  • Best icon/logo file, preferably apple-touch-icon, a logo PNG, or a clean square icon
  • Sitemap URL if available
Do not choose a generic color like #2563EB unless the site actually uses it. If color or icon falls back to a default, treat setup as incomplete and inspect raw HTML/assets again.

2. Create the chatbot

sitegpt chatbots create "Example Support" \
  --description "Answers customer questions about Example products, pricing, documentation, and support." \
  --json
Save the returned chatbot ID.
CHATBOT_ID=<returned-chatbot-id>

3. Add knowledge

Prefer a sitemap when available because it usually gives cleaner coverage than a blind crawl.
sitegpt knowledge sitemap add \
  --chatbot $CHATBOT_ID \
  https://example.com/sitemap.xml \
  --max-links 500 \
  --only-main-content true \
  --sync WEEKLY \
  --scan WEEKLY \
  --json
If the website has noisy navigation, cookie banners, or repeated layout blocks, add selectors:
sitegpt knowledge website add \
  --chatbot $CHATBOT_ID \
  https://example.com \
  --include-selector main \
  --exclude-selector nav \
  --exclude-selector footer \
  --only-main-content true

4. Download and upload brand assets

Download the chosen icon/logo to a local file:
curl -sL https://example.com/logo-icon.png -o /tmp/sitegpt-logo.png
file /tmp/sitegpt-logo.png
Upload it as the bot icon and chat bubble icon when it is suitable:
sitegpt icons upload --chatbot $CHATBOT_ID bot /tmp/sitegpt-logo.png
sitegpt icons upload --chatbot $CHATBOT_ID chat-bubble /tmp/sitegpt-logo.png
If the source icon is tiny or visually poor, use the best clean logo mark available rather than a blurry favicon.

5. Configure appearance

Use the extracted brand color and readable contrast.
sitegpt settings appearance update \
  --chatbot $CHATBOT_ID \
  --title "Example Support" \
  --welcome "Hi! I can help with Example products, pricing, documentation, and support." \
  --placeholder "Ask about Example..." \
  --brand-color "#F43F5E" \
  --brand-text-color "#FFFFFF" \
  --link-color "#F43F5E" \
  --icon-shape CIRCLE \
  --icon-position RIGHT

6. Create persona

Write persona text to a temporary file:
cat > /tmp/sitegpt-persona.md <<'EOF'
You are Example's helpful customer support assistant.
Use a clear, friendly, and practical tone.
Prioritize accurate answers from SiteGPT knowledge.
When the visitor asks about pricing, support, integrations, setup, or troubleshooting, answer directly and offer the most relevant next step.
EOF
Create and activate it:
sitegpt personas add --chatbot $CHATBOT_ID --title "Example support specialist" --file /tmp/sitegpt-persona.md --json
sitegpt personas use --chatbot $CHATBOT_ID <persona-id>

7. Create instructions

cat > /tmp/sitegpt-instructions.md <<'EOF'
Answer using the chatbot knowledge first.
If the answer is not available in the knowledge base, say that you do not have enough information and suggest contacting support.
Keep answers concise unless the visitor asks for detail.
Do not invent prices, policies, or guarantees.
When useful, suggest a follow-up question the visitor can ask next.
EOF
sitegpt instructions add --chatbot $CHATBOT_ID --title "Grounded support instructions" --file /tmp/sitegpt-instructions.md --temperature 0.3 --json
sitegpt instructions use --chatbot $CHATBOT_ID <instruction-id>

8. Add starters and followups

Create conversation starters from the website’s main user intents:
sitegpt starters add --chatbot $CHATBOT_ID --title "What can you help with?" --message "What can you help me with?"
sitegpt starters add --chatbot $CHATBOT_ID --title "Pricing" --message "Tell me about pricing."
sitegpt starters add --chatbot $CHATBOT_ID --title "Getting started" --message "How do I get started?"
Create followups:
sitegpt followups add --chatbot $CHATBOT_ID --title "Talk to support" --escalation
sitegpt followups add --chatbot $CHATBOT_ID --title "View docs" --link https://example.com/docs --type LINK
sitegpt followups add --chatbot $CHATBOT_ID --title "Compare plans" --message "Can you compare the plans?"

9. Configure lead and support settings when relevant

For lead-generation sites:
sitegpt settings lead-form update \
  --chatbot $CHATBOT_ID \
  --enabled true \
  --collect-name true \
  --collect-phone true \
  --trigger intent \
  --notification-email sales@example.com
For support-heavy sites:
sitegpt settings human-support update \
  --chatbot $CHATBOT_ID \
  --enabled true \
  --request-prompt "Would you like me to connect you with support?" \
  --notification-email support@example.com

10. Verify the chatbot

sitegpt dashboard --chatbot $CHATBOT_ID --json
sitegpt knowledge documents list --chatbot $CHATBOT_ID --json
sitegpt messages send --chatbot $CHATBOT_ID "What can you help me with?" --json
sitegpt messages send --chatbot $CHATBOT_ID "How do I contact support?" --json
Check for failed documents:
sitegpt knowledge documents list --chatbot $CHATBOT_ID --status FAILED --json
If failures exist:
sitegpt knowledge documents resync --chatbot $CHATBOT_ID --state failed

Quality bar

Before calling the setup complete, confirm:
  • Chatbot title and description match the website.
  • Knowledge was added from sitemap, website crawl, links, files, or text.
  • Brand color is extracted from the real site, not guessed.
  • Bot/chat bubble icon is uploaded when a suitable brand asset exists.
  • Persona and instructions are active.
  • Starters and followups match likely visitor questions.
  • Lead/human support settings match the user’s goal.
  • At least one test message returns a useful answer.
  • dashboard and documents list show no obvious setup failures.

Parallelization guidance

Agents can parallelize independent discovery tasks:
  • Fetch raw HTML, robots.txt, and sitemap.xml.
  • Inspect prose/content in a browser while raw HTML is searched for assets.
  • Download candidate icons while creating persona/instruction drafts.
  • After chatbot creation, add knowledge, upload icons, and prepare settings in parallel when the CLI environment supports safe concurrent commands.
Do not parallelize commands that depend on returned IDs, such as personas use before personas add returns a persona ID.