Documentation

Technical Documentation

API reference, signal schema, integration specs, AI pipeline, security, and developer resources.

v2.0March 2026~15 min read

Signal Collection

Signals are the raw material Clarion operates on. The platform supports three ingestion methods: CSV file upload, webhook endpoints, and direct integrations with popular tools.

Signal Fields

Every signal contains these core fields:

FieldRequiredDescription
titleYesShort summary of the feedback (max 500 chars)
rawContentYesFull feedback text (max 50,000 chars)
sourceTypeYesOrigin: csv_import, webhook, zendesk, intercom, gong, amplitude, manual, slack, email, app_review, survey, github, jira, linear
statusAutoProcessing state: PENDING → PROCESSING → PROCESSED / FAILED / DUPLICATE / ARCHIVED. Set automatically — do not send on creation.
categoryAutoAuto-classified: feature_request, bug_report, ux_feedback, praise, churn_signal, support_question, competitive_intel
customerNameNoName of the customer who gave the feedback
customerEmailNoCustomer email — used for automatic customer matching
customerCompanyNoCompany name
customerArrNoAnnual recurring revenue (USD)
sourceIdNoExternal system ID (e.g., Zendesk ticket ID)
sourceUrlNoLink back to the original source
sourceMetadataNoJSON object with source-specific fields (ticket ID, channel, tags, priority, timestamps, etc.)

CSV Import

Navigate to Signals → Import to upload a CSV file of customer feedback. Clarion parses the file, maps columns to signal fields, and queues each row for AI processing.

CSV Format

Your CSV should have a header row. Clarion recognizes these column names (case-insensitive):

example.csv
title,rawContent,customerName,customerEmail,customerCompany,customerArr
"Need dark mode","Our entire team works late and the bright UI is painful","Jane Smith","jane@acme.com","Acme Corp",120000
"API rate limiting","Getting 429s when syncing more than 100 records","Bob Lee","bob@widgets.io","Widgets Inc",45000

Limits

  • Maximum file size: 5 MB
  • Maximum rows per upload: 1,000
  • Duplicate detection: signals with identical rawContent within 24 hours are automatically skipped.

Note

After upload, each signal enters the processing queue. Classification, theme extraction, sentiment analysis, and embedding generation happen automatically. Processing typically completes within 30–60 seconds per signal.

Webhook Ingestion

Create custom webhook endpoints to receive signals from any external system. Navigate to Settings → Webhooks to create a new webhook.

Setup

  1. 1

    Create a webhook

    Give it a name (e.g., “Typeform Feedback”) and optionally restrict accepted source types. Clarion generates a unique URL and a signing secret.
  2. 2

    Configure your source

    Point your external system to the generated URL. Include the signing secret as an X-Webhook-Secret header for HMAC verification.
  3. 3

    Send signals

    POST a JSON payload matching the signal schema. Clarion validates, enqueues, and processes each signal automatically.

Payload Format

POST /api/v1/webhooks/:id/ingest
{
  "title": "Feature request from Typeform",
  "rawContent": "I wish I could export reports as PDF...",
  "sourceType": "webhook",
  "customerName": "Alice Chen",
  "customerEmail": "alice@example.com",
  "sourceMetadata": {
    "formId": "abc123",
    "submittedAt": "2026-02-15T10:30:00Z"
  }
}

HMAC Verification

For security, Clarion signs every expected payload with your webhook secret using HMAC-SHA256. Include the secret in the X-Webhook-Secret header. Requests with missing or invalid signatures are rejected with a 401 status.

Integrations

Clarion connects directly with your existing tools via OAuth. Navigate to Settings → Integrations to connect any of the supported services.

Zendesk

  • What syncs: Support tickets (subject, description, priority, status, tags, assignee, channel, via, timestamps).
  • Auth: Secure OAuth. Clarion requests read-only access to tickets.
  • Sync frequency: On-demand or scheduled. Default lookback window is 24 hours.
  • Field mapping: Zendesk subject → signal title, description → rawContent. Priority, status, tags, and timestamps are stored in sourceMetadata.

Intercom

  • What syncs: Conversations (messages, user info, tags, conversation state).
  • Auth: OAuth 2.0. Read-only access to conversations and users.
  • Field mapping: Conversation body → rawContent. User name, email, and company are mapped to customer fields.

