Skip to main content

Knowledge Base & Captures

Capture information from anywhere — manually, via the API, or through your OS share sheet — so Sylva can reference it later.

Sylva's Knowledge Base is where everything you capture lives — notes, links, excerpts, and content from external tools — so your AI assistant has the full picture when you ask questions or need to find something later.

Quick Capture page with content field focused

Quick Capture

The fastest way to get something into Sylva is the Quick Capture page. Open it from the app shortcut or navigate to Capture directly.

  1. Type or paste your content into the Content field (this is the only required field)
  2. Add a Title if you want — helpful for scanning your knowledge base later, but optional
  3. Click Add URL to attach a source link if the content came from a webpage
  4. Choose a contextWork or Personal — using the toggle at the bottom
  5. Click Save, or press Ctrl+Enter (⌘+Enter on Mac) to save without reaching for the mouse

After saving, the form resets so you can capture the next thing immediately.

Context toggle between Work and Personal

Sharing into Sylva

On mobile, you can send content to Sylva from any app that supports your OS share sheet. When you tap Share in a browser, note-taking app, or messaging app and choose Sylva, the title, text, and URL are pre-filled on the Quick Capture page. Review, pick a context, and save.

Browsing Your Knowledge Base

Everything you capture — manually, from conversations, via the Chrome Extension, or through the API — appears on the Knowledge Base page. Each entry shows its source, title, context, and when it was captured. Sylva's AI indexes this content automatically, so it surfaces in search results and can inform your assistant's answers.

Knowledge Base page showing captured items

Intake API

The Intake API lets external tools and automations push content into your Knowledge Base programmatically. This is useful when you want to connect services that Sylva doesn't integrate with natively — CI/CD pipelines, CRM systems, internal tools, or custom scripts.

The API accepts batches of captures in a single request, so you can submit multiple items at once without making repeated calls.

API Keys section in admin settings

Creating and Managing API Keys

You need an API key to authenticate with the Intake API. Generate one from Settings > Admin.

  1. Open Settings > Admin and scroll to the API Keys section
  2. Click Create API Key
  3. Give the key a descriptive name — something like "Zapier integration" or "CRM webhook" — so you can identify it later
  4. Copy the key immediately. Sylva shows it only once; after you dismiss the dialog, the full key is no longer retrievable

Creating a new API key

To revoke a key, find it in the API Keys list and click Revoke. Revocation is instant — any request using that key will be rejected immediately. Create a new key before revoking an old one if you need to rotate credentials without downtime.

Using the API

Send captures to the REST endpoint with a POST request. Authenticate by including your API key in the Authorization header as a Bearer token.

Single capture:

bash curl -X POST https://app.sylva.ai/api/captures
-H "Authorization: Bearer YOUR_API_KEY"
-H "Content-Type: application/json"
-d '{ "captures": [ { "source": "crm", "title": "Deal update — Acme Corp", "content": "Acme moved to negotiation stage. Contract value $48k.", "source_url": "https://crm.example.com/deals/12345", "context": "work", "captured_at": "2025-01-15T09:30:00Z" } ] }'

Batch capture (multiple items):

curl -X POST https://app.sylva.ai/api/captures \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "captures": [
      {
        "source": "slack",
        "title": "Design review notes",
        "content": "Team agreed on the new nav layout. Ship by Friday.",
        "context": "work",
        "captured_at": "2025-01-15T10:00:00Z"
      },
      {
        "source": "email",
        "title": "Vendor pricing update",
        "content": "New pricing tier starts at $200/mo, effective Feb 1.",
        "context": "work",
        "captured_at": "2025-01-15T10:05:00Z"
      }
    ]
  }'

Each capture object supports these fields:

  • source — where the content came from (e.g., "manual", "slack", "crm", or any string that makes sense for your integration)
  • title — optional label for the capture
  • content — the actual text (required)
  • source_url — optional link back to the original source
  • context"work" or "personal"
  • captured_at — ISO 8601 timestamp; defaults to the current time if omitted

Webhook Integration Patterns

API keys work well as the authentication layer for webhook-driven workflows. Common patterns:

  • Zapier / Make / n8n — Set up a webhook action that POSTs to https://app.sylva.ai/api/captures with your API key in the Authorization header. Trigger it from any event in your connected apps — a new Notion page, a tagged email, a closed support ticket
  • Incoming webhooks from SaaS tools — Many tools let you configure an outgoing webhook when something happens. Point that webhook at a lightweight middleware (a Zapier step, a Cloudflare Worker, or a small Lambda) that reformats the payload into Sylva's capture format and forwards it
  • Scheduled batch syncs — Write a cron job or scheduled automation that queries another system, collects recent items, and submits them as a batch capture

Because each API key is named and tracked independently, you can create one key per integration. This makes it easy to see which integration is sending what — and to revoke a single integration's access without affecting the others.

Rate Limiting

The Intake API enforces rate limits to keep things stable. If you exceed the limit, the API returns a 429 Too Many Requests response. When this happens, wait and retry — the response headers include a Retry-After value telling you how long to wait.

For batch workflows, submit multiple captures in a single request rather than sending them one at a time. This is both faster and more efficient against the rate limit.

Intake Activity Log

Every API submission is logged. Check the Intake Activity section in Settings > Admin to see recent requests — which key was used, how many captures were submitted, and whether the request succeeded or failed. This is your first stop when troubleshooting an integration that isn't working as expected.

Intake activity log showing recent API submissions

Was this helpful?