OneCLI connects AI agents to Todoist through Todoist’s OAuth flow. Agents can create tasks, mark them complete, organize them into projects, and query your task list. The gateway injects OAuth credentials into requests to the Todoist API automatically.This is useful for agents that need to track work items, create follow-up tasks after completing operations, or manage to-do lists on your behalf.
Skip this section on OneCLI Cloud. It’s only for self-hosted OneCLI without TODOIST_CLIENT_ID and TODOIST_CLIENT_SECRET set, or if you want your own company name on Todoist’s consent screen.
In OneCLI, open Connections > Todoist > Custom credentials and copy the Redirect URI. In Todoist, paste it into OAuth redirect URL and save. OneCLI requests the data:read_write and data:delete scopes, so there’s nothing else to tick.
Copy the Redirect URI from Custom credentials in OneCLI.
Your Todoist app's settings with the OneCLI redirect URL.
3. Connect with your app
Copy the app’s Client ID and Client secret. Paste both into Connections > Todoist > Custom credentials, select Save & Connect, and click Agree in Todoist.
Access is per agent: grant the connection to each agent that needs it, choosing per tool what runs freely, what needs human approval, and what stays blocked — a read-only agent is a single grant. Organization rules add guardrails on top, like rate limits and blanket blocks. Everything is checked before credential injection, so a blocked request never reaches Todoist.
No. The token stays in OneCLI, and the gateway adds it at the proxy. See How it works.
Can I stop an agent from deleting tasks?
Yes. Block or require approval for delete tools when you grant the connection.
How do I reconnect Todoist?
Open Connections > Todoist and connect again. Agents with access use the new connection automatically.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"OneCLI","colors":{"primary":"#19BA5D","light":"#34D474","dark":"#128A45"},"logo":{"light":"https://mintcdn.com/chartdbinc/3IvBQeNyWpN0X2ob/logo/logo-full-light.svg?fit=max\u0026auto=format\u0026n=3IvBQeNyWpN0X2ob\u0026q=85\u0026s=630ee6bb5c7441548135c690b3e18d35","dark":"https://mintcdn.com/chartdbinc/3IvBQeNyWpN0X2ob/logo/logo-full-dark.svg?fit=max\u0026auto=format\u0026n=3IvBQeNyWpN0X2ob\u0026q=85\u0026s=c80db357e121f4676dba423c01304258","href":"/"},"favicon":"https://mintcdn.com/chartdbinc/wh8636A1-I7XVdgP/favicon.png?fit=max\u0026auto=format\u0026n=wh8636A1-I7XVdgP\u0026q=85\u0026s=71b6d9b7afc7659e690354e389db9da8","appearance":{"default":"light"},"background":{"color":{"light":"#FAFAF9","dark":"#1A1918"}},"navbar":{"links":[{"href":"https://github.com/onecli/onecli","label":"GitHub"},{"href":"https://onecli.sh","label":"Install"}]},"footer":{"socials":{"github":"https://github.com/onecli"}},"fonts":{"heading":{"family":"Overused Grotesk","weight":600,"source":"fonts/OverusedGroteskRoman-VF.woff2","format":"woff2"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"GitHub","icon":"https://mintlify.s3.us-west-1.amazonaws.com/chartdbinc/images/github.svg","href":"https://github.com/onecli"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"chartdbinc","hasAudioNarration":false,"actualSubdomain":"chartdbinc","customDomains":["onecli.sh"],"gitSource":{"type":"github","owner":"onecli","repo":"onecli-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6aed6ecd1adb743cd28e52b5","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"default","tag":"API Reference","count":240},{"language":"default","tag":"Workspace","count":105},{"language":"default","tag":"Integrations","count":88},{"language":"default","tag":"All app connections","count":64},{"language":"default","tag":"Enterprise","count":57},{"language":"default","tag":"Organization","count":52},{"language":"default","tag":"Apps","count":29},{"language":"default","tag":"Channels","count":28},{"language":"default","tag":"Platform","count":21},{"language":"default","tag":"Guides","count":17}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"/docs","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"a.nav-anchor div.mr-4.rounded-md{--tw-ring-color: transparent !important;--tw-ring-shadow: 0 0 0 0 transparent !important;--tw-ring-offset-shadow: 0 0 0 0 transparent !important;box-shadow:none!important;background:transparent!important;filter:none!important;transition:opacity 0.15s ease!important}a.nav-anchor:hover div.mr-4.rounded-md{--tw-ring-color: transparent !important;--tw-ring-shadow: 0 0 0 0 transparent !important;--tw-ring-offset-shadow: 0 0 0 0 transparent !important;box-shadow:none!important;background:transparent!important;filter:none!important;opacity:0.7!important}a.nav-anchor div.mr-4.rounded-md img{opacity:1!important;filter:none!important;background:transparent!important}a.nav-anchor:hover div.mr-4.rounded-md img{opacity:1!important;filter:none!important;background:transparent!important}.dark a.nav-anchor div.mr-4.rounded-md img,[data-theme=\"dark\"] a.nav-anchor div.mr-4.rounded-md img{filter:invert(1)!important}"}],"page":{"pagePath":"integrations/todoist","slug":"/integrations/todoist","pageMetadata":{"title":"Let AI Agents Manage Your Todoist Tasks","sidebarTitle":"Todoist","description":"Let agents create, complete, and organize Todoist tasks and projects. Connect with OAuth, and the gateway injects tokens so agents never handle them.","canonical":"https://onecli.sh/docs/integrations/todoist","href":"/integrations/todoist"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Let agents create, complete, and organize Todoist tasks and projects. Connect with OAuth, and the gateway injects tokens so agents never handle them.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Frame,Heading,Info,OptimizedImage,Step,Steps}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsx(_components.p,{children:`OneCLI connects AI agents to Todoist through Todoist’s OAuth flow. Agents can create tasks, mark them complete, organize them into projects, and query your task list. The gateway injects OAuth credentials into requests to the Todoist API automatically.`}),`\n`,_jsx(_components.p,{children:`This is useful for agents that need to track work items, create follow-up tasks after completing operations, or manage to-do lists on your behalf.`}),`\n`,_jsx(Heading,{level:`2`,id:`what-you-will-set-up`,children:`What you will set up`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`A Todoist connection through OAuth`}),`\n`,_jsx(_components.li,{children:`Automatic token injection on Todoist API requests`}),`\n`,_jsx(_components.li,{children:`Per-agent, per-tool access to tasks and projects`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`setup`,children:`Setup`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Go to Connections`,children:_jsxs(_components.p,{children:[`Open the OneCLI dashboard and navigate to `,_jsx(_components.strong,{children:`Connections`}),` > `,_jsx(_components.strong,{children:`Todoist`}),`.`]})}),_jsxs(Step,{title:`Authorize`,children:[_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Connect Todoist`}),`. You’ll be redirected to Todoist to authorize OneCLI. Review the permissions and click `,_jsx(_components.strong,{children:`Agree`}),`.`]}),_jsx(Frame,{caption:`The Todoist connect window on OneCLI Cloud.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/chartdbinc/yFw2bbdvTPdZgMOT/images/integrations/todoist/onecli-connect-todoist.png?fit=max\u0026auto=format\u0026n=yFw2bbdvTPdZgMOT\u0026q=85\u0026s=4185fd93c69e801c3ff7ae0d0a61fa3d`,alt:`OneCLI connect window for Todoist on Cloud, showing the Connect to Todoist button.`,\"data-og-width\":`1056`,width:`1056`,\"data-og-height\":`1078`,height:`1078`,\"data-path\":`images/integrations/todoist/onecli-connect-todoist.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/chartdbinc/yFw2bbdvTPdZgMOT/images/integrations/todoist/onecli-connect-todoist.png?w=280\u0026fit=max\u0026auto=format\u0026n=yFw2bbdvTPdZgMOT\u0026q=85\u0026s=f6058b2f5696d993d793349f4caf8cca 280w, https://mintcdn.com/chartdbinc/yFw2bbdvTPdZgMOT/images/integrations/todoist/onecli-connect-todoist.png?w=560\u0026fit=max\u0026auto=format\u0026n=yFw2bbdvTPdZgMOT\u0026q=85\u0026s=1c32b684b9088ad0746bb60be6c47474 560w, https://mintcdn.com/chartdbinc/yFw2bbdvTPdZgMOT/images/integrations/todoist/onecli-connect-todoist.png?w=840\u0026fit=max\u0026auto=format\u0026n=yFw2bbdvTPdZgMOT\u0026q=85\u0026s=dd15c1ab99754a38b8d4f1aa14418396 840w, https://mintcdn.com/chartdbinc/yFw2bbdvTPdZgMOT/images/integrations/todoist/onecli-connect-todoist.png?w=1100\u0026fit=max\u0026auto=format\u0026n=yFw2bbdvTPdZgMOT\u0026q=85\u0026s=337b9761107cb0702169534dcaa0dba3 1100w, https://mintcdn.com/chartdbinc/yFw2bbdvTPdZgMOT/images/integrations/todoist/onecli-connect-todoist.png?w=1650\u0026fit=max\u0026auto=format\u0026n=yFw2bbdvTPdZgMOT\u0026q=85\u0026s=299d6654ec7a2dae43b693546388d658 1650w, https://mintcdn.com/chartdbinc/yFw2bbdvTPdZgMOT/images/integrations/todoist/onecli-connect-todoist.png?w=2500\u0026fit=max\u0026auto=format\u0026n=yFw2bbdvTPdZgMOT\u0026q=85\u0026s=b1ae558d47fe27b42f28b1faf8c6edf2 2500w`})})]})]}),`\n`,_jsx(`a`,{id:`self-hosted`,style:{scrollMarginTop:`8rem`}}),`\n`,_jsx(Heading,{level:`2`,id:`self-hosted-use-your-own-todoist-app`,children:`Self-hosted: use your own Todoist app`}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Skip this section on OneCLI Cloud.`}),` It’s only for self-hosted OneCLI without `,_jsx(_components.code,{children:`TODOIST_CLIENT_ID`}),` and `,_jsx(_components.code,{children:`TODOIST_CLIENT_SECRET`}),` set, or if you want your own company name on Todoist’s consent screen.`]})}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`1. Create the Todoist app`,defaultOpen:true,id:`1-create-the-todoist-app`,children:[_jsxs(_components.p,{children:[`Open the `,_jsx(_components.a,{href:`https://developer.todoist.com/appconsole.html`,children:`Todoist App Management console`}),` and select `,_jsx(_components.strong,{children:`Create a new app`}),`. Name it `,_jsx(_components.code,{children:`OneCLI`}),`.`]}),_jsx(Frame,{caption:`Create the app in Todoist's App Management.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/chartdbinc/dTUFGeS6j-vov2tm/images/integrations/todoist/01-provider-setup.png?fit=max\u0026auto=format\u0026n=dTUFGeS6j-vov2tm\u0026q=85\u0026s=6f890c5936e09c3a92c8e6bcfb4cee58`,alt:`Todoist Create App dialog with the app name OneCLI and the Create App button.`,\"data-og-width\":`480`,width:`480`,\"data-og-height\":`273`,height:`273`,\"data-path\":`images/integrations/todoist/01-provider-setup.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/chartdbinc/dTUFGeS6j-vov2tm/images/integrations/todoist/01-provider-setup.png?w=280\u0026fit=max\u0026auto=format\u0026n=dTUFGeS6j-vov2tm\u0026q=85\u0026s=81f0ea2467225c4b43df06298c337994 280w, https://mintcdn.com/chartdbinc/dTUFGeS6j-vov2tm/images/integrations/todoist/01-provider-setup.png?w=560\u0026fit=max\u0026auto=format\u0026n=dTUFGeS6j-vov2tm\u0026q=85\u0026s=05ff3865e7b309257b455bfbcade55d4 560w, https://mintcdn.com/chartdbinc/dTUFGeS6j-vov2tm/images/integrations/todoist/01-provider-setup.png?w=840\u0026fit=max\u0026auto=format\u0026n=dTUFGeS6j-vov2tm\u0026q=85\u0026s=003afb7f35bcee8a3a4ec3fd99e5957c 840w, https://mintcdn.com/chartdbinc/dTUFGeS6j-vov2tm/images/integrations/todoist/01-provider-setup.png?w=1100\u0026fit=max\u0026auto=format\u0026n=dTUFGeS6j-vov2tm\u0026q=85\u0026s=c8b0d48e56b679cb322fbe6a342eda34 1100w, https://mintcdn.com/chartdbinc/dTUFGeS6j-vov2tm/images/integrations/todoist/01-provider-setup.png?w=1650\u0026fit=max\u0026auto=format\u0026n=dTUFGeS6j-vov2tm\u0026q=85\u0026s=fb348cb8501e5861143959b9f847d28f 1650w, https://mintcdn.com/chartdbinc/dTUFGeS6j-vov2tm/images/integrations/todoist/01-provider-setup.png?w=2500\u0026fit=max\u0026auto=format\u0026n=dTUFGeS6j-vov2tm\u0026q=85\u0026s=cc560b0875703f123ccebb5c292fa0b3 2500w`})})]}),_jsxs(Accordion,{title:`2. Add the redirect URL`,id:`2-add-the-redirect-url`,children:[_jsxs(_components.p,{children:[`In OneCLI, open `,_jsx(_components.strong,{children:`Connections`}),` > `,_jsx(_components.strong,{children:`Todoist`}),` > `,_jsx(_components.strong,{children:`Custom credentials`}),` and copy the `,_jsx(_components.strong,{children:`Redirect URI`}),`. In Todoist, paste it into `,_jsx(_components.strong,{children:`OAuth redirect URL`}),` and save. OneCLI requests the `,_jsx(_components.code,{children:`data:read_write`}),` and `,_jsx(_components.code,{children:`data:delete`}),` scopes, so there’s nothing else to tick.`]}),_jsx(Frame,{caption:`Copy the Redirect URI from Custom credentials in OneCLI.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/chartdbinc/yFw2bbdvTPdZgMOT/images/integrations/todoist/onecli-custom-credentials-todoist.png?fit=max\u0026auto=format\u0026n=yFw2bbdvTPdZgMOT\u0026q=85\u0026s=1ff35178d14475abf4583dfca6ecb904`,alt:`OneCLI Custom credentials card for Todoist with the setup guide link, the Redirect URI and its copy button, and the client ID and secret fields.`,\"data-og-width\":`1932`,width:`1932`,\"data-og-height\":`1060`,height:`1060`,\"data-path\":`images/integrations/todoist/onecli-custom-credentials-todoist.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/chartdbinc/yFw2bbdvTPdZgMOT/images/integrations/todoist/onecli-custom-credentials-todoist.png?w=280\u0026fit=max\u0026auto=format\u0026n=yFw2bbdvTPdZgMOT\u0026q=85\u0026s=cf83efaad40fd19747e91108d96a2c95 280w, https://mintcdn.com/chartdbinc/yFw2bbdvTPdZgMOT/images/integrations/todoist/onecli-custom-credentials-todoist.png?w=560\u0026fit=max\u0026auto=format\u0026n=yFw2bbdvTPdZgMOT\u0026q=85\u0026s=781ca4c4805c0c8074da14c276cea414 560w, https://mintcdn.com/chartdbinc/yFw2bbdvTPdZgMOT/images/integrations/todoist/onecli-custom-credentials-todoist.png?w=840\u0026fit=max\u0026auto=format\u0026n=yFw2bbdvTPdZgMOT\u0026q=85\u0026s=2bec3a46e38a248a73a08f456ddfa44f 840w, https://mintcdn.com/chartdbinc/yFw2bbdvTPdZgMOT/images/integrations/todoist/onecli-custom-credentials-todoist.png?w=1100\u0026fit=max\u0026auto=format\u0026n=yFw2bbdvTPdZgMOT\u0026q=85\u0026s=6689fec70355121d9866c20cd49c7bab 1100w, https://mintcdn.com/chartdbinc/yFw2bbdvTPdZgMOT/images/integrations/todoist/onecli-custom-credentials-todoist.png?w=1650\u0026fit=max\u0026auto=format\u0026n=yFw2bbdvTPdZgMOT\u0026q=85\u0026s=c2621b0d1603b89ec51cb8e90aa389b2 1650w, https://mintcdn.com/chartdbinc/yFw2bbdvTPdZgMOT/images/integrations/todoist/onecli-custom-credentials-todoist.png?w=2500\u0026fit=max\u0026auto=format\u0026n=yFw2bbdvTPdZgMOT\u0026q=85\u0026s=2299d93f5e9c5d5c543a2f2214eee88b 2500w`})}),_jsx(Frame,{caption:`Your Todoist app's settings with the OneCLI redirect URL.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/chartdbinc/dTUFGeS6j-vov2tm/images/integrations/todoist/02-provider-redirect.png?fit=max\u0026auto=format\u0026n=dTUFGeS6j-vov2tm\u0026q=85\u0026s=447f92ea21d882a12e90bd37bbb99f37`,alt:`Todoist app settings for OneCLI showing the Client ID, a hidden Client secret, and https://onecli.example.com/v1/apps/todoist/callback under OAuth redirect URL.`,\"data-og-width\":`840`,width:`840`,\"data-og-height\":`560`,height:`560`,\"data-path\":`images/integrations/todoist/02-provider-redirect.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/chartdbinc/dTUFGeS6j-vov2tm/images/integrations/todoist/02-provider-redirect.png?w=280\u0026fit=max\u0026auto=format\u0026n=dTUFGeS6j-vov2tm\u0026q=85\u0026s=126d3d76f4c30ccb50e5b22fe27dfb51 280w, https://mintcdn.com/chartdbinc/dTUFGeS6j-vov2tm/images/integrations/todoist/02-provider-redirect.png?w=560\u0026fit=max\u0026auto=format\u0026n=dTUFGeS6j-vov2tm\u0026q=85\u0026s=3973950d2534b8013c4dd1115f365504 560w, https://mintcdn.com/chartdbinc/dTUFGeS6j-vov2tm/images/integrations/todoist/02-provider-redirect.png?w=840\u0026fit=max\u0026auto=format\u0026n=dTUFGeS6j-vov2tm\u0026q=85\u0026s=84c8ce565cf1daa1885bdd184bfb486e 840w, https://mintcdn.com/chartdbinc/dTUFGeS6j-vov2tm/images/integrations/todoist/02-provider-redirect.png?w=1100\u0026fit=max\u0026auto=format\u0026n=dTUFGeS6j-vov2tm\u0026q=85\u0026s=a56cc24f0ee3b4f5215d11561e407c66 1100w, https://mintcdn.com/chartdbinc/dTUFGeS6j-vov2tm/images/integrations/todoist/02-provider-redirect.png?w=1650\u0026fit=max\u0026auto=format\u0026n=dTUFGeS6j-vov2tm\u0026q=85\u0026s=190ab43faaa5fe896d1e63c5715853ac 1650w, https://mintcdn.com/chartdbinc/dTUFGeS6j-vov2tm/images/integrations/todoist/02-provider-redirect.png?w=2500\u0026fit=max\u0026auto=format\u0026n=dTUFGeS6j-vov2tm\u0026q=85\u0026s=4e941ea3f380d6736c7276073bd26820 2500w`})})]}),_jsx(Accordion,{title:`3. Connect with your app`,id:`3-connect-with-your-app`,children:_jsxs(_components.p,{children:[`Copy the app’s `,_jsx(_components.strong,{children:`Client ID`}),` and `,_jsx(_components.strong,{children:`Client secret`}),`. Paste both into `,_jsx(_components.strong,{children:`Connections`}),` > `,_jsx(_components.strong,{children:`Todoist`}),` > `,_jsx(_components.strong,{children:`Custom credentials`}),`, select `,_jsx(_components.strong,{children:`Save \u0026 Connect`}),`, and click `,_jsx(_components.strong,{children:`Agree`}),` in Todoist.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`what-agents-can-do`,children:`What agents can do`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`List all active tasks, optionally filtered by project, label, or due date`}),`\n`,_jsx(_components.li,{children:`Create new tasks with a title, description, due date, priority, and labels`}),`\n`,_jsx(_components.li,{children:`Complete (close) tasks`}),`\n`,_jsx(_components.li,{children:`Reopen completed tasks`}),`\n`,_jsx(_components.li,{children:`Update task details (title, description, due date, priority, labels)`}),`\n`,_jsx(_components.li,{children:`Delete tasks`}),`\n`,_jsx(_components.li,{children:`List, create, and manage projects`}),`\n`,_jsx(_components.li,{children:`List, create, and manage sections within projects`}),`\n`,_jsx(_components.li,{children:`Add and remove labels`}),`\n`,_jsx(_components.li,{children:`Read and add comments on tasks`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`controlling-access`,children:`Controlling access`}),`\n`,_jsxs(_components.p,{children:[`Access is per agent: `,_jsx(_components.a,{href:`/guides/agent-access`,children:`grant`}),` the connection to each agent that needs it, choosing per tool what runs freely, what needs human approval, and what stays blocked — a read-only agent is a single grant. Organization `,_jsx(_components.a,{href:`/guides/rules`,children:`rules`}),` add guardrails on top, like rate limits and blanket blocks. Everything is checked before credential injection, so a blocked request never reaches Todoist.`]}),`\n`,_jsx(Heading,{level:`2`,id:`faq`,children:`FAQ`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Does the agent see my Todoist token?`,id:`does-the-agent-see-my-todoist-token`,children:_jsxs(_components.p,{children:[`No. The token stays in OneCLI, and the gateway adds it at the proxy. See `,_jsx(_components.a,{href:`/how-it-works`,children:`How it works`}),`.`]})}),_jsx(Accordion,{title:`Can I stop an agent from deleting tasks?`,id:`can-i-stop-an-agent-from-deleting-tasks`,children:_jsxs(_components.p,{children:[`Yes. Block or require approval for delete tools when you `,_jsx(_components.a,{href:`/guides/agent-access`,children:`grant`}),` the connection.`]})}),_jsx(Accordion,{title:`How do I reconnect Todoist?`,id:`how-do-i-reconnect-todoist`,children:_jsxs(_components.p,{children:[`Open `,_jsx(_components.strong,{children:`Connections`}),` > `,_jsx(_components.strong,{children:`Todoist`}),` and connect again. Agents with access use the new connection automatically.`]})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Let AI Agents Manage Your Todoist Tasks","sidebarTitle":"Todoist","description":"Let agents create, complete, and organize Todoist tasks and projects. Connect with OAuth, and the gateway injects tokens so agents never handle them.","canonical":"https://onecli.sh/docs/integrations/todoist","href":"/integrations/todoist"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[]},{"title":"What you will set up","slug":"what-you-will-set-up","depth":2,"children":[]},{"title":"Setup","slug":"setup","depth":2,"children":[]},{"title":"Self-hosted: use your own Todoist app","slug":"self-hosted-use-your-own-todoist-app","depth":2,"children":[]},{"title":"What agents can do","slug":"what-agents-can-do","depth":2,"children":[]},{"title":"Controlling access","slug":"controlling-access","depth":2,"children":[]},{"title":"FAQ","slug":"faq","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/chartdbinc/e8c5fc0faf4d8de9/infra/cloudfront/docs-response-headers.js"],"subdomain":"chartdbinc","siteName":"OneCLI","title":"Let AI Agents Manage Your Todoist Tasks - OneCLI","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-03T01:51:10.506Z","originalFileLocation":"integrations/todoist.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Let agents create, complete, and organize Todoist tasks and projects. Connect with OAuth, and the gateway injects tokens so agents never handle them.\">\u003cmeta data-mint-head name=\"application-name\" content=\"OneCLI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/chartdbinc/M5-fw7HRdTdsqSgf/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/chartdbinc/M5-fw7HRdTdsqSgf/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/chartdbinc/M5-fw7HRdTdsqSgf/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/chartdbinc/M5-fw7HRdTdsqSgf/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/chartdbinc/M5-fw7HRdTdsqSgf/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/chartdbinc/M5-fw7HRdTdsqSgf/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/chartdbinc/M5-fw7HRdTdsqSgf/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/chartdbinc/M5-fw7HRdTdsqSgf/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/chartdbinc/M5-fw7HRdTdsqSgf/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Let AI Agents Manage Your Todoist Tasks - OneCLI\">\u003cmeta data-mint-head property=\"og:description\" content=\"Let agents create, complete, and organize Todoist tasks and projects. Connect with OAuth, and the gateway injects tokens so agents never handle them.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"OneCLI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://onecli.sh/docs/integrations/todoist\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://chartdbinc.mintlify.site/docs/_mintlify/api/og/v2?division=All+app+connections\u0026amp;title=Let+AI+Agents+Manage+Your+Todoist+Tasks\u0026amp;description=Let+agents+create%2C+complete%2C+and+organize+Todoist+tasks+and+projects.+Connect+with+OAuth%2C+and+the+gateway+injects+tokens+so+agents+never+handle+them.\u0026amp;theme=4d31f9e8e68b774b9a2b22f5\u0026amp;signature=a41dda73f18c32aa9e46aad757d6a29aeef8ef05373284820f06df932b676cf2\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Let AI Agents Manage Your Todoist Tasks - OneCLI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Let agents create, complete, and organize Todoist tasks and projects. Connect with OAuth, and the gateway injects tokens so agents never handle them.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://chartdbinc.mintlify.site/docs/_mintlify/api/og/v2?division=All+app+connections\u0026amp;title=Let+AI+Agents+Manage+Your+Todoist+Tasks\u0026amp;description=Let+agents+create%2C+complete%2C+and+organize+Todoist+tasks+and+projects.+Connect+with+OAuth%2C+and+the+gateway+injects+tokens+so+agents+never+handle+them.\u0026amp;theme=4d31f9e8e68b774b9a2b22f5\u0026amp;signature=a41dda73f18c32aa9e46aad757d6a29aeef8ef05373284820f06df932b676cf2\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/chartdbinc/M5-fw7HRdTdsqSgf/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"OneCLI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#19BA5D\">\u003clink data-mint-head rel=\"canonical\" href=\"https://onecli.sh/docs/integrations/todoist\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/integrations/todoist.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://onecli.sh/#organization\",\"name\":\"OneCLI\",\"url\":\"https://onecli.sh\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/chartdbinc/3IvBQeNyWpN0X2ob/logo/logo-full-light.svg?fit=max\u0026auto=format\u0026n=3IvBQeNyWpN0X2ob\u0026q=85\u0026s=630ee6bb5c7441548135c690b3e18d35\"}},{\"@type\":\"WebSite\",\"@id\":\"https://onecli.sh/docs#website\",\"name\":\"OneCLI\",\"url\":\"https://onecli.sh/docs\",\"publisher\":{\"@id\":\"https://onecli.sh/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://onecli.sh/docs/integrations/todoist#webpage\",\"url\":\"https://onecli.sh/docs/integrations/todoist\",\"name\":\"Let AI Agents Manage Your Todoist Tasks\",\"description\":\"Let agents create, complete, and organize Todoist tasks and projects. Connect with OAuth, and the gateway injects tokens so agents never handle them.\",\"dateModified\":\"2026-11-03T01:51:10.506Z\",\"isPartOf\":{\"@id\":\"https://onecli.sh/docs#website\"},\"breadcrumb\":{\"@id\":\"https://onecli.sh/docs/integrations/todoist#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://onecli.sh/docs/integrations/todoist#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"All app connections\",\"item\":\"https://onecli.sh/docs/integrations/affinity\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Let AI Agents Manage Your Todoist Tasks\",\"item\":\"https://onecli.sh/docs/integrations/todoist\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://onecli.sh/docs/integrations/todoist#article\",\"headline\":\"Let AI Agents Manage Your Todoist Tasks\",\"name\":\"Let AI Agents Manage Your Todoist Tasks\",\"description\":\"Let agents create, complete, and organize Todoist tasks and projects. Connect with OAuth, and the gateway injects tokens so agents never handle them.\",\"url\":\"https://onecli.sh/docs/integrations/todoist\",\"mainEntityOfPage\":{\"@id\":\"https://onecli.sh/docs/integrations/todoist#webpage\"},\"dateModified\":\"2026-11-03T01:51:10.506Z\",\"publisher\":{\"@id\":\"https://onecli.sh/#organization\"},\"isPartOf\":{\"@id\":\"https://onecli.sh/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"OneCLI\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"OneCLI","nav":{"global":{"anchors":[{"anchor":"GitHub","icon":"https://mintlify.s3.us-west-1.amazonaws.com/chartdbinc/images/github.svg","href":"https://github.com/onecli"}]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"Integrations","groups":[{"group":"Integrations","root":{"title":"Integrations: Connect Agents to External Services","sidebarTitle":"Overview","href":"/integrations"},"pages":[{"title":"App Connections: How OAuth \u0026 API Keys Work","sidebarTitle":"App Connections","href":"/integrations/app-connections"},{"title":"Custom Connections: Connect Any API With a Key","sidebarTitle":"Custom connections","href":"/integrations/custom-connections"},{"title":"Chat With AI Agents and Approve Actions in Slack","sidebarTitle":"Slack","href":"/integrations/slack"},{"title":"Keep LLM API Keys Out of Your AI Agents","sidebarTitle":"LLMs","href":"/integrations/llms"},{"title":"External Vaults: Connect Password Managers","sidebarTitle":"External Vaults","href":"/vaults/overview"}]},{"group":"Cloud integrations","pages":[{"title":"Prospect and Enrich Leads in Apollo.io With Agents","sidebarTitle":"Apollo.io","href":"/integrations/apollo-io"},{"title":"Use AWS From AI Agents Without Exposing Keys","sidebarTitle":"AWS","href":"/integrations/aws"},{"title":"Let AI Agents Open PRs and Issues on GitHub","sidebarTitle":"GitHub","href":"/integrations/github"},{"title":"Org-Approved GitHub Repo Access for AI Agents","sidebarTitle":"GitHub App","href":"/integrations/github-app"},{"title":"Let AI Agents Query Datadog Metrics and Monitors","sidebarTitle":"Datadog","href":"/integrations/datadog"},{"title":"Let AI Agents Update HubSpot CRM Records","sidebarTitle":"HubSpot","href":"/integrations/hubspot"},{"title":"Let AI Agents Triage Sentry Errors","sidebarTitle":"Sentry","href":"/integrations/sentry"},{"title":"Let AI Agents Read and Write OneNote Notebooks","sidebarTitle":"Microsoft OneNote","href":"/integrations/microsoft-onenote"},{"title":"Connect AI Agents to Outlook Mail in Microsoft 365","sidebarTitle":"Outlook Mail","href":"/integrations/outlook-mail"},{"title":"Let AI Agents Book Meetings in Outlook Calendar","sidebarTitle":"Outlook Calendar","href":"/integrations/outlook-calendar"}]},{"group":"All app connections","pages":[{"title":"Connect AI Agents to Affinity CRM With an API Key","sidebarTitle":"Affinity","href":"/integrations/affinity"},{"title":"Let AI Agents Manage Attio CRM Records","sidebarTitle":"Attio","href":"/integrations/attio"},{"title":"Run Clay Enrichment From AI Agents","sidebarTitle":"Clay","href":"/integrations/clay"},{"title":"Query PostHog Analytics and Flags From Agents","sidebarTitle":"PostHog","href":"/integrations/posthog"},{"title":"Connect AI Agents to Salesforce With an External App","sidebarTitle":"Salesforce","href":"/integrations/salesforce"},{"title":"Turn Timeless Meetings Into Agent Follow-Ups","sidebarTitle":"Timeless","href":"/integrations/timeless"},{"title":"Let Agents Search Circleback Meeting Notes","sidebarTitle":"Circleback","href":"/integrations/circleback"},{"title":"Run HeyReach LinkedIn Campaigns From AI Agents","sidebarTitle":"HeyReach","href":"/integrations/heyreach"},{"title":"Automate Dripify LinkedIn Outreach With Agents","sidebarTitle":"Dripify","href":"/integrations/dripify"},{"title":"Let On-Call Agents Triage PagerDuty Incidents","sidebarTitle":"PagerDuty","href":"/integrations/pagerduty"},{"title":"Query Coralogix Logs and Metrics From Agents","sidebarTitle":"Coralogix","href":"/integrations/coralogix"},{"title":"Search Company Knowledge in Onyx From Agents","sidebarTitle":"Onyx","href":"/integrations/onyx"},{"title":"Scoped Cloudflare API Tokens for AI Agents","sidebarTitle":"Cloudflare","href":"/integrations/cloudflare"},{"title":"Set Up One Google OAuth Client for All Google Apps","sidebarTitle":"Google (setup)","href":"/integrations/google"},{"title":"Let AI Agents Search, Draft, and Send Gmail","sidebarTitle":"Gmail","href":"/integrations/gmail"},{"title":"Let AI Agents Schedule Meetings in Google Calendar","sidebarTitle":"Google Calendar","href":"/integrations/google-calendar"},{"title":"Give AI Agents Access to Google Drive Files","sidebarTitle":"Google Drive","href":"/integrations/google-drive"},{"title":"Let AI Agents Draft and Edit Google Docs","sidebarTitle":"Google Docs","href":"/integrations/google-docs"},{"title":"Let AI Agents Read and Update Google Sheets","sidebarTitle":"Google Sheets","href":"/integrations/google-sheets"},{"title":"Generate Google Slides Decks With AI Agents","sidebarTitle":"Google Slides","href":"/integrations/google-slides"},{"title":"Build Google Forms and Read Responses With Agents","sidebarTitle":"Google Forms","href":"/integrations/google-forms"},{"title":"Create Google Meet Links From AI Agents","sidebarTitle":"Google Meet","href":"/integrations/google-meet"},{"title":"Search and Organize Google Photos With AI Agents","sidebarTitle":"Google Photos","href":"/integrations/google-photos"},{"title":"Track To-Dos in Google Tasks From AI Agents","sidebarTitle":"Google Tasks","href":"/integrations/google-tasks"},{"title":"Automate Google Workspace User Admin With Agents","sidebarTitle":"Google Admin","href":"/integrations/google-admin"},{"title":"Pull GA4 Reports Into AI Agents","sidebarTitle":"Google Analytics","href":"/integrations/google-analytics"},{"title":"Let AI Agents Check Indexing in Search Console","sidebarTitle":"Google Search Console","href":"/integrations/google-search-console"},{"title":"Automate Google Classroom Coursework With Agents","sidebarTitle":"Google Classroom","href":"/integrations/google-classroom"},{"title":"Manage YouTube Playlists and Analytics With Agents","sidebarTitle":"YouTube","href":"/integrations/youtube"},{"title":"Let AI Agents Search and Update Notion Pages","sidebarTitle":"Notion","href":"/integrations/notion"},{"title":"Let AI Agents Create and Triage Jira Issues","sidebarTitle":"Jira","href":"/integrations/jira"},{"title":"Give AI Agents Search and Edit Access to Confluence","sidebarTitle":"Confluence","description":"Let agents search Confluence with CQL, read pages, and publish updates. Connect in one click with OAuth, and the gateway keeps the token hidden.","href":"/integrations/confluence"},{"title":"Let AI Agents Manage Your Todoist Tasks","sidebarTitle":"Todoist","href":"/integrations/todoist"},{"title":"Give AI Agents Safe Access to Your Dropbox Files","sidebarTitle":"Dropbox","description":"Let agents browse, download, upload, and share Dropbox files. Connect with OAuth, choose read or write scopes, and keep tokens out of the agent.","href":"/integrations/dropbox"},{"title":"Deploy to Fly.io From an Agent Without Exposing Tokens","sidebarTitle":"Fly.io","href":"/integrations/flyio"},{"title":"Let AI Agents Post to LinkedIn on Your Behalf","sidebarTitle":"LinkedIn","href":"/integrations/linkedin"},{"title":"Connect AI Agents to Monday.com Boards","sidebarTitle":"Monday.com","href":"/integrations/monday"},{"title":"Administer MongoDB Atlas Clusters With Agents","sidebarTitle":"MongoDB Atlas","href":"/integrations/mongodb-atlas"},{"title":"Sync Navan Bookings and Expenses With AI Agents","sidebarTitle":"Navan","href":"/integrations/navan"},{"title":"Let AI Agents Send Email With Resend","sidebarTitle":"Resend","href":"/integrations/resend"},{"title":"Send SMS and WhatsApp From AI Agents With Twilio","sidebarTitle":"Twilio","href":"/integrations/twilio"},{"title":"Zendesk Integration: Tickets and Help Center","sidebarTitle":"Zendesk","href":"/integrations/zendesk"},{"title":"Manage Supabase Projects With AI Agents","sidebarTitle":"Supabase","href":"/integrations/supabase"},{"title":"Call Claude and Gemini on Vertex AI From Agents","sidebarTitle":"Vertex AI","href":"/integrations/vertex-ai"},{"title":"Let AI Agents Edit Webflow CMS and Publish Sites","sidebarTitle":"Webflow","href":"/integrations/webflow"},{"title":"Let AI Agents Schedule Zoom Meetings and Get Recordings","sidebarTitle":"Zoom","href":"/integrations/zoom"},{"title":"Give Agents AWS Access With an IAM Role, Not Keys","sidebarTitle":"AWS Role","href":"/integrations/aws-role"},{"title":"Bitbucket Repos, Pull Requests, and Pipelines","sidebarTitle":"Bitbucket","href":"/integrations/bitbucket"},{"title":"Manage Docker Hub Repositories From AI Agents","sidebarTitle":"Docker Hub","href":"/integrations/docker"},{"title":"Read Fathom Meeting Summaries From AI Agents","sidebarTitle":"Fathom","href":"/integrations/fathom"},{"title":"Give AI Agents Access to Fireflies Transcripts","sidebarTitle":"Fireflies","href":"/integrations/fireflies"},{"title":"Let AI Agents Work With GitLab Merge Requests","sidebarTitle":"GitLab","href":"/integrations/gitlab"},{"title":"Send Google Chat Messages From AI Agents","sidebarTitle":"Google Chat","href":"/integrations/google-chat"},{"title":"Let AI Agents Look Up and Update Google Contacts","sidebarTitle":"Google Contacts","href":"/integrations/google-contacts"},{"title":"Let AI Agents Read Your Granola Meeting Notes","sidebarTitle":"Granola","href":"/integrations/granola"},{"title":"Route Agent Package Installs Through JFrog","sidebarTitle":"JFrog Artifactory","href":"/integrations/jfrog-artifactory"},{"title":"Let AI Agents File and Update Linear Issues","sidebarTitle":"Linear","href":"/integrations/linear"},{"title":"Run Snowflake SQL From an Agent, Token Hidden","sidebarTitle":"Snowflake","href":"/integrations/snowflake"},{"title":"Use a Restricted Stripe Key With AI Agents","sidebarTitle":"Stripe","href":"/integrations/stripe"},{"title":"Let AI Agents Manage Trello Boards and Cards","sidebarTitle":"Trello","href":"/integrations/trello"},{"title":"Let AI Agents Deploy and Manage Vercel Projects","sidebarTitle":"Vercel","href":"/integrations/vercel"},{"title":"Let AI Agents Post and Read on X (Twitter)","sidebarTitle":"X","href":"/integrations/x"},{"title":"Let AI Agents Work Zoho CRM Leads and Deals","sidebarTitle":"Zoho CRM","href":"/integrations/zoho-crm"},{"title":"Let AI Agents Draft Word Docs in OneDrive","sidebarTitle":"Microsoft Word","href":"/integrations/microsoft-word"}]},{"group":"LLMs","pages":[{"title":"Connect Claude to Agents With a Token or API Key","sidebarTitle":"Anthropic","href":"/integrations/anthropic"},{"title":"Use OpenAI API Keys and Codex OAuth With AI Agents","sidebarTitle":"OpenAI","href":"/integrations/openai"}]},{"group":"External Vaults","pages":[{"title":"Bitwarden Vault: Sync Secrets to the Gateway","sidebarTitle":"Bitwarden","href":"/vaults/bitwarden"},{"title":"1Password Vault: Service Account Integration","sidebarTitle":"1Password","href":"/vaults/1password"}]}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/guides"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference"}]},{"tab":"SDKs","pages":[{"title":"SDKs","href":"/sdks"}]}]},"basePath":"","title":"Let AI Agents Manage Your Todoist Tasks - OneCLI","buildId":"dpl_BSPUBxEoKhhK7HzXVDPxdPvWx4xc","deploymentId":"dpl_BSPUBxEoKhhK7HzXVDPxdPvWx4xc","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-DRxXE_WT.js","DynamicMarkdown-AlxJK8VR.js","zoom-image-lightbox-B_-GSaTf.js","lightbox-handle-r17bVUz3.js"]}