Gong

  • What syncs: Call recordings and transcripts. Speaker segments, topics, and action items.
  • Auth: OAuth 2.0. Read-only access to calls and transcripts.
  • Processing: Transcripts are chunked into individual feedback signals based on speaker turns and topic shifts.

Amplitude

  • What syncs: Analytics events, user properties, and cohort data.
  • Auth: API key + secret. Read-only access to event data.
  • Use case: Quantitative signals — feature usage patterns, drop-off points, engagement metrics — complement qualitative feedback from other sources.

GitHub

  • Purpose: Push generated agent artifacts (.cursorrules, tasks.json, test scenarios) directly to a GitHub repository as a new branch and pull request.
  • Auth: GitHub OAuth App. Requires write access to selected repositories.
  • PR webhooks: Clarion listens for PR merge events to automatically detect shipped features and update opportunity status.

Slack

  • Purpose: Receive anomaly alerts, digest reports, and notification summaries directly in Slack channels.
  • Setup: Configure a Slack webhook URL in Settings → Notifications.

AI Intelligence Engine

Every signal passes through a multi-stage AI pipeline that runs asynchronously in the background. See the User Guide for the full walkthrough with screenshots.

Pipeline Stages & Output

Each processed signal produces these fields on its linked insight record:

StageOutput FieldDetails
ClassificationcategoryOne of: feature_request, bug_report, ux_feedback, praise, churn_signal, support_question, competitive_intel. Includes confidence score (0–1).
Theme Extractionthemes1–3 topic labels (e.g., "Dashboard Performance"). Named entities (products, competitors) also extracted.
SentimentsentimentScoreFloat from -1.0 (very negative) to +1.0 (very positive).
ImportanceimportanceScoreInteger 1–10 based on urgency, customer ARR, request frequency, and business impact.
Embeddingsembedding1024-dimension vector. Powers semantic search, Knowledge Explorer, and opportunity clustering.

Signals with classification confidence below 70% are flagged in a review queue for manual verification.

Clarion AI Tiers

TierAvailable OnUsed For
Clarion AIStarter + EssentialsClassification, theme extraction, sentiment analysis, summaries
Clarion AI ProPro + EnterprisePRD generation, What to Build recommendations, machine spec generation
Vector EmbeddingsEssentials + Pro + EnterpriseSemantic search powered by advanced AI embeddings

Note

Your data is never used to train AI models. All AI processing is per-organization — your data is never mixed with another organization’s data. See our Privacy Policy for details.

Spec Studio

Spec Studio generates dual-audience documents — human-readable PRDs and machine-verifiable specs for AI coding agents. See the User Guide for the full editor walkthrough.

Agent Artifacts

After generating a machine spec, generate five agent artifacts optimized for AI coding assistants:

ArtifactFilePurpose
Cursor Rules.cursorrulesProject context, tech stack, coding conventions, and implementation guidance for Cursor AI
Machine SpecSPEC.mdMachine-verifiable specification with numbered requirements, data models, API contracts, and acceptance tests
Agent Guideagents.md5-agent team workflow (Architect, Backend, Frontend, Testing, Review) with phased implementation strategy
Task Breakdowntasks.jsonStructured task list with dependency ordering, priorities, effort estimates, and acceptance criteria
Test Scenariosacceptance_tests.spec.tsTypeScript test file — each requirement becomes one or more test cases with edge cases

Tool-Specific Exports

Export specs formatted for specific AI coding tools:

ToolFormatOptimized For
Cursor.cursorrulesProject context with spec constraints and testing requirements
Claude CodeCLAUDE.mdImplementation guidance with architecture decisions
v0PromptComponent-focused prompts for Vercel v0
BoltPromptFull-stack prompts for StackBlitz Bolt
LovablePromptFeature-focused prompts for Lovable

Document Exports

FormatUse Case
Word (.docx)Formatted PRD for stakeholder review
PDFPrint-ready specification document
Markdown (.md)SPEC.md for repository inclusion
ZIPAll agent artifacts bundled in a single download
JiraStructured export compatible with Jira issue import
LinearFormatted for Linear project import

GitHub Push

