[
  {
    "id": "twenty-docs-1",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/key-features.md",
    "excerpt": "Create custom objects, add custom fields with 20+ field types, and build relationships between any objects.",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-2",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/key-features.md",
    "excerpt": "Switch between table views, kanban boards, and calendar views.",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-3",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/key-features.md",
    "excerpt": "Trigger workflows on record changes, schedules, manual actions, or incoming webhooks.",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-4",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/key-features.md",
    "excerpt": "Connect your Google Workspace or Microsoft 365 account.\n  \nEmails and calendar events automatically appear on the relevant CRM records.",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-5",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/key-features.md",
    "excerpt": "AI agents that work autonomously within your CRM — answering questions, enriching records, and executing multi-step tasks within your permission model.",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-6",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/key-features.md",
    "excerpt": "Build custom dashboards with real-time widgets.\n  \nTrack pipeline metrics, team performance, and business KPIs with configurable charts and filters.",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-7",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/key-features.md",
    "excerpt": "Role-based access control at every level — objects, fields, and individual records.\n  \nConfigure SSO with SAML or OIDC.",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-8",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/key-features.md",
    "excerpt": "A developer-first API that adapts to your custom data model.\n  \nBoth GraphQL and REST endpoints, with auto-generated documentation per workspace.",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-9",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/key-features.md",
    "excerpt": "Import data from CSV files or via API.\n  \nField mapping, duplicate detection, and error handling built in. Export your data anytime — no lock-in.",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-10",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/key-features.md",
    "excerpt": "Run Twenty on your own infrastructure with a single Docker Compose command.",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-11",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/core-concepts/data-model.md",
    "excerpt": "You can create custom relations between any objects, including many-to-many relationships.",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-12",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/core-concepts/data-model.md",
    "excerpt": "Custom objects get the same first-class treatment as built-in ones — including API endpoints, views, permissions, and workflow triggers.",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-13",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/core-concepts/workflows.md",
    "excerpt": "Workflows can chain any combination of: Record operations... Send email... HTTP request... Code... Branches... Iterator... AI Agent... Delay... Form",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-14",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/core-concepts/workflows.md",
    "excerpt": "Send Slack alerts when a deal reaches a certain stage\n* Auto-enrich new contacts with data from external APIs",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-15",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/core-concepts/calendar-and-email.md",
    "excerpt": "You control what gets imported — filter by date range or sender to avoid pulling in irrelevant emails.",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-16",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/core-concepts/calendar-and-email.md",
    "excerpt": "Zapier | Connect to 5,000+ apps without code",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-17",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/core-concepts/calendar-and-email.md",
    "excerpt": "Developers can build full-featured apps on top of Twenty — adding custom UI, server-side logic, and deep integrations. Apps can be published for the community or kept private.",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-18",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/core-concepts/ai.md",
    "excerpt": "Ask questions about your data in natural language. The AI chatbot can query your CRM records, summarize information, and help you find what you're looking for without building complex filters.",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-19",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/core-concepts/ai.md",
    "excerpt": "Agents can only access objects and fields that the user (or role) has permission to view. Sensitive data stays protected even when AI is involved.",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-20",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/core-concepts/dashboards.md",
    "excerpt": "You can configure: Chart type... Data source... Filters... Aggregation... Grouping",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-21",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/core-concepts/dashboards.md",
    "excerpt": "Dashboards are workspace-level — everyone on your team can see them. Arrange widgets in a grid layout and resize them.",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-22",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/developers/extend/api.md",
    "excerpt": "when you add a custom object (say Invoice), it immediately gets REST and GraphQL endpoints identical to built-in objects like Company or Person.",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-23",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/developers/extend/api.md",
    "excerpt": "Metadata API — /rest/metadata/ and /metadata/ Schema management: create/modify/delete objects, fields, and relations. This is how you programmatically change your data model.",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-24",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/developers/extend/api.md",
    "excerpt": "Keys can be scoped to a specific role under Settings → Members → Roles → Assignment tab to limit what they can access.",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-25",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/developers/extend/api.md",
    "excerpt": "Both REST and GraphQL support batching up to 60 records per request — create, update, or delete. GraphQL also supports batch upsert",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-26",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/developers/self-host/capabilities/docker-compose.md",
    "excerpt": "Install the latest stable version of Twenty with a single command: bash <(curl -sL https://raw.githubusercontent.com/twentyhq/twenty/main/packages/twenty-docker/scripts/install.sh)",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-27",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/user-guide/data-migration/overview.md",
    "excerpt": "Map your columns to Twenty fields ... Review errors (highlighted in yellow) and fix them, directly editing in the UI",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-28",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/user-guide/data-migration/overview.md",
    "excerpt": "You need to reference the related object using a unique field from this object: the id, the email for People and Workspace Members, the domain for companies",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-29",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/user-guide/data-migration/overview.md",
    "excerpt": "Export your workspace data for backups, reporting, or migration. ... Export limits: Up to 20,000 records per export.",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-gh-1",
    "tier": "github",
    "url": "https://github.com/twentyhq/twenty",
    "excerpt": "Scaffold a new app with the Twenty CLI: npx create-twenty-app my-app ... Define objects, fields, and views as code",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-gh-2",
    "tier": "github",
    "url": "https://github.com/twentyhq/twenty",
    "excerpt": "npx twenty app:publish --private",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-gh-3",
    "tier": "github",
    "url": "https://github.com/twentyhq/twenty",
    "excerpt": "Sign up at twenty.com and spin up a workspace in under a minute, with no infrastructure to manage and always up to date.",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-30",
    "tier": "claimed-docs",
    "url": "https://twenty.com/pricing",
    "excerpt": "Custom objects | Unlimited | Unlimited | Unlimited",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-31",
    "tier": "claimed-docs",
    "url": "https://twenty.com/pricing",
    "excerpt": "Row-level permissions\n*   SAML/OIDC SSO\n*   Custom domain\n*   Priority support",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-32",
    "tier": "claimed-docs",
    "url": "https://twenty.com/pricing",
    "excerpt": "MCP server | Yes | Yes | Yes",
    "fetchedAt": "2026-09-04T01:25:57.281Z"
  },
  {
    "id": "twenty-docs-33",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/core-concepts/data-model.md",
    "excerpt": "You can also create custom objects for anything your business needs — projects, support tickets, products, contracts, or anything else.",
    "fetchedAt": "2026-09-04T01:27:23.170Z"
  },
  {
    "id": "twenty-docs-34",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/key-features.md",
    "excerpt": "Switch between table views, kanban boards, and calendar views. Filter with AND/OR logic, sort by multiple fields, group records, and save custom views.",
    "fetchedAt": "2026-09-04T01:27:23.170Z"
  },
  {
    "id": "twenty-docs-35",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/core-concepts/workflows.md",
    "excerpt": "Workflows let you automate repetitive tasks and connect Twenty to external tools — without writing code (though you can if you want to).",
    "fetchedAt": "2026-09-04T01:27:23.170Z"
  },
  {
    "id": "twenty-docs-36",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/developers/self-host/capabilities/docker-compose.md",
    "excerpt": "This guide provides step-by-step instructions to install and configure the Twenty application using Docker Compose.",
    "fetchedAt": "2026-09-04T01:27:23.170Z"
  },
  {
    "id": "twenty-docs-37",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/user-guide/data-migration/overview.md",
    "excerpt": "You can import data for any object using CSV, XLSX, or XLS files. Each file should contain only one type of object (e.g., only People records).",
    "fetchedAt": "2026-09-04T01:27:23.170Z"
  },
  {
    "id": "twenty-docs-38",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/key-features.md",
    "excerpt": "Export your data anytime — no lock-in.",
    "fetchedAt": "2026-09-04T01:27:23.170Z"
  },
  {
    "id": "twenty-gh-4",
    "tier": "github",
    "url": "https://github.com/twentyhq/twenty",
    "excerpt": "npx create-twenty-app my-app ... npx twenty app:publish --private",
    "fetchedAt": "2026-09-04T01:27:23.170Z"
  },
  {
    "id": "twenty-docs-39",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/key-features.md",
    "excerpt": "Role-based access control at every level — objects, fields, and individual records. Configure SSO with SAML or OIDC. Audit logs track who did what.",
    "fetchedAt": "2026-09-04T01:27:23.170Z"
  },
  {
    "id": "twenty-docs-40",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com",
    "excerpt": "React, TypeScript. Your team already knows how to extend Twenty. No proprietary languages, no gatekeeping.",
    "fetchedAt": "2026-09-04T01:28:45.775Z"
  },
  {
    "id": "twenty-docs-41",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/developers/extend/api.md",
    "excerpt": "when you add a custom object (say `Invoice`), it immediately gets REST and GraphQL endpoints identical to built-in objects like `Company` or `Person`",
    "fetchedAt": "2026-09-04T01:28:45.775Z"
  },
  {
    "id": "twenty-gh-5",
    "tier": "github",
    "url": "https://github.com/twentyhq/twenty",
    "excerpt": "Scaffold a new app with the Twenty CLI: npx create-twenty-app my-app",
    "fetchedAt": "2026-09-04T01:28:45.775Z"
  },
  {
    "id": "twenty-docs-42",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/core-concepts/workflows.md",
    "excerpt": "Code — Run custom JavaScript for complex logic",
    "fetchedAt": "2026-09-04T01:28:45.775Z"
  },
  {
    "id": "twenty-docs-43",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/developers/extend/api.md",
    "excerpt": "Metadata API — Schema management: create/modify/delete objects, fields, and relations. This is how you programmatically change your data model.",
    "fetchedAt": "2026-09-04T01:28:45.775Z"
  },
  {
    "id": "twenty-docs-44",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com",
    "excerpt": "Privacy-conscious organizations — you need to self-host and own your data end to end. Regulatory, contractual, or just principle.",
    "fetchedAt": "2026-09-04T01:28:45.775Z"
  },
  {
    "id": "twenty-docs-45",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/user-guide/data-migration/overview.md",
    "excerpt": "You can import data for any object using CSV, XLSX, or XLS files.",
    "fetchedAt": "2026-09-04T01:28:45.775Z"
  },
  {
    "id": "twenty-docs-46",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/key-features.md",
    "excerpt": "Build custom dashboards with real-time widgets.",
    "fetchedAt": "2026-09-04T01:28:45.775Z"
  },
  {
    "id": "twenty-docs-47",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/key-features.md",
    "excerpt": "Emails and calendar events automatically appear on the relevant CRM records.",
    "fetchedAt": "2026-09-04T01:28:45.775Z"
  },
  {
    "id": "twenty-docs-48",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/core-concepts/dashboards.md",
    "excerpt": "Arrange widgets in a grid layout and resize them to build the view that works for your team.",
    "fetchedAt": "2026-09-04T01:28:45.775Z"
  },
  {
    "id": "twenty-docs-49",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/developers/extend/api.md",
    "excerpt": "when you add a custom object (say `Invoice`), it immediately gets REST and GraphQL endpoints identical to built-in objects",
    "fetchedAt": "2026-09-04T01:29:59.761Z"
  },
  {
    "id": "twenty-docs-50",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/core-concepts/workflows.md",
    "excerpt": "**Code** — Run custom JavaScript for complex logic",
    "fetchedAt": "2026-09-04T01:29:59.761Z"
  },
  {
    "id": "twenty-docs-51",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/core-concepts/workflows.md",
    "excerpt": "Workflows let you automate repetitive tasks and connect Twenty to external tools — without writing code",
    "fetchedAt": "2026-09-04T01:29:59.761Z"
  },
  {
    "id": "twenty-docs-52",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/core-concepts/calendar-and-email.md",
    "excerpt": "Connect your **Google Workspace** or **Microsoft 365** mailbox. Once connected: Emails are automatically linked to the matching Company and People records",
    "fetchedAt": "2026-09-04T01:29:59.761Z"
  },
  {
    "id": "twenty-docs-53",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com",
    "excerpt": "**Privacy-conscious organizations** — you need to self-host and own your data end to end.",
    "fetchedAt": "2026-09-04T01:29:59.761Z"
  },
  {
    "id": "twenty-docs-54",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/key-features.md",
    "excerpt": "Role-based access control at every level — objects, fields, and individual records.",
    "fetchedAt": "2026-09-04T01:29:59.761Z"
  },
  {
    "id": "twenty-gh-6",
    "tier": "github",
    "url": "https://github.com/twentyhq/twenty",
    "excerpt": "Define objects, fields, and views as code",
    "fetchedAt": "2026-09-04T01:31:15.051Z"
  },
  {
    "id": "twenty-docs-55",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/core-concepts/calendar-and-email.md",
    "excerpt": "Developers can build full-featured apps on top of Twenty — adding custom UI, server-side logic, and deep integrations.",
    "fetchedAt": "2026-09-04T01:31:15.051Z"
  },
  {
    "id": "twenty-docs-56",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/core-concepts/ai.md",
    "excerpt": "AI agents go beyond chat — they can execute multi-step tasks autonomously: Enrich records with data from external sources",
    "fetchedAt": "2026-09-04T01:31:15.051Z"
  },
  {
    "id": "twenty-docs-57",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/core-concepts/dashboards.md",
    "excerpt": "Dashboards give you real-time visibility into your business metrics — pipeline health, team performance, revenue trends",
    "fetchedAt": "2026-09-04T01:31:15.051Z"
  },
  {
    "id": "twenty-docs-58",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/getting-started/core-concepts/calendar-and-email.md",
    "excerpt": "Emails are automatically linked to the matching Company and People records",
    "fetchedAt": "2026-09-04T01:31:15.051Z"
  },
  {
    "id": "twenty-docs-59",
    "tier": "claimed-docs",
    "url": "https://docs.twenty.com/user-guide/data-migration/overview.md",
    "excerpt": "API Import — Large-scale migrations, automation — Unlimited",
    "fetchedAt": "2026-09-04T01:31:15.051Z"
  },
  {
    "id": "twenty-comm-1",
    "tier": "community",
    "url": "https://hn.algolia.com/api/v1/items/40648082",
    "excerpt": "Twenty was almost what we needed. It was extremely easy to set up, the customization is very promising, and the REST API worked ok. The main issue is that it was pretty alpha-version, and I ran into quite a few small issues that just made it not quite work for us.",
    "fetchedAt": "2026-09-04T01:31:52.013Z"
  },
  {
    "id": "twenty-comm-2",
    "tier": "community",
    "url": "https://hn.algolia.com/api/v1/items/40648082",
    "excerpt": "Nice! It's great to have more open source platforms in the CRM space. This feels a lot like Directus except that the latter is a more general data platform you build upon.",
    "fetchedAt": "2026-09-04T01:31:52.013Z"
  },
  {
    "id": "twenty-comm-3",
    "tier": "community",
    "url": "https://hn.algolia.com/api/v1/items/40648082",
    "excerpt": "Massive difference exist between GPLv2 (Git) vs AGPLv3 (Twenty). You're comparing apples and oranges. Google documents well why they forbid AGPL.",
    "fetchedAt": "2026-09-04T01:31:52.013Z"
  },
  {
    "id": "twenty-probe-1",
    "tier": "probe",
    "url": "https://docs.twenty.com/llms.txt",
    "excerpt": "PROBE llms.txt: HTTP 200 at https://docs.twenty.com/llms.txt # Twenty Documentation\n\n## Getting Started\n\n### Welcome\n\n- [Why Twenty](https://docs.twenty.com/getting-started/introduc",
    "fetchedAt": "2026-09-04T01:33:21.373Z"
  },
  {
    "id": "twenty-probe-2",
    "tier": "probe",
    "url": "https://docs.twenty.com/openapi.json",
    "excerpt": "PROBE openapi: all candidate paths 404 (https://docs.twenty.com/openapi.json, https://docs.twenty.com/swagger.json, https://docs.twenty.com/api/openapi.json, https://docs.twenty.com/.well-known/openapi.json)",
    "fetchedAt": "2026-09-04T01:33:21.373Z"
  }
]
