Complete onboarding
complete_onboardingFinishes setup once the profile has business name, description, audience, site URL and language, and 12-15 search phrases are stored with add_topics. Deterministic: no model call, and DataForSEO is optional. With credentials connected it measures the topics no paid call has covered in one batch (~USD 0.115), then builds a citability brief for the best-evidenced topic (one SERP, ~USD 0.004); mode comes back validated. Without credentials it spends nothing and returns a first brief with mode: preview, built from the topic the founder named, with every market signal unmeasured (dataConnected: false is not an error; credentials are a persistent secret collected in the web app). Does not use the brand or competitor names as seeds. Reports the data state in one vocabulary: observed (the provider returned a number, 0 included), unavailable (asked, nothing reported), unmeasured (never asked). measurement.attempted / answered / unanswered names the topics DataForSEO did or did not answer for, alongside measurement.reportedVolume and measurement.aiVolumeSignal. signals covers the whole bank: queriesChecked, reportedVolume (0 counts), aiVolumeSignal (above zero only), aiOverviewFound, relatedQuestions, and noVolumeReported (true when no topic carries a provider-reported volume, which is normal for long-tail questions). firstBriefEvidence names what the pick rested on: volumeStatus, aiVolumeStatus, aiOverview (found | absent | unmeasured), relatedQuestions, citedDomains, ownSite, serpObserved, and rule (volume-signal | serp-evidence | unranked). firstBriefObserved is the raw SERP verbatim (AI Overview state, cited domains, People Also Ask, result titles, builtAt) or null when none was read. analysisRequest names the tool (submit_topic_analysis), the topic, and the exact strings admissible as evidence for the gaps, angles and intent-grouped questions it asks for. firstBriefAnalysis is what is already stored, if anything. A partial measurement still returns status ready. A ready result activates the workspace (idempotent); activationUrl is the app root.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | No | The workspace this call acts on, as listed by list_workspaces. Left out, the call uses the workspace the account is in right now. |