Goal
Retrieve audience demographics, behavior patterns, and engagement trends to help agents understand WHO they're creating content for and HOW that audience behaves.
Which Agents Use This
- analytics — Primary use case for audience analysis and reporting
- content_creator — Check audience preferences before drafting content
- custom — Any agent needing audience context for decision-making
Hard Rules
- MUST aggregate over time period (not single snapshot)
- MUST identify actionable patterns (not just raw counts)
- SHOULD compare to platform benchmarks when available
- Require valid account_id that belongs to workspace
Steps
1. Validate input
- Verify account_id exists and belongs to workspace
- Validate time_period is supported
2. Query platform APIs
- Fetch follower demographics from platform (LinkedIn, Twitter, etc.)
- Fetch engagement behavior data
- Fetch content performance by type
3. Aggregate and analyze
- Calculate growth rates
- Identify peak activity times
- Determine content format preferences
- Extract actionable patterns
4. Return structured insights
- Demographics: follower count, growth rate, locations, industries
- Behavior: peak activity times, session duration, engagement by day
- Content preferences: top formats, topics, optimal post length
Output
{
"success": true,
"account_id": "uuid",
"time_period": "30d",
"insights": {
"demographics": {
"follower_count": 12450,
"growth_rate_30d": 0.08,
"top_locations": ["United States", "United Kingdom", "Canada"],
"top_industries": ["Technology", "Marketing", "SaaS"]
},
"behavior": {
"peak_activity_times": ["9am-11am EST", "2pm-4pm EST"],
"engagement_by_day": {
"thursday": 0.038,
"sunday": 0.012
}
},
"content_preferences": {
"top_formats": ["thread", "single_post", "carousel"],
"top_topics": ["remote work", "productivity", "team collaboration"],
"avg_engagement_by_length": {
"short": 0.021,
"medium": 0.028,
"long": 0.034
}
}
}
}
Failure Handling
- If account_id not found: return error "Account not found"
- If platform API fails: return cached data with warning
- If insufficient data for time_period: suggest longer period
Example Usage
Scenario: Analytics agent analyzing audience
{
"account_id": "uuid",
"insights_type": "demographics",
"time_period": "30d"
}
Result: Receive demographic breakdown for strategy planning
1---2name: bolta-get-audience-insights3description: Retrieve audience demographics, behavior patterns, and engagement trends for data-driven content strategy4---56## Goal7Retrieve audience demographics, behavior patterns, and engagement trends to help agents understand WHO they're creating content for and HOW that audience behaves.89## Which Agents Use This10- **analytics** — Primary use case for audience analysis and reporting11- **content_creator** — Check audience preferences before drafting content12- **custom** — Any agent needing audience context for decision-making1314## Hard Rules151. MUST aggregate over time period (not single snapshot)162. MUST identify actionable patterns (not just raw counts)173. SHOULD compare to platform benchmarks when available184. Require valid account_id that belongs to workspace1920## Steps2122### 1. Validate input23- Verify account_id exists and belongs to workspace24- Validate time_period is supported2526### 2. Query platform APIs27- Fetch follower demographics from platform (LinkedIn, Twitter, etc.)28- Fetch engagement behavior data29- Fetch content performance by type3031### 3. Aggregate and analyze32- Calculate growth rates33- Identify peak activity times34- Determine content format preferences35- Extract actionable patterns3637### 4. Return structured insights38- Demographics: follower count, growth rate, locations, industries39- Behavior: peak activity times, session duration, engagement by day40- Content preferences: top formats, topics, optimal post length4142## Output43```json44{45 "success": true,46 "account_id": "uuid",47 "time_period": "30d",48 "insights": {49 "demographics": {50 "follower_count": 12450,51 "growth_rate_30d": 0.08,52 "top_locations": ["United States", "United Kingdom", "Canada"],53 "top_industries": ["Technology", "Marketing", "SaaS"]54 },55 "behavior": {56 "peak_activity_times": ["9am-11am EST", "2pm-4pm EST"],57 "engagement_by_day": {58 "thursday": 0.038,59 "sunday": 0.01260 }61 },62 "content_preferences": {63 "top_formats": ["thread", "single_post", "carousel"],64 "top_topics": ["remote work", "productivity", "team collaboration"],65 "avg_engagement_by_length": {66 "short": 0.021,67 "medium": 0.028,68 "long": 0.03469 }70 }71 }72}73```7475## Failure Handling76- If account_id not found: return error "Account not found"77- If platform API fails: return cached data with warning78- If insufficient data for time_period: suggest longer period7980## Example Usage8182### Scenario: Analytics agent analyzing audience83```json84{85 "account_id": "uuid",86 "insights_type": "demographics",87 "time_period": "30d"88}89```90**Result:** Receive demographic breakdown for strategy planning