get-account-ready-to-buy · version 1.0.0 · for buyers.
When to use
get_statuson a buyer account lists readiness blockers.- A person asks why they cannot request proposals or launch a campaign.
- A new buyer account needs its first advertiser and sellers before any campaign work.
Before you start
- You are connected and have run Build with Semicola.
- The active account is the buyer account the person means.
- For an advertiser, you know or can ask for: its name, brand domain, primary currency, and whether it is a sandbox advertiser for testing.
Steps
-
Call
get_status. ReadblockersandnextActions. IfcanBuyAnywhereis true andreadyDestinationshas at least one entry, the account is ready: say so and stop. -
If the account is wrong, call
switch_account, thenget_statusagain. -
Advertiser. Call
searchwithkind: "advertiser"and reuse a match. If there is none:- call
save_advertiserwithresolveBrandset to the brand domain and show the person the brand it finds; - call
save_advertiserwithname,brand,primaryCurrency,sandboxand anidempotencyKey.
open_add_advertiserlets the person fill in the same task themselves. - call
-
Currency. Confirm
primaryCurrencywith the person in so many words before creating the advertiser. It locks after the first campaign, andsandboxcannot change after creation. -
Sellers. Call
open_connections_pagewithtab: "available", orsearchwithkind: "seller", to see who can be reached. For each seller the person chooses, callsave_connectionwith one intent:selectionofALWAYS_INCLUDE,ALWAYS_EXCLUDEorDEFAULTfor the whole account; oradvertiserActivationwith theadvertiserIdanddecision: "ENABLED"for one advertiser.
-
Terms and billing. An organization admin accepts the terms and sets up payment in the app under
Settings → Plan & billing at
https://app.semicola.com. Tell the person exactly which step is pending; see Account & billing. -
Call
get_statusagain and repeat from step 1 until no buying blocker remains.
Guardrails
- Never accept terms, choose a plan or handle payment details for the person. Those steps belong to an admin in the app.
- Do not create a second advertiser for a brand that already has one; update the existing record
with
save_advertiserand itsadvertiserId. - Send one intent per
save_connectioncall, and never flip a seller the person excluded. - Use a sandbox advertiser for rehearsals. No money moves and delivery is simulated.
- Stop at
needs_inputandpending_confirmation, as in every skill.
Done when
get_statusshowscanBuyAnywhere: trueand at least one entry inreadyDestinations.- The person knows which advertiser and sellers are set up, and any warnings that remain.