{
 "schema_version": "1.0",
 "id": "todoist",
 "name": "Todoist",
 "research_status": "researched",
 "vendor_domain": "todoist.com",
 "category": "Operations & Workflow",
 "task": "Personal productivity & research",
 "summary": "Task manager for individuals and small teams: quick capture, due dates and projects across devices. A to-do app, not a project suite with timelines or dependencies.",
 "best_for": "individuals and small teams who want a fast, elegant task manager that gets out of the way",
 "skip_if": "you need full project management with timelines, workloads and dependencies — this is a to-do app, not a PM suite",
 "honest_knock": "The free plan's 5-project cap, and reminders that fire only at the moment a task comes due, push most serious users to Pro quickly — but Pro is genuinely cheap. In our test on 20 October 2026 the sixth project was not created: the attempt opened a 7-day Pro trial offer instead. It's a personal/team task manager, not a full project platform, so don't expect Gantt-level PM.",
 "pricing": {
  "status": "public",
  "entry_price": "$5",
  "entry_price_terms": "a month billed annually ($60/yr) or $7 billed monthly",
  "from_price_usd_month": 5.0,
  "plans": null,
  "plans_source": null,
  "notes": "(re-verified 25 September 2026 on todoist.com/pricing, currency set to USD, both billing toggles) Free Beginner plan: 5 personal projects, 3 filter views, 5 MB uploads, one week of activity history and one automatic reminder per task. Pro $5 a month billed annually ($60 a year) or $7 billed monthly, with 300 personal projects, custom reminders, calendar layout, task duration, deadlines and full history. Business $8 per user a month billed annually ($96 a year) or $10 monthly, plus local tax, adding a shared team workspace with 500 team projects and up to 1,000 members and guests.",
  "verified_at": "2026-09-25",
  "source_url": "https://todoist.com/pricing",
  "schema_offer": null,
  "source_quotes": null,
  "recent_change": null
 },
 "free_plan": true,
 "free_plan_evidence": "The free plan's 5-project cap, and reminders that fire only at the moment a task comes due, push most serious users to Pro quickly — but Pro is genuinely cheap.",
 "cost_traps": [
  {
   "id": "per_seat",
   "label": "Per-seat pricing",
   "evidence": "Business $8 per user a month billed annually ($96 a year) or $10 monthly, plus local tax, adding a shared team workspace with 500 team projects and up to 1,000 members and guests.",
   "verified_at": "2026-09-25",
   "source_url": "https://todoist.com/pricing"
  }
 ],
 "compare_with": {
  "name": "TickTick or Microsoft To Do",
  "why": "other task managers"
 },
 "links": {
  "record": "https://aibuildermarketplace.com/api/v1/products/todoist.json",
  "review": "https://aibuildermarketplace.com/b2b/todoist-review/",
  "marketplace": "https://aibuildermarketplace.com/marketplace/todoist/",
  "vendor_site": "https://todoist.com"
 },
 "purchase": {
  "seller": "the vendor",
  "how": "AIBuilder Marketplace does not sell this software. Sign up, start a trial or buy on the vendor's site.",
  "handoff_url": "https://get.todoist.io/j2mu6x3husri",
  "affiliate": true,
  "disclosure": "Where purchase.affiliate is true, purchase.handoff_url is an affiliate link: AIBuilder Marketplace may earn a commission at no extra cost to the buyer. Commission never changes what a record says, and products are not ranked by commission. Where it is false the link is the vendor's plain site."
 },
 "provenance": {
  "research": "hand-researched dossier, read on the vendor's own pages",
  "researched_since": "2026-07",
  "method": "https://aibuildermarketplace.com/how-we-review/",
  "license": "CC BY 4.0. Credit 'AIBuilder Marketplace' with a link to https://aibuildermarketplace.com/atlas/.",
  "note": "A rebuild is not a new measurement: pricing.verified_at is the date that matters."
 },
 "cost": {
  "status": "not_yet",
  "engine": "https://aibuildermarketplace.com/agents/#cost",
  "rules": null,
  "growth": null
 },
 "unknowns": [
  "Plan-by-plan prices are not structured in this record yet; pricing.notes has the full text.",
  "Contract terms (cancellation, data export, data location, minimum seats) are not researched as separate fields; pricing.notes mentions them only where the vendor's pricing page does.",
  "Being verified: free trial and refund terms are not yet matched to a verbatim line on the vendor's own pages. Not matched does not mean there is none.",
  "No computable price rules yet: cost at a given team size cannot be calculated for this product."
 ],
 "verification": {
  "price": "read",
  "free_trial": "being_verified",
  "refund": "being_verified"
 },
 "status_page": {
  "source_url": "https://status.todoist.net",
  "platform": "instatus",
  "period": {
   "from": "2026-08-04T05:40:01.709183Z",
   "to": "2026-11-02T05:40:01.709183Z",
   "days": 90
  },
  "read_at": "2026-11-02T05:40:01.709183Z",
  "source_urls": [
   "https://status.todoist.net/history.rss"
  ],
  "claim": null,
  "scope": "Todoist - Status. Counts cover all incidents on this page; no component filtering. May include services beyond the reviewed product.",
  "incident_count": null,
  "observed_count": 6,
  "counts_by_vendor_label": {
   "unknown": 6
  },
  "major_or_critical_count": null,
  "observed_major_or_critical_count": 0,
  "duration_seconds": null,
  "known_duration_seconds": null,
  "duration_known_count": 0,
  "ongoing_count": null,
  "incidents": [
   {
    "id": "https://status.todoist.net/maintenance/cmvs161km00hi13npmewxouye",
    "source_url": "https://status.todoist.net/maintenance/cmvs161km00hi13npmewxouye",
    "label": "unknown",
    "title": "[2026/10/29] Scheduled Maintenance",
    "started_at": null,
    "published_at": "2026-10-29T05:30:00Z",
    "resolved_at": null,
    "ongoing": null,
    "kind": "notice"
   },
   {
    "id": "https://status.todoist.net/maintenance/cmtngf8lo00fr13n382khi7rt",
    "source_url": "https://status.todoist.net/maintenance/cmtngf8lo00fr13n382khi7rt",
    "label": "unknown",
    "title": "[2026/09/06] Scheduled Maintenance",
    "started_at": null,
    "published_at": "2026-09-06T21:45:00Z",
    "resolved_at": null,
    "ongoing": null,
    "kind": "notice"
   },
   {
    "id": "https://status.todoist.net/incident/cmtkd0rec04lt1anw7gj99bc3",
    "source_url": "https://status.todoist.net/incident/cmtkd0rec04lt1anw7gj99bc3",
    "label": "unknown",
    "title": "  Degraded performance in the web and desktop apps",
    "started_at": null,
    "published_at": "2026-08-31T16:00:00Z",
    "resolved_at": null,
    "ongoing": null,
    "kind": "notice"
   },
   {
    "id": "https://status.todoist.net/incident/cmt8fn62k0jz40rnh0vu3fjyj",
    "source_url": "https://status.todoist.net/incident/cmt8fn62k0jz40rnh0vu3fjyj",
    "label": "unknown",
    "title": "Sync and login issue",
    "started_at": null,
    "published_at": "2026-08-25T08:58:22Z",
    "resolved_at": null,
    "ongoing": null,
    "kind": "notice"
   },
   {
    "id": "https://status.todoist.net/maintenance/cmt2p2iiv08lr0kplj9scotf3",
    "source_url": "https://status.todoist.net/maintenance/cmt2p2iiv08lr0kplj9scotf3",
    "label": "unknown",
    "title": "[2026/08/23] Todoist Scheduled Maintenance",
    "started_at": null,
    "published_at": "2026-08-23T23:00:00Z",
    "resolved_at": null,
    "ongoing": null,
    "kind": "notice"
   },
   {
    "id": "https://status.todoist.net/maintenance/cmt0dir3301w20kqjb9a2xo5q",
    "source_url": "https://status.todoist.net/maintenance/cmt0dir3301w20kqjb9a2xo5q",
    "label": "unknown",
    "title": "Todoist API maintenance",
    "started_at": null,
    "published_at": "2026-08-20T01:00:00Z",
    "resolved_at": null,
    "ongoing": null,
    "kind": "notice"
   }
  ],
  "coverage": "feed_entries_only",
  "note": "Vendor-reported incidents, not measured uptime. Durations are summed per incident, clipped to the window; overlaps count separately. Feed notices use publication dates, may include maintenance and lack original start/end times. Counts cover the whole vendor page, not product-only incidents.",
  "availability": "ok"
 },
 "measured": {
  "support": null,
  "onboarding": null,
  "inbox": {
   "timeline": {
    "signup_at": null,
    "messages": [
     {
      "received_at": "2026-10-20T15:08:55Z",
      "sender_name": "Todoist team",
      "sender_domain": "todoist.com",
      "subject": "Verifieer je e-mailadres",
      "folder": "junk",
      "offer": null
     },
     {
      "received_at": "2026-10-21T03:12:05Z",
      "sender_name": "Todoist team",
      "sender_domain": "todoist.com",
      "subject": "[our name]’s task(s) for 21 Oct 2026 → 1 overdue",
      "folder": "junk",
      "offer": null
     },
     {
      "received_at": "2026-10-22T03:06:12Z",
      "sender_name": "Todoist team",
      "sender_domain": "todoist.com",
      "subject": "[our name]’s task(s) for 22 Oct 2026 → 1 overdue",
      "folder": "junk",
      "offer": null
     },
     {
      "received_at": "2026-10-23T03:06:50Z",
      "sender_name": "Todoist team",
      "sender_domain": "todoist.com",
      "subject": "[our name]’s task(s) for 23 Oct 2026 → 1 overdue",
      "folder": "junk",
      "offer": null
     },
     {
      "received_at": "2026-10-24T03:06:43Z",
      "sender_name": "Todoist team",
      "sender_domain": "todoist.com",
      "subject": "[our name]’s task(s) for 24 Oct 2026 → 1 overdue",
      "folder": "junk",
      "offer": null
     },
     {
      "received_at": "2026-10-25T03:06:12Z",
      "sender_name": "Todoist team",
      "sender_domain": "todoist.com",
      "subject": "[our name]’s task(s) for 25 Oct 2026 → 1 overdue",
      "folder": "junk",
      "offer": null
     },
     {
      "received_at": "2026-10-25T05:37:23Z",
      "sender_name": "Todoist team",
      "sender_domain": "todoist.com",
      "subject": "Stop typing. Start capturing.",
      "folder": "junk",
      "offer": null
     },
     {
      "received_at": "2026-10-26T03:07:14Z",
      "sender_name": "Todoist team",
      "sender_domain": "todoist.com",
      "subject": "[our name]’s task(s) for 26 Oct 2026 → 1 overdue",
      "folder": "junk",
      "offer": null
     },
     {
      "received_at": "2026-10-26T06:23:07Z",
      "sender_name": "Todoist team",
      "sender_domain": "todoist.com",
      "subject": "The quickest way to clear your head",
      "folder": "junk",
      "offer": null
     },
     {
      "received_at": "2026-10-27T03:04:26Z",
      "sender_name": "Todoist team",
      "sender_domain": "todoist.com",
      "subject": "[our name]’s task(s) for 27 Oct 2026 → 1 overdue",
      "folder": "junk",
      "offer": null
     },
     {
      "received_at": "2026-10-28T03:02:28Z",
      "sender_name": "Todoist team",
      "sender_domain": "todoist.com",
      "subject": "[our name]’s task(s) for 28 Oct 2026 → 1 overdue",
      "folder": "junk",
      "offer": null
     },
     {
      "received_at": "2026-10-29T03:05:39Z",
      "sender_name": "Todoist team",
      "sender_domain": "todoist.com",
      "subject": "[our name]’s task(s) for 29 Oct 2026 → 1 overdue",
      "folder": "inbox",
      "offer": null
     },
     {
      "received_at": "2026-10-30T03:04:57Z",
      "sender_name": "Todoist team",
      "sender_domain": "todoist.com",
      "subject": "[our name]’s task(s) for 30 Oct 2026 → 1 overdue",
      "folder": "inbox",
      "offer": null
     },
     {
      "received_at": "2026-10-30T06:27:03Z",
      "sender_name": "Todoist team",
      "sender_domain": "todoist.com",
      "subject": "👋 [our name], let us walk you through Todoist",
      "folder": "inbox",
      "offer": null
     },
     {
      "received_at": "2026-10-31T03:04:44Z",
      "sender_name": "Todoist team",
      "sender_domain": "todoist.com",
      "subject": "[our name]’s task(s) for 31 Oct 2026 → 1 overdue",
      "folder": "inbox",
      "offer": null
     },
     {
      "received_at": "2026-10-31T06:10:12Z",
      "sender_name": "Todoist team",
      "sender_domain": "todoist.com",
      "subject": "Become hyper-organized with more projects 🚀",
      "folder": "inbox",
      "offer": null
     },
     {
      "received_at": "2026-11-01T03:04:45Z",
      "sender_name": "Todoist team",
      "sender_domain": "todoist.com",
      "subject": "[our name]’s task(s) for 1 Nov 2026 → 1 overdue",
      "folder": "inbox",
      "offer": null
     }
    ]
   },
   "window_start": "2026-10-19T22:00:00Z",
   "window_end": "2026-11-02T23:00:00Z",
   "window_days": 14,
   "time_basis": "signup_date_midnight_Europe_Amsterdam",
   "status": "partial",
   "observed_at": "2026-11-02T02:18:01.612935Z",
   "counts": {
    "transactional": 0,
    "onboarding_tips": 0,
    "sales_upsell": 0,
    "personal_looking_sales": 0
   },
   "first_sales_email_hours": null,
   "has_list_unsubscribe": false,
   "uncertain": 17,
   "after_cancel": {
    "status": "not_tested"
   },
   "after_deletion": {
    "status": "not_tested"
   },
   "after_unsubscribe": {
    "status": "not_tested"
   }
  },
  "invites": {
   "status": "not_tested",
   "default_on": "not_tested",
   "plus_accepted": "not_tested",
   "invitee_can_unsubscribe": "not_tested",
   "address_book_requested": "not_tested",
   "workspace_requested": "not_tested"
  },
  "entry_exit": {
   "signup": {
    "screens": "not_tested",
    "card_required": "not_tested",
    "call_required": "not_tested",
    "observed_on": null,
    "evidence_url": null
   },
   "cancel": {
    "screens": "not_tested",
    "call_required": "not_tested",
    "observed_on": null,
    "evidence_url": null
   }
  },
  "tested_on": "2026-10-20",
  "tested_by": "Our team; actor, account and scope are documented in the review.",
  "review_url": "https://aibuildermarketplace.com/b2b/todoist-review/",
  "method": [
   "Created a project from My Projects",
   "Added three tasks in succession",
   "Entered a task containing the word today",
   "Added a subtask through the parent task details",
   "Created a Later section in the project menu",
   "Set the second task to priority 1 and displayed the completed third task",
   "Created five projects and attempted a sixth"
  ],
  "claims": [],
  "exit_test": null,
  "facts": {
   "trial_requires_card": {
    "value": "not_tested",
    "basis": "No explicit observation in the public evidence.",
    "observed_on": "2026-10-20",
    "evidence_url": "https://aibuildermarketplace.com/b2b/todoist-review/#hands-on"
   },
   "trial_duration_confirmed": {
    "value": "not_tested",
    "basis": "No explicit observation in the public evidence.",
    "observed_on": "2026-10-20",
    "evidence_url": "https://aibuildermarketplace.com/b2b/todoist-review/#hands-on"
   },
   "export_file_inspected": {
    "value": "not_tested",
    "basis": "No explicit observation in the public evidence.",
    "observed_on": "2026-10-20",
    "evidence_url": "https://aibuildermarketplace.com/b2b/todoist-review/#hands-on"
   },
   "export_reimport_tested": {
    "value": "not_tested",
    "basis": "No explicit observation in the public evidence.",
    "observed_on": "2026-10-20",
    "evidence_url": "https://aibuildermarketplace.com/b2b/todoist-review/#hands-on"
   },
   "export_direct_download": {
    "value": "not_tested",
    "basis": "No explicit observation in the public evidence.",
    "observed_on": "2026-10-20",
    "evidence_url": "https://aibuildermarketplace.com/b2b/todoist-review/#hands-on"
   },
   "marketing_emails_14d": {
    "value": "not_tested",
    "basis": "No complete unambiguous 14-day inbox observation available.",
    "observed_on": "2026-11-02",
    "evidence_url": null
   }
  }
 },
 "task_evidence": {
  "structured_checks": [],
  "sessions": [
   {
    "source": "session",
    "product_name": "Todoist",
    "product_id": "todoist",
    "run_date": "2026-10-20",
    "session_type": "hands_on",
    "what": "Tested by our team on 20 October 2026 on a new free Beginner account: Daan created the account and our AI assistant ran the test in his browser. We built one project with tasks, a sub-task, a section, a priority and a date typed in plain words, then created projects until the free plan's limit appeared.",
    "findings": [
     "A new account started at '0 projects' with a 'Free' label; the Inbox does not count as a project.",
     "Typing 'Review today' was recognised while typing: Todoist highlighted 'today', removed it from the task name and saved a task called 'Review' due Today, and the Today view counted 1.",
     "A sub-task added through the task details sat indented under its parent, which then showed a '0/1' counter. A section 'Later' came from the project menu with its own Add task.",
     "A completed task disappeared from the list and came back struck through under Display > Completed tasks; the project counter showed 4 open tasks.",
     "From the fourth project the sidebar showed 'USED: 4/5', then 'USED: 5/5'.",
     "The sixth project was not created. The attempt went straight to 'Try Pro for free': yearly billing at €5/month ('SAVE €24'), 'Due today (7 days free) €0' and 'Due 27 Oct 2026 €60/year', for 300 projects and 150 filter views. The projects page then said '5 projects' with 'Need more projects? ... Upgrade'.",
     "The 'Try Pro for free' window also appeared once, unasked, while creating the very first project."
    ],
    "not_tested": [
     "The one-week activity history (that needs a follow-up a week later)",
     "Filters (3 on Beginner) and reminders",
     "Ramble (voice), Todoist Assist and the calendar connection",
     "Working together in a team workspace",
     "The monthly price of Pro (we only saw yearly billing: €5 a month, €60 a year)",
     "Whether the 7-day Pro trial asks for a payment card"
    ],
    "report": null,
    "disclosure": null,
    "evidence_status": null,
    "result": "reported",
    "note": "Findings as written up after the session; no pass/fail per task was scored.",
    "in_catalog": true
   }
  ]
 },
 "open_questions": [
  {
   "question_id": "todoist:cancellation_terms",
   "key": "cancellation_terms",
   "question": "Can a customer cancel at any time, and what happens to an annual plan that is cancelled mid-term?",
   "status": "open"
  },
  {
   "question_id": "todoist:data_export",
   "key": "data_export",
   "question": "Which data can a customer export, in which formats, on which plans?",
   "status": "open"
  },
  {
   "question_id": "todoist:data_location",
   "key": "data_location",
   "question": "Where is customer data stored, and can a customer choose the region?",
   "status": "open"
  },
  {
   "question_id": "todoist:minimum_seats",
   "key": "minimum_seats",
   "question": "Is there a minimum number of seats or users on any plan?",
   "status": "open"
  }
 ],
 "vendor_answers": [],
 "agent_channels": {
  "vendor_mcp": {
   "what": "First-party server at ai.todoist.net/mcp, plus a Todoist plugin that wires up the configuration for you.",
   "plan": "Not stated for Todoist itself; their guide does note that Claude Code requires a paid Claude plan.",
   "status": "Live",
   "source": "https://www.todoist.com/help/todoist/todoist-and-ai/use-todoist-in-claude-code-b1USJ4HB3",
   "checked": "2026-07-28",
   "note": "The vendor's own MCP server, from our MCP research; it works with your own account at the vendor."
  },
  "agent_checkout": {
   "status": "not_found",
   "detail": "No explicit support for purchases by AI agents on the vendor's own pages.",
   "checked_at": "2026-10-07",
   "method": "homepage, /pricing and the pricing page we cite, read as plain HTML (no JavaScript) and searched for explicit support of purchases by AI agents: Agentic Commerce Protocol, Instant Checkout, Agent Payments Protocol, buy in ChatGPT, agentic checkout"
  }
 }
}
