Spaces

Early access

Let your AI agent run your ads

Your agent can set up a campaign from a sentence, check every morning what you spent and what came back, pause the ads that are not working and tell your ad account about each sale. You decide the most it can spend, and nothing starts spending until you say yes.

What it looks like

You: Promote the autumn menu to people near the restaurant. Keep it under $20 a day.

Agent: I have set up a paused campaign with one ad set in your area at $20 a day and an ad using the photo from your last post. Turning it on would put $20 a day to work, of your $50 daily cap. Shall I turn it on?

You: Yes, go ahead.

Agent: It is live. I will send you the spend and the bookings it brings each morning.

Launch

  • Build campaigns, ad sets and ads from your photos, text and link, posted as your Facebook Page
  • Choose where, who and how much a day, with everything starting paused

Moderate

  • Pause anything that is spending without results, straight away
  • Change budgets, with a check-in before any increase
  • Turn a campaign on when you say yes
  • Keep watch on a schedule, for example pausing an ad set each morning if a click costs more than you want to pay

Report

  • Read spend, clicks and results by campaign or by day, in plain numbers
  • Send sales and leads back to your ad account so it learns who buys

How your money stays safe

Caps that only you can raise

You set a daily budget cap and a monthly spend cap in your dashboard. Your agent can lower them but can never raise them, and with no caps set it cannot turn anything on.

A yes before anything spends

Everything your agent builds starts paused. Turning something on, or raising a budget that is already running, waits for your yes. You can let the agent ask you in the chat, or have every change wait for you to approve it in the dashboard.

Paused at the monthly cap

Spaces checks spend through the day. When it reaches your monthly cap, Spaces pauses the campaigns it runs and only you can raise the cap. The ad network reports spend with a short delay and can go a little over a daily budget on some days, so set your caps with some room.

Your account stays yours

You connect your ad account by signing in to Facebook and choosing which accounts to share. Spaces only turns on what it created, and you can disconnect at any time.

Ad networks

FAQ

Which ad networks does it work with?

Facebook and Instagram come first, through your Meta ad account. Google, TikTok, LinkedIn, Microsoft, Pinterest and Reddit are planned next.

Do I pay for ads through Spaces?

No. Your ads are billed by Meta to the payment method on your ad account, as they are today. Spaces never holds your ad money.

Can my agent spend more than I agreed?

Your agent cannot raise your caps or turn anything on without a yes. Meta can spend a little over a daily budget on a busy day, which is how its delivery works, so the monthly cap is the one to rely on.

How do I get access?

Ads is in early access. Write to hello@spacesos.com and we will turn it on for your workspace.

For developers: every ads tool

MCP at https://api.spacesos.com/mcp, REST at https://api.spacesos.com/v1. Rules and error codes are in llms-full.txt.

Launch

What it doesMCP toolREST
Facebook Pages this ad account can advertise as.list_ad_pagesGET /v1/ads/accounts/{ad_account_id}/pages
Pixels (datasets) this ad account can send conversions to.list_ad_pixelsGET /v1/ads/accounts/{ad_account_id}/pixels
Create a campaign. It is always created paused.create_ad_campaignPOST /v1/ads/accounts/{ad_account_id}/campaigns
Create an ad set with a budget, schedule and audience. It is always created paused.create_ad_setPOST /v1/ads/accounts/{ad_account_id}/ad-sets
Create an ad from an image, text and a link, posted as one of your Pages. It is always created paused.create_adPOST /v1/ads/accounts/{ad_account_id}/ads
Upload an image for ads. Returns the image_hash that create_ad needs.upload_ad_imagePOST /v1/ads/accounts/{ad_account_id}/images

Moderate

What it doesMCP toolREST
Lower the daily budget cap or monthly spend cap, or require a person to approve. Raising a cap is done by a person in the dashboard.update_ad_limitsPATCH /v1/ads/accounts/{ad_account_id}/limits
Rename a campaign or change its budget. Raising the budget of a running campaign waits for a confirmation.update_ad_campaignPATCH /v1/ads/accounts/{ad_account_id}/campaigns/{campaign_id}
Rename an ad set or change its budget or end time. Raising the budget of a running ad set waits for a confirmation.update_ad_setPATCH /v1/ads/accounts/{ad_account_id}/ad-sets/{ad_set_id}
Pause a campaign, ad set or ad. Pausing never spends money, so it is done straight away.pause_ad_objectPOST /v1/ads/accounts/{ad_account_id}/objects/{object_id}/pause
Turn a paused campaign, ad set or ad back on. Waits for a confirmation, inside your caps.resume_ad_objectPOST /v1/ads/accounts/{ad_account_id}/objects/{object_id}/resume
Pause, turn on or set the budget of a campaign, ad set or ad on a schedule, optionally only when a number crosses a line (pause when a click costs over 2). Pausing starts straight away; turning on and budgets wait for a one-time confirmation, and every run checks your caps.create_ad_routinePOST /v1/ads/accounts/{ad_account_id}/routines
Ad routines in this workspace, with their schedule and whether they are on. Runs are in list_routine_runs.list_ad_routinesGET /v1/ads/routines
Pause or turn back on an ad routine. One that can spend only turns on once it has been approved.update_ad_routinePATCH /v1/ads/routines/{routine_id}
Delete an ad routine and cancel its waiting runs.delete_ad_routineDELETE /v1/ads/routines/{routine_id}
Changes waiting to be confirmed, and recent decisions.list_ad_confirmationsGET /v1/ads/confirmations
One change waiting to be confirmed, in plain words.get_ad_confirmationGET /v1/ads/confirmations/{confirmation_id}
Carry out a change that can spend money, after the person has said yes. Caps are checked again first.confirm_ad_changePOST /v1/ads/confirmations/{confirmation_id}/confirm
Cancel a change that is waiting to be confirmed.cancel_ad_changePOST /v1/ads/confirmations/{confirmation_id}/cancel

Report

What it doesMCP toolREST
Campaigns in the ad account, with status and budget.list_ad_campaignsGET /v1/ads/accounts/{ad_account_id}/campaigns
Ad sets, for one campaign or the whole account.list_ad_setsGET /v1/ads/accounts/{ad_account_id}/ad-sets
Ads, for one ad set or the whole account.list_adsGET /v1/ads/accounts/{ad_account_id}/ads
Spend and results by account, campaign, ad set or ad, for a date range.get_ad_insightsGET /v1/ads/accounts/{ad_account_id}/insights
Send sales, leads or other results back to the network so it can optimize. Personal details are hashed before they leave Spaces.send_ad_conversionsPOST /v1/ads/accounts/{ad_account_id}/conversions

Connect and caps

What it doesMCP toolREST
Ad networks you can connect, and which are live.list_ad_networksGET /v1/ads/networks
A link the owner opens to connect an ad account. Nothing is connected until they sign in and approve.create_ads_connect_linkPOST /v1/ads/connect-link
Connected ad accounts, with their caps and approval setting.list_ad_accountsGET /v1/ads/accounts
One ad account: caps, spend this month by what Spaces runs, and active daily budgets.get_ad_accountGET /v1/ads/accounts/{ad_account_id}
Stop managing an ad account. Campaigns keep their current status on the network.disconnect_ad_accountDELETE /v1/ads/accounts/{ad_account_id}