Agent Reference

Complete reference for all 21 AI agents in Upland Hub. Each agent is a specialized marketing tool that generates content, analysis, or strategy based on the client's brand kit and your input.


How Agents Work

  1. You provide input -- topic, parameters, context specific to the task
  2. The agent builds a prompt -- combining its system prompt, quality preamble, brand kit context, and your input
  3. AI generates output -- Claude Sonnet/Opus (or Workers AI fallback) produces structured JSON
  4. Content items are created -- output is parsed into content_items in the database
  5. Review queue -- content appears for review (unless set to auto_publish)
  6. Chaining -- some agents auto-trigger follow-up agents (see Agent Chaining section)

Quality Preamble

Every agent has a quality preamble injected before its system prompt that enforces:

  • No cliches ("elevate", "unlock", "game-changer", "dive in")
  • No filler phrases ("In today's world", "Are you looking for")
  • Active voice, short sentences, punchy rhythm
  • Specific and concrete references (not generic)
  • Exact brand voice matching
  • Valid JSON output format

Content Agents

Social Post Generator

Content Claude Sonnet 4.6 3 credits Min: Locals

Agent type: social_post

Creates engaging social media posts tailored to specific platforms. Adapts tone and format for Instagram (visual-first, storytelling), Facebook (conversational, link-friendly), and TikTok (trendy, hook-first).

When to use: Weekly content generation, promoting events, seasonal posts, product highlights.

Input fields

FieldTypeRequiredDescription
topicstringYesWhat the post is about
platformsstring[]NoTarget platforms (default: instagram, facebook)
countnumberNoNumber of posts to generate (default: 1)
moodstringNoTone/mood for the post (e.g., "casual", "excited", "informative")
include_imagebooleanNoWhether to generate image prompts (default: true)
additional_contextstringNoExtra context for the AI
special_instructionsstringNoOverride or supplement instructions

Example input

{
  "topic": "New spring cocktail menu launching this weekend",
  "platforms": ["instagram", "facebook"],
  "mood": "excited but not over-the-top",
  "additional_context": "3 new cocktails: Lavender Collins, Smoked Pear Old Fashioned, Yuzu Spritz"
}

Sample output: Platform-specific captions with hashtags, image generation prompts for each post, metadata with suggested posting times.

Weekly Specials Engine

Content Claude Sonnet 4.6 8 credits Min: Starter

Agent type: weekly_special

Takes a weekly special (food, drink, promotion) and creates a full content package: Instagram feed post, story concept, and Kling AI video prompt. Designed for bars and restaurants.

When to use: Every time a client has a new weekly special, seasonal menu item, or limited-time offer.

Input fields

FieldTypeRequiredDescription
special_namestringYesName of the special
special_descriptionstringYesWhat the special is
pricestringNoPrice of the special
available_daysstringNoWhen it's available (default: "This week only")
ingredientsstringNoKey ingredients
chef_notesstringNoNotes from the chef/bartender
pairing_suggestionstringNoWhat pairs well with it

Example input

{
  "special_name": "Smoked Pear Old Fashioned",
  "special_description": "Bourbon, house-made pear syrup, applewood smoke, Angostura bitters",
  "price": "$14",
  "available_days": "Thursday through Saturday",
  "chef_notes": "We smoke the glass tableside with a torch",
  "pairing_suggestion": "Our charcuterie board with aged cheddar"
}

Sample output: Feed post caption, story text overlay, Kling video prompt (5-second slow zoom with smoke/condensation), image prompts, hashtags.

Chaining: Automatically triggers social_post + video_script when complete.

Blog & Long-Form Writer

Content Claude Sonnet 4.6 5 credits Min: Standard

Agent type: blog_post

Writes SEO-optimized blog posts (800-1500 words) with title, meta description, H2/H3 structure, FAQ section, and internal linking suggestions.

When to use: Monthly blog posts for SEO, seasonal content pages, educational articles, local guides.

Input fields

FieldTypeRequiredDescription
topicstringYesBlog topic
primary_keywordstringNoTarget keyword (auto-selected if omitted)
word_countstringNoTarget length (default: "1000-1500")
audiencestringNoTarget reader (default: "Local customers searching online")
anglestringNoSpecific angle or hook
competitor_contentstringNoCompetitor content to beat
internal_pagesstringNoPages to link to internally

