Publishing Workflows¶
This guide covers how to set up approval workflows, scheduling strategies, and publishing best practices.
Workflow Types¶
Auto-Publish (Default)¶
Content publishes automatically without review:
Best for: - Established brand voice - High-volume campaigns - Time-sensitive content
Manual Approval¶
All content requires explicit approval:
Best for: - New brands/missions - Sensitive topics - High-stakes campaigns
Hybrid Approval¶
Auto-approve high-confidence content:
{
"constraints": {
"require_approval": true,
"auto_approve_threshold": 0.9,
"auto_approve_after_hours": 24
}
}
Logic: - Confidence ≥ 0.9 → Auto-approve - Confidence < 0.9 → Manual review required - Not reviewed in 24h → Auto-approve anyway
Approval Workflow¶
Review Queue¶
View pending content:
Approving Content¶
curl -X POST https://api.amp.dev/v1/content/{id}/approve \
-H "Authorization: Bearer $AMP_API_KEY" \
-d '{
"notes": "Approved with minor edit",
"schedule_for": "2024-01-16T14:00:00-05:00"
}'
Rejecting Content¶
curl -X POST https://api.amp.dev/v1/content/{id}/reject \
-H "Authorization: Bearer $AMP_API_KEY" \
-d '{
"reason": "Off-brand tone",
"feedback": "More professional language needed",
"regenerate": true
}'
Bulk Operations¶
Approve multiple items:
curl -X POST https://api.amp.dev/v1/content/bulk/approve \
-H "Authorization: Bearer $AMP_API_KEY" \
-d '{
"content_ids": ["cnt_xxx", "cnt_yyy", "cnt_zzz"]
}'
Team Review¶
Multiple Approvers¶
Configure required approvals:
{
"config": {
"approval": {
"require_approval": true,
"min_approvals": 2,
"approvers": ["usr_xxx", "usr_yyy", "usr_zzz"]
}
}
}
Escalation¶
Auto-escalate unreviewed content:
Scheduling Strategies¶
Fixed Schedule¶
Post at specific times:
Optimal Time¶
Let AMP choose based on engagement data:
{
"constraints": {
"use_optimal_times": true,
"earliest_time": "07:00",
"latest_time": "21:00",
"exclude_days": ["saturday", "sunday"]
}
}
Manual Scheduling¶
Override automatic scheduling:
curl -X PUT https://api.amp.dev/v1/content/{id}/schedule \
-H "Authorization: Bearer $AMP_API_KEY" \
-d '{
"scheduled_for": "2024-01-20T10:00:00-05:00",
"reason": "Aligned with product launch"
}'
Calendar Management¶
View Schedule¶
curl https://api.amp.dev/v1/publish/queue?from=2024-01-15&to=2024-01-31 \
-H "Authorization: Bearer $AMP_API_KEY"
Reschedule Content¶
curl -X PUT https://api.amp.dev/v1/content/{id}/reschedule \
-H "Authorization: Bearer $AMP_API_KEY" \
-d '{
"scheduled_for": "2024-01-17T09:00:00-05:00"
}'
Cancel Scheduled Post¶
curl -X DELETE https://api.amp.dev/v1/publish/{content_id} \
-H "Authorization: Bearer $AMP_API_KEY"
Cross-Platform Coordination¶
Synchronized Publishing¶
Post to multiple platforms simultaneously:
Staggered Publishing¶
Spread content across platforms:
Publishing Notifications¶
Webhook Events¶
Subscribe to publishing events:
Slack Integration¶
Send notifications to Slack:
curl -X POST https://api.amp.dev/v1/integrations/slack \
-H "Authorization: Bearer $AMP_API_KEY" \
-d '{
"webhook_url": "https://hooks.slack.com/...",
"events": ["content.published", "content.failed"],
"channel": "#social-media"
}'
Failure Handling¶
Automatic Retry¶
Publishing failures are retried automatically:
| Attempt | Delay |
|---|---|
| 1 | Immediate |
| 2 | 5 minutes |
| 3 | 30 minutes |
Manual Retry¶
curl -X POST https://api.amp.dev/v1/content/{id}/retry-publish \
-H "Authorization: Bearer $AMP_API_KEY"
Failure Notifications¶
Get alerted on failures:
{
"config": {
"notifications": {
"on_publish_failure": ["email", "slack"],
"notify_emails": ["team@company.com"]
}
}
}
Best Practices¶
1. Start with Manual Approval¶
Enable approval for new missions until you're confident in quality.
2. Use Optimal Times¶
Let AMP learn your audience's engagement patterns.
3. Buffer Scheduled Posts¶
Leave at least 2 hours between generation and publishing for review time.
4. Monitor Failures¶
Set up alerts for publishing failures to catch issues early.
5. Review Analytics¶
Check which posting times perform best and adjust accordingly.
Workflow Recipes¶
High-Touch Enterprise¶
{
"constraints": {
"require_approval": true,
"auto_approve_after_hours": null
},
"config": {
"approval": {
"min_approvals": 2,
"escalation_after_hours": 24
}
}
}
Lean Startup¶
{
"constraints": {
"require_approval": true,
"auto_approve_threshold": 0.85,
"auto_approve_after_hours": 4
}
}