Skip to content

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.

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
{
  "onboarding_id": "onb_3xL9nQqS5wY7tU4v",
  "status": "processing",
  "estimated_completion": "2024-01-15T10:35:00Z"
}

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:

  1. ✅ Configured your brand context
  2. ✅ Created a content mission
  3. ✅ Monitored pipeline execution
  4. ✅ Reviewed generated content
  5. ✅ Tracked performance metrics
  6. ✅ Enabled automatic optimization

Next Steps

  • Fine-Tune Brand Context

    Improve content quality with detailed brand guidelines.

    Brand Configuration

  • Advanced Missions

    Learn about scheduling, approval workflows, and multi-objective missions.

    Creating Missions

  • Set Up Webhooks

    Get real-time notifications for content and analytics events.

    Webhooks