Example input

{
  "topic": "Best Happy Hour Spots in Walla Walla",
  "primary_keyword": "happy hour walla walla",
  "angle": "Insider guide from a local who's tried them all",
  "word_count": "1200"
}

Sample output: Full blog post in markdown, meta description, keyword list, FAQ pairs (schema-ready), image alt text suggestions, internal linking recommendations.

Chaining: Automatically triggers social_post to promote the blog.

Wine Tasting Notes

Content (Winery) Claude Opus 4.6 5 credits Min: Vine Starter

Agent type: tasting_notes

Creates sommelier-level tasting notes with visual, nose, palate, food pairings, and occasion suggestions. Generates both a full tasting note (for website/print) and a social media version. Uses Opus for nuanced wine language.

When to use: New wine releases, tasting room menu updates, wine club shipments, seasonal features.

Input fields

FieldTypeRequiredDescription
wine_namestringYesName of the wine
varietalstringYesGrape variety (e.g., "Cabernet Sauvignon")
vintagestringNoVintage year
regionstringNoAVA/region (default: "Walla Walla Valley")
abvstringNoAlcohol by volume
pricestringNoRetail price
winemaker_notesstringNoNotes from the winemaker
barrel_agingstringNoBarrel aging details
production_notesstringNoProduction method details
vineyardstringNoSpecific vineyard source

Example input

{
  "wine_name": "Revelry Red Mountain Reserve",
  "varietal": "Cabernet Sauvignon",
  "vintage": "2022",
  "region": "Red Mountain AVA",
  "abv": "14.5%",
  "price": "$65",
  "barrel_aging": "22 months in 60% new French oak",
  "vineyard": "Quintessence Vineyard"
}

Sample output: Instagram caption with abbreviated tasting note + hashtags, full tasting note in markdown (visual/nose/palate/pairings/occasion), metadata with varietal, vintage, ABV, price, rating.


Strategy Agents

Content Calendar Planner

Strategy Claude Sonnet 4.6 10 credits Min: Starter

Agent type: content_calendar

Creates a full monthly content calendar with day-by-day posting plan. Balances content mix (40% promotional, 25% educational, 20% community, 15% engagement) and accounts for local events and seasons.

When to use: Beginning of each month, new client onboarding, quarterly planning.

Input fields

FieldTypeRequiredDescription
monthstringNoTarget month (default: current month)
platformsstring[]NoTarget platforms (default: instagram, facebook)
posts_per_weeknumberNoPosts per week (default: 4)
focus_areasstring[]NoThemes to emphasize this month
upcoming_eventsstringNoEvents to plan around
promotionsstringNoPromotions to include
avoidstringNoTopics or themes to skip

Example input

{
  "month": "April 2026",
  "platforms": ["instagram", "facebook"],
  "posts_per_week": 5,
  "focus_areas": ["spring menu launch", "patio season opening"],
  "upcoming_events": "Earth Day April 22, local wine festival April 18-19"
}

Sample output: Full calendar in markdown table format with metadata for each day: date, content type, platform, topic, category, caption idea, media type, and notes.

Chaining: Automatically triggers social_post to generate actual posts from calendar entries.

Competitor Intelligence

Strategy Claude Sonnet 4.6 5 credits Min: Premium

Agent type: competitor_watch

Analyzes competitor marketing: content types, engagement patterns, messaging, gaps, and threats. Delivers specific, actionable recommendations.

When to use: Monthly competitive review, before launching a new campaign, when a client asks "what are they doing that we're not?"

Input fields

FieldTypeRequiredDescription
competitorsstringNoNames of competitors to analyze (default: from brand kit)
focusstringNoSpecific area to focus on
platformsstringNoPlatforms to compare (default: all)
timeframestringNoAnalysis period (default: "Last 30 days")

Example input

{
  "competitors": "Basin City Brewing, Waterbrook Winery, Whitehouse-Crawford",
  "focus": "Instagram engagement and content strategy",
  "timeframe": "Last 60 days"
}

Sample output: Full competitive analysis report in markdown with competitors analyzed, key findings, opportunities, threats, and prioritized action items with expected impact.


SEO Agents

SEO & Google Business