Push generated artifacts directly to a GitHub repository. Clarion creates a new branch, commits all artifact files, and opens a pull request. When the PR is merged, Clarion automatically detects the shipped feature and updates the linked opportunity status.

Validation

Specs are validated for completeness and consistency. The validator checks for missing acceptance criteria, undefined API contracts, inconsistent data models, and untested edge cases. Validation results are shown inline as gap indicators before artifact generation.

Agent Bridge & MCP Server

Agent Bridge connects Clarion directly to AI coding agents via the Model Context Protocol (MCP). Instead of copy-pasting specs, your coding agent can query Clarion in real-time.

MCP Server

Clarion exposes an MCP-compatible server with seven tools that coding agents can call:

ToolDescription
list_specificationsList all specs with status and metadata
get_specificationGet full spec details including PRD and machine spec
get_cursorrulesGet .cursorrules content for a spec
get_tasksGet tasks.json breakdown for a spec
get_testsGet test scenarios for a spec
get_agents_guideGet agents.md implementation guide
search_specificationsSemantic search across all specifications

Authentication

MCP requests are authenticated with API keys. Generate a key in Settings → API Keys. Include it as a Bearer token:

MCP Configuration
{
  "mcpServers": {
    "clarion": {
      "url": "https://getclarion.in/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer your-api-key-here"
      }
    }
  }
}

Agent Bridge UI

The Agent Bridge page in Clarion provides a visual interface for managing MCP connections, testing tool calls, and monitoring agent activity. You can see which specs agents are currently reading and track tool call history.

API Reference

Clarion provides a RESTful API for programmatic access. All API endpoints require authentication via API key or session token.

Authentication

Generate API keys in Settings → API Keys. Include the key as a Bearer token in the Authorization header:

curl -H "Authorization: Bearer cl_your_api_key" \
  https://getclarion.in/api/v1/signals

Warning

API keys are displayed once at creation and stored as SHA-256 hashes. If you lose a key, revoke it and create a new one. Never commit API keys to source control.

Core Endpoints

Signals

MethodEndpointDescription
GET/api/v1/signalsList signals with filters and pagination
POST/api/v1/signalsCreate a new signal
GET/api/v1/signals/:idGet signal details with insight and customer data
DELETE/api/v1/signals/:idSoft-delete a signal
PATCH/api/v1/signals/bulk-updateBulk update status/category on up to 200 signals
POST/api/v1/signals/importImport signals from CSV file upload

Insights & Opportunities

MethodEndpointDescription
GET/api/v1/insightsList insights with aggregations and filters
GET/api/v1/insights/themesList extracted themes with signal counts
GET/api/v1/insights/trendsGet trend data over time
GET/api/v1/opportunitiesList opportunities with framework scores
POST/api/v1/opportunitiesCreate an opportunity
GET/api/v1/opportunities/:idGet opportunity details with linked insights
PATCH/api/v1/opportunities/:idUpdate opportunity fields
DELETE/api/v1/opportunities/:idDelete an opportunity

Specifications

MethodEndpointDescription
GET/api/v1/specificationsList specifications with status
POST/api/v1/specificationsCreate a specification (standalone or from opportunity)
GET/api/v1/specifications/:idGet full spec with PRD and machine spec
PATCH/api/v1/specifications/:idUpdate spec content
DELETE/api/v1/specifications/:idDelete a specification
POST/api/v1/specifications/:id/generate-machine-specStart machine spec generation
POST/api/v1/specifications/:id/generate-artifactsGenerate agent artifacts
GET/api/v1/specifications/:id/artifacts/downloadDownload artifacts as ZIP
POST/api/v1/specifications/:id/push-to-githubPush artifacts to GitHub as a PR

Webhooks

MethodEndpointDescription
GET/api/v1/webhooksList webhook endpoints
POST/api/v1/webhooksCreate a webhook endpoint
DELETE/api/v1/webhooks/:idDelete a webhook endpoint
POST/api/v1/webhooks/:id/ingestSend signal data to a webhook
POST/api/v1/webhooks/:id/testSend a test payload

Search & Knowledge

MethodEndpointDescription
GET/api/v1/searchSemantic search across signals, insights, and specs
POST/api/v1/knowledge/chatStart or continue a Knowledge Explorer conversation
GET/api/v1/customers/:idGet customer details with signal history

