ply that holds our pricing, explains the value, and doesn't sound defensive."}],l=[{cat:"sales",title:"Proposal Generator",desc:"The Skill built live during Foundations + Build — reads a discovery call transcript and drafts a scoped proposal using your pricing structure.",steps:5},{cat:"client",title:"Client Intake Summariser",desc:"Turns a completed intake form into a one-page brief, every time, in the same format your team already expects.",steps:4},{cat:"marketing",title:"Weekly Content Batch",desc:"Turns one business update into a week of on-brand social posts across three formats.",steps:6},{cat:"ops",title:"Meeting Notes → Actions",desc:"Pulls action items, owners, and dates out of any meeting transcript, and flags anything left unassigned.",steps:4},{cat:"ops",title:"Gmail Inbox Autopilot",desc:"Connects to Gmail, triages what's landed against your rules, and drafts replies in your voice for anything routine — you just hit send.",steps:5,connector:"Gmail"},{cat:"client",title:"Notion Knowledge Sync",desc:"Connects to Notion, pulls the latest client docs and meeting notes into Claude automatically, and pushes summaries back so nothing goes stale.",steps:5,connector:"Notion"},{cat:"marketing",title:"Social Content Autopilot",desc:"Connects to your social accounts, turns one weekly update into a batch of on-brand posts, drafted and queued without opening five different apps.",steps:6,connector:"Socials"},{cat:"sales",title:"Follow-Up Autopilot",desc:"Connects to Gmail and your calendar, spots a warm lead gone quiet, and drafts a tactful follow-up ready for your review.",steps:4,connector:"Gmail + Calendar"}],c={comms:{label:"Inbox, Docs & Calendar",icon:''},projects:{label:"Projects & Tasks",icon:''},sales:{label:"Sales, Payments & Support",icon:''},design:{label:"Design & Content",icon:''},dev:{label:"Engineering & Data",icon:''}},u=[{group:"comms",name:"Gmail",mono:"GM",desc:"Search, summarise and draft email."},{group:"comms",name:"Google Drive",mono:"GD",desc:"Search and read files straight from your Drive."},{group:"comms",name:"Google Calendar",mono:"GC",desc:"Check availability, book, and prep for meetings."},{group:"comms",name:"Microsoft 365",mono:"M365",desc:"Word, Excel, Outlook and Teams data, in one place."},{group:"comms",name:"Notion",mono:"N",desc:"Pull in docs and notes, push summaries back out."},{group:"comms",name:"Slack",mono:"SL",desc:"Read channels, send messages, keep everyone posted."},{group:"comms",name:"1Password",mono:"1P",desc:"Access credentials Claude needs, securely."},{group:"projects",name:"Asana",mono:"AS",desc:"Manage projects and tasks without leaving the chat."},{group:"projects",name:"Linear",mono:"LN",desc:"Create and track development issues."},{group:"projects",name:"Atlassian",mono:"AT",desc:"Plan work in Jira, keep docs in sync in Confluence."},{group:"projects",name:"Zapier",mono:"ZP",desc:"A bridge to thousands of other apps and workflows."},{group:"sales",name:"HubSpot",mono:"HS",desc:"CRM data, connected via Zapier."},{group:"sales",name:"PayPal",mono:"PP",desc:"Payment and transaction data."},{group:"sales",name:"Square",mono:"SQ",desc:"E-commerce and payment processing."},{group:"sales",name:"Plaid",mono:"PL",desc:"Financial and banking data."},{group:"sales",name:"Intercom",mono:"IC",desc:"Respond to customer feedback and file bugs faster."},{group:"design",name:"Canva",mono:"CV",desc:"Generate, edit and export real designs."},{group:"design",name:"Figma",mono:"FG",desc:"Read designs, generate diagrams, bridge code and design."},{group:"dev",name:"GitHub",mono:"GH",desc:"Repositories, issues and pull requests."},{group:"dev",name:"Vercel",mono:"VC",desc:"Deployments, logs and project management."},{group:"dev",name:"Supabase",mono:"SB",desc:"Databases, migrations and project admin."},{group:"dev",name:"Cloudflare",mono:"CF",desc:"Infrastructure and deployment tooling."}],p=function(e,t){return'"};async function m(){if(e&&t){var a=await e.from("resources").select("*").in("category",["video","download"]).order("created_at",{ascending:!1});if(!a.error&&a.data){var n=document.getElementById("videos-mount"),o=document.getElementById("live-video-group");o&&o.remove();var i=a.data.filter(function(e){return"video"===e.category});if(i.length&&n){for(var s='
'}var b=[{key:"telegram",name:"Telegram",time:"5 min",diff:"Easiest",icon:'',steps:[{text:"Open Telegram, message @BotFather, and send /newbot."},{text:"Pick a display name, then a username ending in “bot” (e.g. acmebiz_hermes_bot). BotFather hands you an API token — keep it secret, anyone with it can control your bot."},{text:"Optional polish, still in the BotFather chat: /setdescription, /setabouttext and /setuserpic give your bot a face."},{text:"Planning to use it in group chats? Send /mybots → pick your bot → Bot Settings → Group Privacy → Turn off (then remove and re-add the bot to any group)."},{text:"Message @userinfobot to get your own numeric Telegram user ID — you'll allow-list this so strangers can't message your bot."},{text:"Run the wizard and paste your token + user ID when it asks:",code:"hermes gateway setup"},{text:"Or skip the wizard and drop this straight into ~/.hermes/.env:",code:"TELEGRAM_BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrSTUvwxYZ\nTELEGRAM_ALLOWED_USERS=123456789"},{text:"Start the gateway — your bot goes live within seconds:",code:"hermes gateway"}]},{key:"discord",name:"Discord",time:"7 min",diff:"Easy",icon:'',steps:[{text:"Head to the Discord Developer Portal, click “New Application”, and name it."},{text:"Open the Bot tab and enable “Public Bot” under Authorization Flow."},{text:"Scroll to Privileged Gateway Intents and turn ON both Message Content Intent and Server Members Intent, then Save Changes — Hermes can't read messages or identify people without these."},{text:"Under Token, click Reset Token, confirm with 2FA, and copy it immediately — Discord only shows it once."},{text:"Go to Installation, enable Guild Install, and use the Discord-provided invite link to add the bot to your server."},{text:"Right-click your own name in Discord (with Developer Mode on) → Copy User ID."},{text:"Run the wizard and paste your bot token + user ID:",code:"hermes gateway setup"},{text:"Or configure it by hand in ~/.hermes/.env:",code:"DISCORD_BOT_TOKEN=your-token\nDISCORD_ALLOWED_USERS=your-user-id"},{text:"Start the gateway:",code:"hermes gateway"}]},{key:"whatsapp",name:"WhatsApp",time:"5 min",diff:"Easy",icon:'',steps:[{text:"Run the WhatsApp wizard directly — it prints a QR code straight into your terminal:",code:"hermes whatsapp"},{text:"On your phone: WhatsApp → Settings → Linked Devices → Link a Device, then scan that QR code."},{text:"Choose bot mode or self-chat mode when asked. Self-chat runs the agent inside your own WhatsApp; bot mode gives it a separate identity, which needs its own number (a Google Voice number, a $5–15 prepaid SIM, or a VoIP number like TextNow all work)."},{text:"Decide who's allowed to message it, in ~/.hermes/.env:",code:"WHATSAPP_EN"}]