- Roadmap lines over MCP land as idea rows, matched to the nearest existing priority or attached to one that fits. No priority is minted. The source stays as context that decisions and principles can lean on, and your agent can read the approved direction.
- CSV detects feedback text, customer name, email and revenue columns, and auto-detects usual column names. Revenue, MRR, ARR, price or spend map to one value per customer.
- Name, revenue, SKU and external id are set on import (CSV, Google Sheets). Name shows on quotes. Revenue feeds ranking.
- Feedback without a name or email still counts. Ranking starts to mean something at around ten pieces.
- Your agent files one piece at a time and checks for an existing priority first.
- The API's optional fields are
page_url and user_metadata. external_id skips on your own id, and original_source is set on duplicates. Widget submissions are tagged widget in the activity log.
- Transcript optional fields:
transcript_type, transcript_date, company_name, customer_name, customer_email, revenue_band and sku.
- Responses carry a
Link: </openapi.json>; rel="service-desc" header. The app's own endpoints use your signed-in session, so scripts and agents can't call them.
- A transcript takes up to 25 segments, at least 15 words each. Speaker attribution is kept where the file has it, and each segment is tagged
source: transcript. Duplicates are caught by a content hash.
- Annsa never invents a revenue figure. Someone writing from a personal address stands alone, and no employer is guessed from gmail.com.
- Ask for one customer's or account's history by name, from your agent, Ask or Slack.
More in Importing feedback, The API and Transcripts.