Skip to Content
Tool referenceManage onboarding plan

Manage onboarding plan (adsap_manage_onboarding_plan)

Platform: Meta · Read or write: Write · Plan: All plans · Consumes a task: No · Preview supported: No

What it does

Creates, reads, updates or deletes a structured onboarding plan for a Meta ad account. The plan stores business context, recommended steps, a suggested account structure, targeting ideas and budget allocation. Adsap saves the plan, so the copilot can pick it up in a later conversation.

When to use it

  • Use read at the start of a conversation to pick up where the account setup stopped.
  • Use create after adsap_analyze_website and adsap_get_account_health, to save the business context and the recommended steps.
  • An ad account holds one plan. A second create is refused with ALREADY_EXISTS, so use update instead.
  • The plan is found by ad_account_id alone. plan_id is optional.
  • To tick off a step, send update with step_updates. The plan status changes only when update_fields sets it.
  • The plan is stored in Adsap. No action here calls Meta, has a preview mode, or uses a task.

Worked example

You ask

“Where are we on the setup plan for act_1234567890?”

The assistant calls adsap_manage_onboarding_plan

{ "action": "read", "ad_account_id": "act_1234567890" }

Adsap returns

The field names are the ones Adsap returns. The values are examples.

{ "plan_id": "00000000-0000-4000-8000-000000000003", "ad_account_id": "act_1234567890", "status": "in_progress", "business_context": { "company_name": "Example Home", "website_url": "https://www.example.com", "monthly_ad_budget": 3000 }, "recommended_steps": [ { "step_id": "tracking_1", "category": "tracking", "title": "Check the Meta Pixel", "status": "done", "priority": "critical" }, { "step_id": "campaign_1", "category": "campaign", "title": "Create a Sales campaign", "status": "pending", "priority": "high" } ], "progress": { "total_steps": 2, "done": 1, "in_progress": 0, "pending": 1, "completion_pct": 50 }, "created_at": "2026-09-10T14:05:00+00:00", "updated_at": "2026-09-16T08:40:00+00:00" }

How to read it

recommended_steps is the list the assistant saved, in the shape it was given. Each step has a status: pending, in_progress, done, skipped or blocked. progress is counted from those statuses when you ask, and completion_pct is the share of steps marked done. The plan status is one of draft, in_progress, completed or archived.

The full response also has recommended_structure, targeting_recommendations and budget_allocation, and each step also carries its order and description. When a step is finished, the assistant sends update with step_updates. That answer names the next pending step in next_step.

Parameters

Descriptions are shortened from the tool schema. Your assistant sees the full text.

NameTypeRequiredDescription
actionone of create, read, update, deleteYesCRUD operation.
ad_account_idstringYesThe ad account this plan is for. Must include act_ prefix.
plan_idstringNoOptional. The plan is found by ad_account_id alone. Only pass a plan_id (UUID) previously returned by this tool.
business_contextobjectNoRequired for create. Company info gathered by Claude.
business_context.company_namestringNo
business_context.website_urlstringNo
business_context.industrystringNo
business_context.productsstringNo
business_context.average_order_valuenumberNo
business_context.gross_margin_pctnumberNo
business_context.target_cpanumberNo
business_context.target_roasnumberNo
business_context.monthly_ad_budgetnumberNo
business_context.target_countriesarray of stringNo
business_context.primary_goalstringNo
business_context.experience_levelstringNo
business_context.website_analysis_idstringNo
recommended_stepsarray of objectNoRequired for create. Array of step objects with step_id, order, category, title, description, status, priority, depends_on, meta_tool, notes.
recommended_steps[].step_idstringYes
recommended_steps[].ordernumberYes
recommended_steps[].categoryone of setup, tracking, audience, campaign, creative, optimizationYes
recommended_steps[].titlestringYes
recommended_steps[].descriptionstringYes
recommended_steps[].statusone of pending, in_progress, done, skipped, blockedNo
recommended_steps[].priorityone of critical, high, medium, lowYes
recommended_steps[].depends_onarray of stringNo
recommended_steps[].meta_toolstringNo
recommended_steps[].notesstringNo
recommended_structureanyNoCampaign hierarchy recommendation.
targeting_recommendationsanyNoAudience strategy.
budget_allocationanyNoBudget split recommendation.
update_fieldsanyNoFor update: partial update object. Allowed keys: recommended_steps, recommended_structure, targeting_recommendations, budget_allocation, status.
step_updatesarray of objectNoFor update: update specific step statuses.
step_updates[].step_idstringYes
step_updates[].statusone of pending, in_progress, done, skipped, blockedYes
idempotency_keystringNoRetry safety. Auto-generated server-side from request content if absent. Ignored for read action.

Example prompts

  • “Save an onboarding plan for this account based on what you learned from my website.”
  • “Show me the onboarding plan for the US account and mark step 2 as done.”
  • “Update the budget allocation in my onboarding plan to 70% prospecting, 30% retargeting.”
  • adsap_analyze_website: Fetch and analyze a website URL to extract business context, tracking scripts (Meta Pixel, GTM, GA4, TikTok), product/pricing signals…
  • adsap_ping: Verify Adsap MCP server connectivity and API key.

Guide

Read AI Copilot setup for the workflow around this tool, and the Tool reference for every tool.

The Meta Ads MCP server  page shows how to connect Meta Ads to Claude, ChatGPT or Perplexity.

Last updated on