SEO Claude Sonnet 4.6 3 credits Min: Locals

Agent type: seo_gbp

Handles Google Business Profile posts, local keyword research, NAP consistency checks, review generation strategy, and "near me" search optimization.

When to use: Weekly GBP updates, keyword research, listing audits, review strategy setup.

Input fields

FieldTypeRequiredDescription
taskstringNoTask type: create_gbp_post, keyword_research, listing_audit, review_strategy (default: create_gbp_post)
keywordsstringNoTarget keywords
focusstringNoSpecific focus area

Example input

{
  "task": "keyword_research",
  "focus": "cocktail bar and happy hour related terms"
}

Sample output: For create_gbp_post: GBP post with CTA, keywords, and post type. For keyword_research: top 20 local keywords categorized by intent. For listing_audit: completeness assessment with improvements. For review_strategy: templates for requesting and responding to reviews.

GEO Agent (Generative Engine Optimization)

SEO Claude Opus 4.6 5 credits Min: Premium

Agent type: geo_optimization

Optimizes content for AI search engines (ChatGPT, Perplexity, Gemini, Claude). Creates entity-clear, schema-ready content with "citation hooks" that AI engines are likely to quote. Uses Opus for its stronger reasoning capabilities.

When to use: Website content optimization, FAQ pages, service pages, when you want a business to appear in AI-generated answers.

Input fields

FieldTypeRequiredDescription
taskstringNofull_audit, about_page, faq_page, service_page (default: full_audit)
target_queriesstringNoAI queries to optimize for
competitorsstringNoCompetitors to outrank in AI answers
existing_contentstringNoCurrent content to optimize

Example input

{
  "task": "faq_page",
  "target_queries": "best cocktail bar walla walla, where to drink in walla walla, walla walla nightlife"
}

Sample output: GEO-optimized content with target queries, entity statements, schema markup suggestions, and citation hooks designed to be quoted by AI search engines.


Engagement Agents

Review Response Agent

Engagement Claude Sonnet 4.6 2 credits Min: Starter

Agent type: review_response

Drafts responses to customer reviews (Google, Yelp, Facebook). Follows different rules for positive reviews (thank, reference specifics, invite back) and negative reviews (acknowledge, apologize, move offline).

When to use: Every time a new review comes in. Can be automated via webhook (see Webhook Guide).

Input fields

FieldTypeRequiredDescription
platformstringNoReview platform (default: "Google")
ratingnumberYesStar rating (1-5)
reviewer_namestringNoReviewer's name
review_textstringYesThe full review text
datestringNoReview date

Example input

{
  "platform": "Google",
  "rating": 4,
  "reviewer_name": "Sarah M",
  "review_text": "Great cocktails and the staff was really friendly. Only downside was the wait time on a Friday night - about 30 minutes for a table. But worth it once we sat down!",
  "date": "2026-03-15"
}

Sample output: Response text appropriate for the rating, with metadata indicating tone, whether follow-up is needed, and the reviewer name.

Reddit & Forum Agent

Engagement Claude Sonnet 4.6 3 credits Min: Premium

Agent type: reddit_engagement

Creates authentic Reddit-style comments and posts that mention the business naturally. Uses Reddit language ("honestly", "lowkey", "ngl", "solid") and never sounds promotional. Designed to be indistinguishable from genuine community member posts.

When to use: When targeting Reddit threads like "best bars in Walla Walla", "visiting this weekend", "date night ideas."

Input fields

FieldTypeRequiredDescription
subredditsstringNoTarget subreddits (default: r/wallawalla, r/TriCitiesWA, r/wine)
thread_typestringNoType of threads to target (default: "recommendations")
specific_threadsstringNoSpecific thread titles to respond to
personastringNoPersona to write as (default: "Local who genuinely enjoys going to this place")

Example input

{
  "subreddits": "r/wallawalla, r/WashingtonWine",
  "specific_threads": "Best bars in Walla Walla?\nVisiting WW this weekend, what should I do?\nGood happy hour spots near downtown?"
}

Sample output: 3-4 Reddit comments with subreddit, thread type, target thread title, authenticity score, and tone metadata.


Email Agents

Email Campaign Creator

Email Claude Sonnet 4.6 5 credits Min: Standard

