Your First Mission¶
This guide walks you through creating a complete content mission, from initial setup to analyzing results.
What You'll Build¶
By the end of this guide, you'll have:
- A fully configured brand context
- An active content mission
- Generated, platform-optimized content
- Scheduled posts across multiple platforms
- Analytics tracking in place
Prerequisites¶
Step 1: Configure Brand Context¶
Before generating content, AMP needs to understand your brand. The brand context includes your voice, visual identity, and content guidelines.
Quick Setup (Recommended)¶
Let AMP automatically extract your brand from your website:
curl -X POST https://api.amp.dev/v1/onboard/quick \
-H "Authorization: Bearer $AMP_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"website_url": "https://yourcompany.com",
"platforms": ["twitter", "linkedin", "instagram"],
"additional_context": "We are a B2B SaaS company focused on developer tools"
}'
Response
Monitor onboarding progress:
curl https://api.amp.dev/v1/onboard/onb_3xL9nQqS5wY7tU4v/status \
-H "Authorization: Bearer $AMP_API_KEY"
Manual Configuration¶
For more control, configure brand context manually:
curl -X POST https://api.amp.dev/v1/brand \
-H "Authorization: Bearer $AMP_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"voice": {
"tone": "professional yet approachable",
"personality": ["knowledgeable", "helpful", "direct"],
"writing_style": "Clear, concise sentences. Active voice.",
"formality": "business_casual"
},
"visual_identity": {
"primary_color": "#7c3aed",
"secondary_color": "#f59e0b",
"image_style": "modern, clean, tech-focused"
},
"content_guidelines": {
"topics": ["developer productivity", "API design", "team collaboration"],
"excluded_topics": ["politics", "religion", "competitor criticism"],
"hashtag_preferences": ["#DevTools", "#API", "#Productivity"],
"cta_style": "soft sell, value-first"
}
}'
Step 2: Create Your Mission¶
Now define what you want to achieve. Missions have:
- Objectives — What you want to accomplish
- Platforms — Where content will be published
- Constraints — Rules the AI must follow
- KPIs — Metrics to track and optimize
curl -X POST https://api.amp.dev/v1/missions \
-H "Authorization: Bearer $AMP_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Developer Awareness Campaign",
"description": "Build awareness among developers about our new API features",
"objectives": [
"Increase brand awareness in developer community",
"Drive traffic to documentation",
"Generate beta signup interest"
],
"platforms": ["twitter", "linkedin"],
"constraints": {
"tone": "technical but accessible",
"cadence": "daily",
"posts_per_day": 2,
"posting_times": ["09:00", "14:00"],
"timezone": "America/New_York",
"require_approval": false,
"budget_cents": 50000,
"excluded_topics": ["pricing", "competitor comparisons"]
},
"kpis": [
{
"metric": "engagement_rate",
"target": 4.0,
"platform": "twitter"
},
{
"metric": "impressions",
"target": 50000,
"platform": "all"
},
{
"metric": "link_clicks",
"target": 500,
"platform": "all"
}
],
"duration_days": 30,
"start_immediately": true
}'
Response
{
"id": "msn_4yM0oRrT6xZ8uV5w",
"name": "Developer Awareness Campaign",
"status": "active",
"pipeline_job_id": "job_8zI4pMsX6yN3qL0w",
"platforms": ["twitter", "linkedin"],
"created_at": "2024-01-15T10:30:00Z",
"starts_at": "2024-01-15T10:30:00Z",
"ends_at": "2024-02-14T10:30:00Z",
"estimated_posts": 60
}
Step 3: Monitor Pipeline Execution¶
The pipeline processes your mission through six stages. Track progress:
curl https://api.amp.dev/v1/pipeline/jobs/job_8zI4pMsX6yN3qL0w \
-H "Authorization: Bearer $AMP_API_KEY"
{
"id": "job_8zI4pMsX6yN3qL0w",
"mission_id": "msn_4yM0oRrT6xZ8uV5w",
"status": "running",
"current_stage": "strategy",
"stages": {
"intake": {"status": "completed", "duration_ms": 1250},
"strategy": {"status": "running", "started_at": "2024-01-15T10:31:00Z"},
"content": {"status": "pending"},
"publish": {"status": "pending"},
"analytics": {"status": "pending"},
"optimize": {"status": "pending"}
},
"progress_percent": 25
}
Pipeline Stages¶
| Stage | Description | Duration |
|---|---|---|
| Intake | Parse mission objectives and constraints | ~1-2s |
| Strategy | Generate content strategy and calendar | ~30-60s |
| Content | Create copy and visuals for each post | ~2-5min |
| Publish | Schedule content on platforms | ~10-30s |
| Analytics | Collect performance data (ongoing) | Continuous |
| Optimize | Analyze and improve strategy | Daily |
Step 4: Review Generated Content¶
Once content generation completes, review what was created:
curl "https://api.amp.dev/v1/content?mission_id=msn_4yM0oRrT6xZ8uV5w&limit=10" \
-H "Authorization: Bearer $AMP_API_KEY"
Response
{
"data": [
{
"id": "cnt_5zN1pSsU7yA9vW6x",
"mission_id": "msn_4yM0oRrT6xZ8uV5w",
"platform": "twitter",
"type": "post",
"status": "scheduled",
"copy": {
"primary": "APIs shouldn't feel like puzzles. We rebuilt ours from the ground up with developer experience in mind.\n\nThe result? 73% fewer support tickets. Here's what we changed: [thread]",
"hashtags": ["#DevEx", "#API"],
"cta": null
},
"visuals": [],
"scheduled_for": "2024-01-16T09:00:00-05:00",
"metadata": {
"topic": "API Design",
"pillar": "Developer Experience",
"confidence_score": 0.89
}
},
{
"id": "cnt_6aO2qTtV8zB0wX7y",
"mission_id": "msn_4yM0oRrT6xZ8uV5w",
"platform": "linkedin",
"type": "post",
"status": "scheduled",
"copy": {
"primary": "Last year, we made a decision that seemed counterintuitive: we completely rewrote our API.\n\nNot because it was broken. Because 'working' isn't the same as 'delightful.'\n\nHere's what we learned about building APIs developers actually want to use...",
"hashtags": ["#DeveloperExperience", "#APIs", "#SoftwareEngineering"],
"cta": "Read the full case study →"
},
"visuals": [
{
"type": "image",
"url": "https://cdn.amp.dev/assets/cnt_6aO2qTtV8zB0wX7y/hero.png",
"alt_text": "Before and after API redesign comparison"
}
],
"scheduled_for": "2024-01-16T09:00:00-05:00"
}
],
"has_more": true,
"total": 60
}
Content Approval¶
If you enabled require_approval, approve content before it publishes:
# Approve a single piece of content
curl -X POST https://api.amp.dev/v1/content/cnt_5zN1pSsU7yA9vW6x/approve \
-H "Authorization: Bearer $AMP_API_KEY"
# Or reject with feedback
curl -X POST https://api.amp.dev/v1/content/cnt_5zN1pSsU7yA9vW6x/reject \
-H "Authorization: Bearer $AMP_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"reason": "Tone too casual for LinkedIn audience",
"regenerate": true
}'
Step 5: Track Performance¶
Once content starts publishing, monitor performance:
curl "https://api.amp.dev/v1/analytics/missions/msn_4yM0oRrT6xZ8uV5w" \
-H "Authorization: Bearer $AMP_API_KEY"
{
"mission_id": "msn_4yM0oRrT6xZ8uV5w",
"period": "2024-01-15/2024-01-22",
"summary": {
"posts_published": 14,
"total_impressions": 23456,
"total_engagements": 892,
"engagement_rate": 3.8,
"link_clicks": 156,
"new_followers": 34
},
"kpi_progress": [
{
"metric": "engagement_rate",
"target": 4.0,
"current": 3.8,
"progress_percent": 95,
"trend": "improving"
},
{
"metric": "impressions",
"target": 50000,
"current": 23456,
"progress_percent": 47,
"trend": "on_track"
}
],
"top_performing_content": [
{
"content_id": "cnt_5zN1pSsU7yA9vW6x",
"platform": "twitter",
"engagement_rate": 6.2,
"impressions": 4521
}
],
"platform_breakdown": {
"twitter": {
"posts": 7,
"impressions": 15234,
"engagement_rate": 4.1
},
"linkedin": {
"posts": 7,
"impressions": 8222,
"engagement_rate": 3.2
}
}
}
Step 6: Let Optimization Work¶
AMP's optimization stage runs automatically, analyzing performance and adjusting the strategy:
curl "https://api.amp.dev/v1/missions/msn_4yM0oRrT6xZ8uV5w/optimizations" \
-H "Authorization: Bearer $AMP_API_KEY"
{
"mission_id": "msn_4yM0oRrT6xZ8uV5w",
"last_optimization": "2024-01-22T06:00:00Z",
"insights": [
{
"type": "timing",
"finding": "Twitter posts at 2pm EST get 40% more engagement than 9am",
"action_taken": "Shifted Twitter schedule to prioritize afternoon posts"
},
{
"type": "content",
"finding": "Posts with code snippets outperform text-only by 2.3x",
"action_taken": "Increased code example frequency in content generation"
},
{
"type": "topic",
"finding": "'API design patterns' content has highest engagement",
"action_taken": "Increased topic weight from 20% to 35%"
}
],
"predicted_improvement": {
"engagement_rate": "+0.8%",
"impressions": "+15%"
}
}
Managing Your Mission¶
Pause a Mission¶
curl -X POST https://api.amp.dev/v1/missions/msn_4yM0oRrT6xZ8uV5w/pause \
-H "Authorization: Bearer $AMP_API_KEY"
Resume a Mission¶
curl -X POST https://api.amp.dev/v1/missions/msn_4yM0oRrT6xZ8uV5w/resume \
-H "Authorization: Bearer $AMP_API_KEY"
Update Mission Parameters¶
curl -X PUT https://api.amp.dev/v1/missions/msn_4yM0oRrT6xZ8uV5w \
-H "Authorization: Bearer $AMP_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"constraints": {
"posts_per_day": 3,
"require_approval": true
}
}'
Summary¶
You've successfully:
- ✅ Configured your brand context
- ✅ Created a content mission
- ✅ Monitored pipeline execution
- ✅ Reviewed generated content
- ✅ Tracked performance metrics
- ✅ Enabled automatic optimization
Next Steps¶
-
Fine-Tune Brand Context
Improve content quality with detailed brand guidelines.
-
Advanced Missions
Learn about scheduling, approval workflows, and multi-objective missions.
-
Set Up Webhooks
Get real-time notifications for content and analytics events.