Skip to main content
Skill get-account-ready-to-buy · version 1.0.0 · for buyers.

When to use

  • get_status on 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

  1. Call get_status. Read blockers and nextActions. If canBuyAnywhere is true and readyDestinations has at least one entry, the account is ready: say so and stop.
  2. If the account is wrong, call switch_account, then get_status again.
  3. Advertiser. Call search with kind: "advertiser" and reuse a match. If there is none:
    • call save_advertiser with resolveBrand set to the brand domain and show the person the brand it finds;
    • call save_advertiser with name, brand, primaryCurrency, sandbox and an idempotencyKey.
    In hosts that render widgets, open_add_advertiser lets the person fill in the same task themselves.
  4. Currency. Confirm primaryCurrency with the person in so many words before creating the advertiser. It locks after the first campaign, and sandbox cannot change after creation.
  5. Sellers. Call open_connections_page with tab: "available", or search with kind: "seller", to see who can be reached. For each seller the person chooses, call save_connection with one intent:
    • selection of ALWAYS_INCLUDE, ALWAYS_EXCLUDE or DEFAULT for the whole account; or
    • advertiserActivation with the advertiserId and decision: "ENABLED" for one advertiser.
  6. 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.
  7. Call get_status again 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_advertiser and its advertiserId.
  • Send one intent per save_connection call, and never flip a seller the person excluded.
  • Use a sandbox advertiser for rehearsals. No money moves and delivery is simulated.
  • Stop at needs_input and pending_confirmation, as in every skill.

Done when

  • get_status shows canBuyAnywhere: true and at least one entry in readyDestinations.
  • The person knows which advertiser and sellers are set up, and any warnings that remain.