Agent type: email_campaign

Creates email campaigns with subject line A/B variants, preview text, body copy, and CTA. Formats for mobile-first reading with short paragraphs.

When to use: Promotional emails, event announcements, seasonal campaigns, wine club communications.

Input fields

FieldTypeRequiredDescription
campaign_typestringNoType: promotional, newsletter, event, wine_club (default: "promotional")
purposestringYesWhat the email is about
offerstringNoSpecific offer or promotion
eventstringNoEvent details
audience_segmentstringNoTarget audience (default: "All subscribers")
key_messagestringNoCore message to convey
deadlinestringNoTime sensitivity

Example input

{
  "campaign_type": "event",
  "purpose": "Promote our live music night this Saturday",
  "event": "Live jazz trio, 7-10pm Saturday, no cover charge",
  "key_message": "Perfect date night with great music and cocktails",
  "deadline": "This Saturday"
}

Sample output: Complete email with 3 subject line variants, preview text, markdown body, CTA text and URL, campaign type, and suggested send time.

Newsletter Builder

Email Claude Sonnet 4.6 5 credits Min: Standard

Agent type: newsletter

Creates recurring newsletters with a main story, quick updates, community spotlight, and CTA. Designed to feel like a personal update from someone at the business, not a marketing blast. Keeps total length under 500 words.

When to use: Weekly or bi-weekly newsletter production, wine club updates, seasonal roundups.

Input fields

FieldTypeRequiredDescription
editionstringNoEdition name (default: "This week")
frequencystringNoNewsletter frequency (default: "weekly")
main_storystringNoMain story/news (auto-generated if omitted)
updatesstringNoQuick updates to include
promotionstringNoPromotion to feature
community_notestringNoLocal/community note
tonestringNoTone for this issue

Example input

{
  "edition": "March Week 3",
  "main_story": "We just hired a new head bartender from Portland with 12 years experience",
  "updates": "New spring menu drops Friday; Trivia night moving to Wednesdays",
  "community_note": "Walla Walla Community College wine program graduation this weekend"
}

Sample output: Complete newsletter in markdown with 3 subject line variants, preview text, sections breakdown, word count, image suggestions, and recommended send day/time.


Media Agents

Video Content Studio

Media Claude Sonnet 4.6 8 credits Min: Standard

Agent type: video_script

Creates short-form video scripts (under 60 seconds) for Instagram Reels, TikTok, and YouTube Shorts. Includes shot-by-shot breakdown with timestamps, text overlays, audio notes, and Kling AI video generation prompts.

When to use: Product showcases, weekly special promos, behind-the-scenes content, trend-based videos.

Input fields

FieldTypeRequiredDescription
subjectstringYesWhat the video is about
platformstringNoTarget platform (default: "instagram")
durationstringNoTarget length (default: "15-30 seconds")
stylestringNoVideo style (default: "product showcase")
productstringNoFeatured product
trendstringNoTrend or format to use
key_messagestringNoCore message
include_klingbooleanNoGenerate Kling AI prompt

Example input

{
  "subject": "Making our signature Smoked Old Fashioned",
  "platform": "instagram",
  "duration": "15 seconds",
  "style": "product showcase",
  "include_kling": true
}

Sample output: Full video script with shot-by-shot breakdown (timestamp, visual, text overlay, audio), Kling AI prompt, music mood, and optional trending sound suggestion.

TikTok Content Engine

Media Claude Sonnet 4.6 8 credits Min: Premium

Agent type: tiktok_content

Creates TikTok-native content concepts with scripts, text overlays, sound suggestions, and filming instructions. Focuses on trending formats, authenticity over production value, and 1-second hooks.

When to use: Weekly TikTok content batches, adapting trending formats, behind-the-scenes content, educational content.

Input fields

FieldTypeRequiredDescription
countnumberNoNumber of concepts (default: 3)
focusstringNoContent focus (default: "mix of content types")
trendingstringNoCurrent trends to adapt
products_to_featurestringNoProducts to highlight
staff_availablestringNoStaff available for filming
avoidstringNoThings to avoid

Example input

{
  "count": 3,
  "focus": "behind-the-scenes and product reveals",
  "products_to_feature": "Smoked Old Fashioned, house charcuterie board",
  "staff_available": "Head bartender Marcus"
}

