Submit topic analysis
submit_topic_analysisStores an agent-authored analysis of one topic's observed evidence: content gaps, angles and the People-Also-Ask questions grouped by intent. This is the only inference in the product (seodraft never calls a model, so gaps and angles only exist if sent), and it is stored with provenance inferred and source agent, never mixed into the observed numbers. Free: no provider call. topic is a term or a topicId. Every gap and every angle must carry evidence: one or more strings that match exactly what the workspace already holds: a cited domain, a result title, a People-Also-Ask question (from the topic's stored brief, returned by complete_onboarding as firstBriefObserved and analysisRequest.evidence) or one of the stored topic terms. Same rule applies inside paaGroups. A reference that matches none of them is refused with degraded: true, reason: unknown-evidence and unknownRefs naming the offenders; nothing is stored, and the reply carries the admissible evidence for a corrected resubmission. Other refusals: unsupported-finding (a gap or angle with no evidence), empty-analysis (no gap, angle or group), topic-not-found, archived-topic. In preview mode (no SERP read yet) the only admissible references are the stored topic terms: grouping the founder's own questions by intent is legitimate, a market gap claimed from nothing is not, and the stored basis records which happened (observed-serp, topic-bank or mixed). Used once per topic, after complete_onboarding or research_topic has produced the evidence to cite.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| gaps | No | ||
| topic | Yes | ||
| angles | No | ||
| paaGroups | No | ||
| 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. |