Response Format

All successful responses return a JSON object with a data key. List endpoints include pagination metadata:

GET /api/v1/signals?limit=2
{
  "data": [
    {
      "id": "01960a3b-...",
      "title": "Need bulk export option",
      "rawContent": "Our team needs to export reports as PDF...",
      "sourceType": "zendesk",
      "status": "PROCESSED",
      "category": "feature_request",
      "customer": {
        "id": "01960a3a-...",
        "name": "Jane Smith",
        "company": "Acme Corp"
      },
      "createdAt": "2026-02-15T10:30:00Z"
    }
  ],
  "nextCursor": "01960a3b-...",
  "total": 142
}

Pagination

List endpoints use cursor-based pagination. Pass cursor (the ID of the last item) and limit (default 20, max 100) as query parameters. The response includes a nextCursor field for the next page.

Rate Limiting

API requests are rate-limited per API key. Limits depend on your plan (see User Guide for full plan details):

PlanRate Limit
Starter (Free)60 requests / minute
Essentials200 requests / minute
Pro300 requests / minute
EnterpriseCustom (contact sales)

Rate limit headers (X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset) are included in every response.

Error Responses

All errors follow a consistent JSON format:

{
  "error": "Human-readable error message",
  "code": "MACHINE_READABLE_CODE"
}
CodeHTTP StatusDescription
UNAUTHORIZED401Missing or invalid authentication
FORBIDDEN403Insufficient permissions for this action
NOT_FOUND404Resource does not exist
VALIDATION_ERROR400Invalid request body or parameters
RATE_LIMITED429Too many requests
INTERNAL_ERROR500Unexpected server error

Security & Data

Clarion implements defense-in-depth security across every layer. See our Privacy Policy for the full data handling details.

Encryption

  • In transit: TLS 1.2+ for all connections. Automatic HTTPS with managed SSL certificates.
  • At rest: Sensitive fields (API keys, integration tokens, webhook secrets) encrypted with AES-256-GCM using unique initialization vectors per field.
  • Passwords: Securely hashed using industry-standard algorithms. Never stored in plain text.

Multi-Tenancy

All data is strictly isolated by organization. Every request is scoped to your organization. There is no way to access another organization’s data through any API endpoint or UI interaction.

Authentication & Access Control

  • Sessions: JWT-based with secure, HTTP-only tokens. 30-day expiry.
  • OAuth: Google OAuth 2.0 for social login.
  • API keys: SHA-256 hashed, displayed once at creation, revocable instantly.
  • RBAC: Four permission levels — Owner, Admin, Member, Viewer — with granular access control per feature.
  • Login activity: IP address, browser, timestamp, and geolocation logged for all authentication events. Retained for 90 days.

AI Data Handling

  • Your data is processed by Clarion AI in real-time and is never stored beyond the immediate request.
  • Your data is never used to train, fine-tune, or improve any AI model.
  • AI processing is per-organization — your data is never mixed with another organization’s data.
  • Only the minimum data needed for each AI task is sent — not your entire database.

Infrastructure

  • Hosted on Google Cloud Platform.
  • Network firewalls restrict access to required ports only.
  • Database backups retained for 7 days.
  • Regular dependency updates and security patches.

Team & Roles

Clarion uses role-based access control (RBAC) to manage permissions within your organization.

RolePermissions
OwnerFull access. Manage billing, delete org, transfer ownership. One per org.
AdminManage team, settings, integrations, workflows, and all content. Cannot manage billing or delete org.
MemberCreate and edit signals, insights, opportunities, and specs. Cannot manage team or settings.
ViewerRead-only access to all data. Cannot create, edit, or delete anything.

Invitations

Invite team members from Settings → Team. Each invitation specifies a role. For Pro plans, you can optionally assign a Pro seat to the invited member (giving them access to Pro features). Invitations are delivered via email and expire after 7 days.

You can also create shareable invite links for bulk onboarding. Invite links can be configured with a maximum number of uses and an expiration date.

Organization Switching

Users can belong to multiple organizations. Switch between orgs from the sidebar dropdown menu. Each org has its own data, settings, and billing — completely isolated.