Sample output: 3 TikTok concepts each with full script, shot descriptions, text overlays, sound suggestion, filming notes, hashtags, effort level, and best posting time.


Website Agents

Website Page Generator

Website Claude Opus 4.6 10 credits Min: Premium

Agent type: website_page

Writes complete website copy for home pages, about pages, service/menu pages, contact pages, and landing pages. Includes SEO metadata, section-by-section structure, and image suggestions. Uses Opus for higher-quality long-form copy.

When to use: New website builds, website refreshes, landing pages for campaigns, service page optimization.

Input fields

FieldTypeRequiredDescription
page_typestringNoPage type: home, about, services, contact, landing (default: "home")
purposestringNoPage purpose
target_keywordsstringNoSEO keywords
existing_copystringNoCurrent copy to improve
competitor_pagesstringNoCompetitor pages to beat
special_sectionsstringNoSpecific sections to include
tonestringNoTone override

Example input

{
  "page_type": "about",
  "purpose": "Tell our story and build trust with first-time visitors",
  "target_keywords": "craft cocktail bar walla walla, downtown walla walla drinks",
  "special_sections": "Our story, the team, our philosophy on cocktails"
}

Sample output: Complete page copy in markdown with meta title, meta description, section-by-section breakdown (headline, subheadline, CTA, image description for each section), word count.


Advertising Agents

Ad Copy Generator

Advertising Claude Sonnet 4.6 5 credits Min: Premium

Agent type: ad_copy

Creates advertising copy for Google Ads (responsive search format: 3 headlines at 30 chars, 2 descriptions at 90 chars) and Meta Ads (primary text, headline, description, CTA button). Generates 3 variants per platform for A/B testing.

When to use: Launching paid campaigns, seasonal ad pushes, event promotion, retargeting campaigns.

Input fields

FieldTypeRequiredDescription
objectivestringNoCampaign objective (default: "drive foot traffic")
platformsstring[]NoAd platforms (default: google_ads, facebook)
budgetstringNoMonthly budget
offerstringNoOffer/promotion
target_audiencestringNoTarget audience description
landing_pagestringNoLanding page URL
competitorsstringNoCompetitor ads to beat
keywordsstringNoTarget keywords (for Google Ads)

Example input

{
  "objective": "drive weekend foot traffic",
  "platforms": ["google_ads", "facebook"],
  "budget": "$500/month",
  "offer": "Happy hour 4-6pm daily, half-price appetizers",
  "target_audience": "25-45 year olds within 15 miles"
}

Sample output: 3 Google Ads variants (headlines, descriptions, display path, keywords) + 3 Meta Ads variants (primary text, headline, description, CTA, audience suggestion).


Analytics Agents

Analytics & Reporting

Analytics Claude Sonnet 4.6 5 credits Min: Standard

Agent type: analytics_report

Creates monthly performance reports in plain English. Translates metrics into what they mean for the business. Includes executive summary, key metrics, what worked, what didn't, and specific action items for next month.

When to use: Monthly client reporting, quarterly business reviews, campaign post-mortems.

Input fields

FieldTypeRequiredDescription
periodstringNoReporting period (default: "This month")
metricsobjectNoAvailable metrics data (generates template if omitted)
goalsstringNoClient goals to measure against
previous_reportstringNoHighlights from last report for comparison

Example input

{
  "period": "March 2026",
  "goals": "Increase Instagram engagement rate to 4%, grow followers by 50",
  "previous_report": "February: 3.2% engagement rate, +28 followers, top post was the Valentine's cocktail special"
}

Sample output: Full report in markdown with key metrics (posts, engagement, follower growth, top post type, best posting time), top performing posts with analysis, underperformers with assessment, and prioritized recommendations with expected impact and effort level.


Agency Tools

These agents are for internal agency use (prospecting and sales). They do not require a client brand kit.

Prospect Marketing Audit

Agency Tools Claude Sonnet 4.6 8 credits Agency only

Agent type: prospect_audit

Performs a comprehensive marketing audit of a prospect's online presence. Scores 7 areas on a 1-10 scale, identifies quick wins, recommends a plan tier, maps gaps to specific agents, and estimates ROI. Also generates a ready-to-send prospect email.

