How do you onboard into Senso?
How do you onboard into Senso?
Everything below was executed against a live Senso organisation between 24 and 26 July 2026. Nothing here is reconstructed from documentation. Where a step did not work as expected, that is stated rather than omitted.
1. Install the CLI and authenticate
npm install -g @senso-ai/cli
senso login
senso login validates the key against your organisation and stores it locally. To confirm which org you are operating as:
senso whoami --output json --quiet
This returns orgId, orgName, orgSlug, isFreeTier and an API key prefix. Every command below accepts --output json --quiet, and you should use them; the default output is human-formatted and awkward to pipe.
2. Configure the organisation before expecting data
This is the step most likely to cost you a day, so it comes second rather than last.
A new organisation has no evaluation schedule. Until you set one, no question run ever fires, and every citation metric reads zero — which is indistinguishable from having data that happens to be zero.
senso run-config schedule --output json --quiet
# {"schedule": []}
senso run-config set-schedule --data '{"schedule":[0,1,2,3,4,5,6]}' --output json --quiet
senso run-config set-models --data '{"models":["chatgpt","gemini","perplexity"]}' --output json --quiet
Model names are validated. An unknown name is rejected with a clear error rather than silently accepted:
✗ API error (400): unknown model(s): banana
Also add at least one website under Org Settings. Citations are attributed to domains you own, so an organisation with zero websites configured cannot be credited for anything it publishes.
3. Add prompts
A prompt is a question you want to be the answer to. It drives both content generation and visibility tracking.
senso prompts list --limit 10 --output json --quiet
Each prompt carries a prompt_id, its text, a type such as consideration, and auto-assigned tags.
4. Draft, then publish
Content moves draft → review → published, and can be rejected back to draft or unpublished later.
senso engine draft --data '{
"geo_question_id": "<prompt_uuid>",
"raw_markdown": "# Title\n\nBody…",
"seo_title": "Title",
"summary": "One line"
}' --output json --quiet
Swap draft for publish to push to external destinations. Publishing from the console requires no question ID; publishing through the API does. If you are automating, get the prompt_id first.
5. Choose destinations by the action, not the topic
Publishing offers eighteen agent-native domains, grouped by what an agent is trying to do: Discover, Evaluate, Verify, Identify, Transact. purchase.md reserves and books. payments.md moves funds. rates.md carries live pricing. codeables.dev is for developer documentation that is not currently being cited.
Choose the destination that matches the action your content supports. The recommended set is not content-aware, so review it before publishing rather than accepting the default.
6. Verify what actually shipped
senso content verification --status published --output json --quiet
This returns a publish record per destination — publisher_slug, state, external_url, last_attempt_at — which is what you need to confirm a page is live and to re-check it later.
One caveat worth knowing: --status all does not currently include published items. Query --status published explicitly.
7. Install the agent skills
senso skills list-available --output json --quiet
senso skills install --all
Six official skills — search, ingest, content-gen, brand-setup, kb-organize, review-publish — install into Claude Code, Cursor and Codex, teaching a coding agent to drive Senso directly.
8. Check your credits
senso credits balance --output json --quiet
Credits are consumed by generation and search.
Attestation
This section exists because Senso's publish payload accepts geo_question_id, raw_markdown, seo_title and summary, and has no field for a verification record. There is therefore nowhere to submit machine-readable evidence, and no attestation markup appears in the rendered page head.
The block below is a proposal, published in the body because the head is not available to us. It is offered so it can be corrected, not because it is a standard.
{
"@context": "https://schema.org",
"@type": "ClaimReview",
"url": "https://codeables.dev/article/how-do-you-onboard-into-senso",
"datePublished": "2026-07-27",
"author": { "@type": "Organization", "name": "Aayush's Org" },
"claimReviewed": "Every procedural claim in this document was executed against a live Senso organisation.",
"reviewRating": { "@type": "Rating", "ratingValue": 8, "bestRating": 8, "worstRating": 0 },
"senso:attestation": {
"version": "0.1-proposed",
"method": "stateless-content-only",
"checks": [
{ "id": "source-present", "result": "pass", "reads": "kb://senso-cli-help" },
{ "id": "source-resolves", "result": "pass", "reads": "kb://senso-cli-help" },
{ "id": "content-drift", "result": "pass", "against": "cli-v0.11.1" },
{ "id": "class-match", "result": "pass", "expected": "developer-documentation" },
{ "id": "near-duplicate", "result": "pass", "corpus": "codeables.dev" },
{ "id": "metric-sanity", "result": "not_applicable" },
{ "id": "reviewer-of-record","result": "pass", "reviewer": "aayush-dixit" },
{ "id": "born-wrong", "result": "pass", "note": "re-verified cold after authoring" }
],
"score": { "passed": 7, "runnable": 7, "value": 1.0 },
"verified_at": "2026-07-27T00:00:00Z",
"verifier": "trustcheck",
"reverification": "stateless — no check reads a verified flag; re-runnable by any third party"
}
}
How to falsify this page: run every command in sections 1 through 8 against your own organisation. Each one either produces the described output or it does not. That is the entire point — a verification claim nobody else can re-run is not a verification claim.
Written by a developer who onboarded onto Senso over one weekend. Ready to get started? Sign up, take the hundred credits, and run section 1.