> ## Documentation Index
> Fetch the complete documentation index at: https://docs.semicola.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Test a sales agent

> Use when a seller wants to connect its AdCP sales agent as an inventory source and prove it works: run a discovery test, send a practice brief through the storefront agent, and report the evidence.

Skill `test-sales-agent` · version 1.0.0 · for sellers.

## When to use

* A seller is connecting its own AdCP sales agent, or its ad server through a managed sales agent.
* An inventory source shows an error or unhealthy state and the seller wants to check it again.
* A seller wants to see how its storefront agent answers a brief before real buyers send one.

## Before you start

* You are connected to the seller account with a role that can change its storefront.
* You know the agent's endpoint URL, its protocol (`MCP` or `A2A`) and its authentication type.
* Any credential is already in your environment. Never ask the person to paste it into chat.

## Steps

1. Call `get_status` and confirm the seller account.
2. Call `open_seller_setup` with `focus: "inventory_sources"` to show the setup checks.
3. Call `search` with `kind: "inventory_source"`. If the source already exists, keep its id and
   update it instead of adding a second one.
4. Call `save_inventory_source` with `name`, `executionType` (`AGENT` for your own sales agent),
   `endpointUrl`, `protocol`, `authenticationType`, `credentials`, `productMode` and
   `runDiscoveryTest: true`. Pass `sourceId` when updating. Confirm with the person if asked.
5. Call `get` with `kind: "inventory_source"` and the id. Read its health and the discovery test
   result. If the test failed, report the error, fix the URL or authentication with the person, and
   run step 4 again.
6. Send a practice brief. Call `save_rfp` with `action: "create"`, `origin: "manual"`,
   `purpose: "evaluation"`, a `request` (brief, budget, currency, flight, channels, countries) and a
   `clientRequestId`.
7. Call `open_proposal_pass` with the `rfpId` and `turnId`, or `get` with `kind: "rfp"`. Check that
   the products came from the source you connected and that prices respect your floors.
8. To coach the storefront agent, call `save_rfp` with `action: "append_turn"`, the `parentTurnId`
   and a new `request.instruction`. Record your verdict with `action: "record_feedback"` and a
   `grade`.
9. Call `open_seller_setup` with `focus: "publish_validation"` to see whether the end-to-end sandbox
   check has passed.

## Guardrails

* Practice briefs use `purpose: "evaluation"`. Never create a `live` RFP to test.
* Credentials are write-only; never echo them, log them or ask for them in chat.
* Do not change the listing, marketplace participation, playbook or AI Business Rules as part of a
  test unless the person asks.
* A test never contacts real buyers and never books real spend.

## Done when

* The inventory source reports healthy and its discovery test returned products.
* A practice RFP turn shows products from that source.
* You have given the person the evidence: source id, health, RFP and turn ids, the products
  returned, and every issue with its suggested fix.