When to use: Before reaching out to a potential client. This is your primary sales tool.

Input fields

FieldTypeRequiredDescription
business_namestringYesProspect business name
business_urlstringNoTheir website URL
business_typestringNoType of business
locationstringNoCity/neighborhood
social_handlesstringNoInstagram/Facebook handles
google_maps_urlstringNoGoogle Maps listing URL
notesstringNoThings you noticed about their marketing
competitor_namesstringNoKnown competitors

Example input

{
  "business_name": "Basin City Brewing",
  "business_url": "https://basincitybrewing.com",
  "business_type": "Craft brewery and taproom",
  "location": "Richland, WA",
  "social_handles": "@basincitybrewing on Instagram",
  "notes": "Great product photos but only posting once every 2 weeks. No Google review responses.",
  "competitor_names": "Bombing Range Brewing, Ice Harbor Brewing"
}

Sample output: Full audit report with 7-area scorecard, overall score, quick wins per area, recommended plan, recommended agents, estimated monthly value, ROI estimate, and a prospect email ready to send.

Demo Content Generator

Agency Tools Claude Sonnet 4.6 5 credits Agency only

Agent type: demo_content

Creates sample marketing content for a prospect to demonstrate what their marketing could look like. Does not require a brand kit -- builds a lightweight context from input fields. Generates 3-4 content pieces: Instagram feed post, Facebook post, promotional post, and story concept.

When to use: Alongside the Prospect Audit, before sending outreach. Give them a taste of what Upland can do.

Input fields

FieldTypeRequiredDescription
business_namestringYesProspect business name
business_typestringNoType of business
locationstringNoCity/neighborhood
vibestringNoAtmosphere: casual, upscale, family-friendly, hip, rustic, modern
known_productsstringNoKey products/services
target_audiencestringNoWho their customers are
website_urlstringNoTheir website
social_handlesstringNoTheir social accounts
specific_promotionstringNoA current special or event to build content around

Example input

{
  "business_name": "Basin City Brewing",
  "business_type": "Craft brewery and taproom",
  "location": "Richland, WA",
  "vibe": "casual",
  "known_products": "Nuke Juice IPA, Atomic Amber Ale, weekend food trucks",
  "specific_promotion": "New spring seasonal: Cherry Blossom Wheat"
}

Sample output: 3-4 polished content pieces with full captions, hashtags, and image prompts -- custom-tailored to their business.

Cold Outreach Generator

Agency Tools Claude Sonnet 4.6 5 credits Agency only

Agent type: cold_outreach

Creates a 4-email cold outreach sequence plus Instagram DM and LinkedIn connection message scripts. Each email has a specific purpose (initial outreach, value follow-up, social proof, breakup) with send timing. Personalized to the specific prospect.

When to use: After running a Prospect Audit and Demo Content. Use the audit findings to make outreach hyper-specific.

Input fields

FieldTypeRequiredDescription
business_namestringYesProspect business name
business_typestringNoType of business
locationstringNoLocation
owner_namestringNoOwner/contact name (uses warm general addressing if unknown)
pain_pointsstringNoMarketing pain points identified
hookstringNoWhat you are offering (default: "free audit")
audit_highlightsstringNoKey findings from the prospect audit
known_productsstringNoTheir products/services
recent_activitystringNoRecent news or activity
competitor_mentionstringNoA competitor doing something better

Example input

{
  "business_name": "Basin City Brewing",
  "owner_name": "Jake",
  "business_type": "Craft brewery",
  "location": "Richland, WA",
  "pain_points": "Posting only every 2 weeks, no review responses",
  "audit_highlights": "Social media score 3/10, review management 2/10, but great product quality",
  "hook": "free marketing audit + sample content",
  "competitor_mention": "Bombing Range Brewing posts 4x/week and responds to every review"
}

Sample output: 4 emails with subject lines, bodies, and send timing (Day 0, 3, 7, 14). Plus an Instagram DM script and LinkedIn connection message. All hyper-personalized.

Client Proposal Generator

Agency Tools Claude Opus 4.6 10 credits Agency only

Agent type: proposal_generator

Creates a professional marketing proposal in markdown (convertible to PDF). Includes the opportunity assessment, specific deliverables, month-1 content calendar, technology overview, ROI comparison, social proof, and next steps. Uses Opus for its stronger reasoning and persuasive writing.

When to use: When a prospect responds positively and you need to close the deal.

Input fields

FieldTypeRequiredDescription
business_namestringYesProspect business name
business_typestringNoType of business
locationstringNoLocation
owner_namestringNoOwner/contact name
recommended_planstringNoPlan to propose (auto-assessed if omitted)
pain_pointsstringNoTheir marketing pain points
audit_highlightsstringNoKey audit findings
budget_rangestringNoTheir stated budget
competitorsstringNoLocal competitors
specific_goalsstringNoWhat they want to achieve
known_productsstringNoTheir key products/services

Example input

{
  "business_name": "Basin City Brewing",
  "owner_name": "Jake",
  "business_type": "Craft brewery and taproom",
  "location": "Richland, WA",
  "recommended_plan": "standard",
  "pain_points": "Inconsistent posting, no email list, competitors outpacing on social",
  "specific_goals": "Fill the taproom on weeknights, grow their email list to 500"
}

Sample output: Full proposal in markdown with all sections, plus a month-1 content calendar preview. Metadata includes recommended plan, price, estimated content pieces, ROI multiplier, and traditional agency equivalent cost.


Agent Chaining

Some agents automatically trigger follow-up agents when they complete. This creates a pipeline where one piece of work generates related content without manual intervention.

Active Chains

Trigger AgentAuto-TriggersCondition
Content CalendarSocial PostOnly if calendar entries were generated
Blog PostSocial PostOnly if a blog content item was generated
Weekly SpecialSocial Post + Video ScriptAlways (no condition)

How Chaining Works

  1. A parent agent completes and produces output
  2. The chain executor checks if a chain is defined for that agent type
  3. For each step in the chain:
    • Check the optional condition (e.g., "did the parent produce calendar entries?")
    • Check that the child agent is enabled for the client org
    • Map the parent output to child input (extract relevant context)
    • Create a new agent_run with trigger_type: 'chained' and parent_run_id set
    • Queue the child run for processing
  4. Chained runs appear in the review queue with a "chain" indicator
  5. Each chained run costs its own credits

Example: Weekly Special Chain

When you run the Weekly Special agent for The Hop Thief:

  1. Weekly Special agent generates: feed post caption, story concept, video prompt (costs 8 credits)
  2. Chain auto-triggers Social Post agent with the special's details (costs 3 credits)
  3. Chain auto-triggers Video Script agent with the special's details (costs 8 credits)
  4. Total: 19 credits for a complete content package from one input

All three outputs appear in the review queue. Approve or reject each independently.


Quick Reference Table

AgentTypeModelCreditsMin PlanCategory
Social Post Generatorsocial_postSonnet3LocalsContent
Weekly Specials Engineweekly_specialSonnet8StarterContent
Blog & Long-Form Writerblog_postSonnet5StandardContent
Wine Tasting Notestasting_notesOpus5Vine StarterContent
Content Calendar Plannercontent_calendarSonnet10StarterStrategy
Competitor Intelligencecompetitor_watchSonnet5PremiumStrategy
SEO & Google Businessseo_gbpSonnet3LocalsSEO
GEO Agentgeo_optimizationOpus5PremiumSEO
Review Response Agentreview_responseSonnet2StarterEngagement
Reddit & Forum Agentreddit_engagementSonnet3PremiumEngagement
Email Campaign Creatoremail_campaignSonnet5StandardEmail
Newsletter BuildernewsletterSonnet5StandardEmail
Video Content Studiovideo_scriptSonnet8StandardMedia
TikTok Content Enginetiktok_contentSonnet8PremiumMedia
Website Page Generatorwebsite_pageOpus10PremiumWebsite
Ad Copy Generatorad_copySonnet5PremiumAdvertising
Analytics & Reportinganalytics_reportSonnet5StandardAnalytics
Prospect Marketing Auditprospect_auditSonnet8AgencyAgency Tools
Demo Content Generatordemo_contentSonnet5AgencyAgency Tools
Cold Outreach Generatorcold_outreachSonnet5AgencyAgency Tools
Client Proposal Generatorproposal_generatorOpus10AgencyAgency Tools