# Taskade Developer Docs > Build on Taskade with APIs, MCP, webhooks, public agent embeds, portable bundles, and the TypeScript SDK. Each article link below points to the Markdown copy of the page. Remove `.md` from a link to get the HTML page. The first link in each section goes to the HTML overview of that category, which has no Markdown copy. The index is at https://www.taskade.com/docs. REST API pages describe version 1 (resource-shaped paths). Action API pages describe version 2 (one `POST` per named action). ## Getting Started - [Getting Started overview](https://www.taskade.com/docs/getting-started): Authenticate once, then pick the surface that matches your integration. - [Developer Platform](https://www.taskade.com/docs/getting-started/developer-platform.md): Build on Taskade with REST API v1, Action API v2, OAuth 2.0, signed webhooks, agent embeds, and three MCP connection paths. - [Developer Overview](https://www.taskade.com/docs/getting-started/overview.md): Build on Taskade with the REST API, OAuth 2.0 and personal tokens, MCP server, webhooks, and Taskade Genesis app generation, agents, and automation. - [Quickstart: Make Your First Taskade API Call](https://www.taskade.com/docs/getting-started/quickstart.md): Make your first Taskade API call in 5 minutes: create a personal access token, list your workspaces, create a project, and add a task with the REST API. - [Taskade API Authentication](https://www.taskade.com/docs/getting-started/authentication.md): Authenticate to the Taskade REST API, Action API, and hosted MCP with a personal access token or OAuth 2.0 with PKCE, then refresh tokens and fix auth errors. - [Taskade Personal Access Tokens](https://www.taskade.com/docs/getting-started/personal-tokens.md): Create a Taskade personal access token, send it as a Bearer token, and replace it when it leaks or after a password reset. - [Taskade API Overview](https://www.taskade.com/docs/getting-started/api-overview.md): The Taskade API documentation starts here: make your first call in 30 seconds, see every Taskade API surface, and pick REST, Action API, MCP, or webhooks. - [REST API Guide](https://www.taskade.com/docs/getting-started/rest-api-guide.md): Taskade REST API v1 reference - authenticate, then manage workspaces, projects, tasks, agents, folders, and media with full task CRUD and copy-paste code examples. - [Action API Guide](https://www.taskade.com/docs/getting-started/action-api-guide.md): Reference for the Public API v2 - an action-based (RPC-over-HTTP) API. Most operations are a POST to a named endpoint. ## REST API - [REST API overview](https://www.taskade.com/docs/rest): Version 1 is the REST surface: resource-shaped paths and standard HTTP verbs. It is generally available and is the surface with the deepest task and project coverage. - [Me projects get](https://www.taskade.com/docs/rest/me-projects-get.md): `GET /me/projects`. Get all projects of mine - [Agent convo get](https://www.taskade.com/docs/rest/agent-convo-get.md): `GET /agents/{agentId}/convos/{convoId}`. Get agent conversation by id - [Agent convos get](https://www.taskade.com/docs/rest/agent-convos-get.md): `GET /agents/{agentId}/convos/`. Get agent conversations - [Agent get](https://www.taskade.com/docs/rest/agent-get.md): `GET /agents/{agentId}`. Get agent with id - [Agent knowledge media create](https://www.taskade.com/docs/rest/agent-knowledge-media-create.md): `POST /agents/{agentId}/knowledge/media`. Create a knowledge media - [Agent knowledge media remove](https://www.taskade.com/docs/rest/agent-knowledge-media-remove.md): `DELETE /agents/{agentId}/knowledge/media/{mediaId}`. Remove a knowledge media - [Agent knowledge project create](https://www.taskade.com/docs/rest/agent-knowledge-project-create.md): `POST /agents/{agentId}/knowledge/project`. Create a knowledge project - [Agent knowledge project remove](https://www.taskade.com/docs/rest/agent-knowledge-project-remove.md): `DELETE /agents/{agentId}/knowledge/project/{projectId}`. Remove a knowledge project - [Agent public access enable](https://www.taskade.com/docs/rest/agent-public-access-enable.md): `PUT /agents/{agentId}/publicAccess`. Enable public access in the agent - [Agent public get](https://www.taskade.com/docs/rest/agent-public-get.md): `GET /agents/{agentId}/public-agent`. Get public agent - [Agent public update](https://www.taskade.com/docs/rest/agent-public-update.md): `PATCH /agents/{agentId}/public-agent`. Update public agent - [Agent update](https://www.taskade.com/docs/rest/agent-update.md): `PATCH /agents/{agentId}`. Update agent - [Delete agent](https://www.taskade.com/docs/rest/delete-agent.md): `DELETE /agents/{agentId}`. Delete an agent - [Public agent get](https://www.taskade.com/docs/rest/public-agent-get.md): `GET /public-agents/{publicAgentId}`. Get public agent by public agent ID - [Bundle export](https://www.taskade.com/docs/rest/bundle-export.md): `GET /bundles/{spaceId}/export`. Export a space (subspace / app) as a JSON bundle (SpaceBundleData v1). Returns all agents, automations, projects, templates, and apps. Media items are excluded — use the ZIP export or download media… - [Bundle export zip](https://www.taskade.com/docs/rest/bundle-export-zip.md): `GET /bundles/{spaceId}/export/zip`. Export a space (subspace / app) as a ZIP bundle containing all agents, automations, projects, templates, apps, and media files. The ZIP includes a manifest.json, individual item files in type… - [Bundle import](https://www.taskade.com/docs/rest/bundle-import.md): `POST /bundles/{workspaceId}/import`. Import a JSON bundle (agents, automations, projects, templates, apps) into a workspace. The bundle is validated against the SpaceBundleData v1 schema and all items are installed into the target… - [Bundle import zip](https://www.taskade.com/docs/rest/bundle-import-zip.md): `POST /bundles/{workspaceId}/import/zip`. Import a ZIP/.tsk bundle (exported from the export/zip endpoint) into a workspace. All items are installed into the target workspace. The ZIP must contain valid bundle data (either bundle.json or… - [Media delete](https://www.taskade.com/docs/rest/media-delete.md): `DELETE /medias/{mediaId}`. Delete a media - [Media download](https://www.taskade.com/docs/rest/media-download.md): `GET /medias/{mediaId}/download`. Download the binary content of a media file. Returns the file with the original Content-Type and Content-Disposition headers. - [Media download all](https://www.taskade.com/docs/rest/media-download-all.md): `GET /medias/spaces/{spaceId}/download`. Download all media files from a space as a ZIP archive. Each file is stored as {mediaId}/metadata.json (id, kind, name, mimetype, size) and {mediaId}/original (binary content). - [Media get](https://www.taskade.com/docs/rest/media-get.md): `GET /medias/{mediaId}`. Get media with id - [Media upload](https://www.taskade.com/docs/rest/media-upload.md): `POST /medias/spaces/{spaceId}/upload`. Upload a media file to a space (root workspace or subspace / app). Send the file as the raw request body with the appropriate Content-Type header (e.g. image/png, application/pdf,… - [Project blocks get](https://www.taskade.com/docs/rest/project-blocks-get.md): `GET /projects/{projectId}/blocks`. Get all blocks for a project - [Project complete](https://www.taskade.com/docs/rest/project-complete.md): `POST /projects/{projectId}/complete`. Mark the project as completed - [Project copy](https://www.taskade.com/docs/rest/project-copy.md): `POST /projects/{projectId}/copy`. Copy a project to a folder - [Project create](https://www.taskade.com/docs/rest/project-create.md): `POST /projects`. Create a project in a team - [Project fields get](https://www.taskade.com/docs/rest/project-fields-get.md): `GET /projects/{projectId}/fields`. Get all fields for a project - [Project from template](https://www.taskade.com/docs/rest/project-from-template.md): `POST /projects/from-template`. Create a project from a custom template - [Project get](https://www.taskade.com/docs/rest/project-get.md): `GET /projects/{projectId}`. Get project - [Project members get](https://www.taskade.com/docs/rest/project-members-get.md): `GET /projects/{projectId}/members`. Get members of a project - [Project restore](https://www.taskade.com/docs/rest/project-restore.md): `POST /projects/{projectId}/restore`. Restore project - [Project share link enable](https://www.taskade.com/docs/rest/project-share-link-enable.md): `PUT /projects/{projectId}/shareLink`. Enable share link in the project - [Project share link get](https://www.taskade.com/docs/rest/project-share-link-get.md): `GET /projects/{projectId}/shareLink`. Get share link for the project - [Project tasks get](https://www.taskade.com/docs/rest/project-tasks-get.md): `GET /projects/{projectId}/tasks`. Get all tasks for a project - [Task assignees get](https://www.taskade.com/docs/rest/task-assignees-get.md): `GET /projects/{projectId}/tasks/{taskId}/assignees`. Get the assignees of a task - [Task complete](https://www.taskade.com/docs/rest/task-complete.md): `POST /projects/{projectId}/tasks/{taskId}/complete`. Complete a task in a project - [Task create](https://www.taskade.com/docs/rest/task-create.md): `POST /projects/{projectId}/tasks/`. Create one or more tasks in a project - [Task delete](https://www.taskade.com/docs/rest/task-delete.md): `DELETE /projects/{projectId}/tasks/{taskId}`. Delete a task in a project - [Task delete assignees](https://www.taskade.com/docs/rest/task-delete-assignees.md): `DELETE /projects/{projectId}/tasks/{taskId}/assignees/{assigneeHandle}`. Remove assignee from a task - [Task delete date](https://www.taskade.com/docs/rest/task-delete-date.md): `DELETE /projects/{projectId}/tasks/{taskId}/date`. Delete date of a task - [Task field value delete](https://www.taskade.com/docs/rest/task-field-value-delete.md): `DELETE /projects/{projectId}/tasks/{taskId}/fields/{fieldId}`. Delete the field value of a task - [Task field value get](https://www.taskade.com/docs/rest/task-field-value-get.md): `GET /projects/{projectId}/tasks/{taskId}/fields/{fieldId}`. Get the field value of a task - [Task field value put](https://www.taskade.com/docs/rest/task-field-value-put.md): `PUT /projects/{projectId}/tasks/{taskId}/fields/{fieldId}`. Update/create the field value of a task - [Task fields value get](https://www.taskade.com/docs/rest/task-fields-value-get.md): `GET /projects/{projectId}/tasks/{taskId}/fields`. Get all field values for a task - [Task get](https://www.taskade.com/docs/rest/task-get.md): `GET /projects/{projectId}/tasks/{taskId}`. Get task with id - [Task get date](https://www.taskade.com/docs/rest/task-get-date.md): `GET /projects/{projectId}/tasks/{taskId}/date`. Get the date of a task - [Task move](https://www.taskade.com/docs/rest/task-move.md): `PUT /projects/{projectId}/tasks/{taskId}/move`. Move a task within the project - [Task note delete](https://www.taskade.com/docs/rest/task-note-delete.md): `DELETE /projects/{projectId}/tasks/{taskId}/note`. Delete the note of a task - [Task note get](https://www.taskade.com/docs/rest/task-note-get.md): `GET /projects/{projectId}/tasks/{taskId}/note`. Get the note of a task - [Task note put](https://www.taskade.com/docs/rest/task-note-put.md): `PUT /projects/{projectId}/tasks/{taskId}/note`. Add/update a note to the task - [Task put](https://www.taskade.com/docs/rest/task-put.md): `PUT /projects/{projectId}/tasks/{taskId}`. Update task. - [Task put assignees](https://www.taskade.com/docs/rest/task-put-assignees.md): `PUT /projects/{projectId}/tasks/{taskId}/assignees`. Task assignment - [Task put date](https://www.taskade.com/docs/rest/task-put-date.md): `PUT /projects/{projectId}/tasks/{taskId}/date`. Create or update date for a task - [Task uncomplete](https://www.taskade.com/docs/rest/task-uncomplete.md): `POST /projects/{projectId}/tasks/{taskId}/uncomplete`. Mark a task as incomplete in a project - [Folder agent generate](https://www.taskade.com/docs/rest/folder-agent-generate.md): `POST /folders/{folderId}/agent-generate`. Generate agent based on input text prompts - [Folder agent get](https://www.taskade.com/docs/rest/folder-agent-get.md): `GET /folders/{folderId}/agents`. Get agents in a folder. - [Folder create agent](https://www.taskade.com/docs/rest/folder-create-agent.md): `POST /folders/{folderId}/agents`. Create an agent in a team or workspace. - [Folder project templates get](https://www.taskade.com/docs/rest/folder-project-templates-get.md): `GET /folders/{folderId}/project-templates`. Get projects templates in a folder. - [Folder projects get](https://www.taskade.com/docs/rest/folder-projects-get.md): `GET /folders/{folderId}/projects`. Get all projects in a team, or in the home team of a workspace. - [Medias get](https://www.taskade.com/docs/rest/medias-get.md): `GET /folders/{folderId}/medias`. Get medias in a folder - [Workspace create project](https://www.taskade.com/docs/rest/workspace-create-project.md): `POST /workspaces/{workspaceId}/projects`. Create a project in a workspace - [Workspace folders get](https://www.taskade.com/docs/rest/workspace-folders-get.md): `GET /workspaces/{workspaceId}/folders`. Get all folders for a workspace - [Workspaces get](https://www.taskade.com/docs/rest/workspaces-get.md): `GET /workspaces`. Get all workspaces for a user ## Action API - [Action API overview](https://www.taskade.com/docs/actions): Version 2 is action-shaped: almost every operation is a `POST` to a named verb such as `/createTask`, returning an `ok`-discriminated envelope. That shape maps cleanly onto AI tool-calling, which is w - [List my projects](https://www.taskade.com/docs/actions/list-my-projects.md): `POST /listMyProjects`. List my recently viewed projects - [Add knowledge media](https://www.taskade.com/docs/actions/add-knowledge-media.md): `POST /addKnowledgeMedia`. Add media as knowledge source to an agent - [Add knowledge project](https://www.taskade.com/docs/actions/add-knowledge-project.md): `POST /addKnowledgeProject`. Add a project as knowledge source to an agent - [Create agent](https://www.taskade.com/docs/actions/create-agent.md): `POST /createAgent`. Create an agent in a team or workspace - [Delete agent](https://www.taskade.com/docs/actions/delete-agent.md): `POST /deleteAgent`. Delete an agent - [Enable public agent access](https://www.taskade.com/docs/actions/enable-public-agent-access.md): `POST /enablePublicAgentAccess`. Enable public access for an agent - [Generate agent](https://www.taskade.com/docs/actions/generate-agent.md): `POST /generateAgent`. Generate agent based on input text prompts - [Get agent](https://www.taskade.com/docs/actions/get-agent.md): `POST /getAgent`. Get agent by ID - [Get conversation](https://www.taskade.com/docs/actions/get-conversation.md): `POST /getConversation`. Get agent conversation by ID - [Get public agent](https://www.taskade.com/docs/actions/get-public-agent.md): `POST /getPublicAgent`. Get public agent - [List agents](https://www.taskade.com/docs/actions/list-agents.md): `POST /listAgents`. List agents - [List conversations](https://www.taskade.com/docs/actions/list-conversations.md): `POST /listConversations`. List agent conversations - [Prompt agent](https://www.taskade.com/docs/actions/prompt-agent.md): `POST /promptAgent`. Prompt an agent - [Remove knowledge media](https://www.taskade.com/docs/actions/remove-knowledge-media.md): `POST /removeKnowledgeMedia`. Remove media from agent knowledge sources - [Remove knowledge project](https://www.taskade.com/docs/actions/remove-knowledge-project.md): `POST /removeKnowledgeProject`. Remove a project from agent knowledge sources - [Update agent](https://www.taskade.com/docs/actions/update-agent.md): `POST /updateAgent`. Update an agent - [Update public agent](https://www.taskade.com/docs/actions/update-public-agent.md): `POST /updatePublicAgent`. Update public agent - [Export bundle](https://www.taskade.com/docs/actions/export-bundle.md): `POST /exportBundle`. Export a space as a JSON bundle - [Import bundle](https://www.taskade.com/docs/actions/import-bundle.md): `POST /importBundle`. Import a JSON bundle into a workspace - [Import bundle zip](https://www.taskade.com/docs/actions/import-bundle-zip.md): `POST /importBundleZip`. Import a ZIP/.tsk bundle into a workspace. Send the file as the raw request body with Content-Type: application/zip, application/octet-stream, or application/x-tsk. Pass workspaceId as a query parameter. Maximum… - [Zip](https://www.taskade.com/docs/actions/bundles-export-zip.md): `GET /bundles/{spaceId}/export/zip`. Export a space as a ZIP bundle. Returns raw binary with appropriate headers. - [Content](https://www.taskade.com/docs/actions/media-content.md): `GET /media/{mediaId}/content`. Download a media file by ID. Returns raw binary with appropriate headers. - [Content](https://www.taskade.com/docs/actions/media-spaces-content.md): `GET /media/spaces/{spaceId}/content`. Download all media files from a space as a ZIP archive. Each file is stored as {mediaId}/metadata.json and {mediaId}/original. Maximum 100 files per space. - [Delete media](https://www.taskade.com/docs/actions/delete-media.md): `POST /deleteMedia`. Delete a media by ID - [Get media](https://www.taskade.com/docs/actions/get-media.md): `POST /getMedia`. Get media by ID - [List media](https://www.taskade.com/docs/actions/list-media.md): `POST /listMedia`. List media in a folder - [Upload media](https://www.taskade.com/docs/actions/upload-media.md): `POST /uploadMedia`. Upload a media file to a space. Send the file as the raw request body with the appropriate Content-Type header. Pass spaceId and filename as query parameters. Maximum file size: 25 MB. - [Archive project](https://www.taskade.com/docs/actions/archive-project.md): `POST /archiveProject`. Archive a project (soft delete, undone by restoreProject) - [Complete project](https://www.taskade.com/docs/actions/complete-project.md): `POST /completeProject`. Mark a project as completed (archived) - [Copy project](https://www.taskade.com/docs/actions/copy-project.md): `POST /copyProject`. Copy a project to a workspace - [Create project](https://www.taskade.com/docs/actions/create-project.md): `POST /createProject`. Create a project in a workspace - [Create project from template](https://www.taskade.com/docs/actions/create-project-from-template.md): `POST /createProjectFromTemplate`. Create a project from a custom template - [Enable share link](https://www.taskade.com/docs/actions/enable-share-link.md): `POST /enableShareLink`. Enable share link for a project - [Export project](https://www.taskade.com/docs/actions/export-project.md): `POST /exportProject`. Export a project as Markdown - [Get project](https://www.taskade.com/docs/actions/get-project.md): `POST /getProject`. Get a project by ID - [Get share link](https://www.taskade.com/docs/actions/get-share-link.md): `POST /getShareLink`. Get share link for a project - [List blocks](https://www.taskade.com/docs/actions/list-blocks.md): `POST /listBlocks`. List top-level blocks in a project - [List fields](https://www.taskade.com/docs/actions/list-fields.md): `POST /listFields`. Get all custom fields for a project - [List project members](https://www.taskade.com/docs/actions/list-project-members.md): `POST /listProjectMembers`. Get members of a project - [List projects](https://www.taskade.com/docs/actions/list-projects.md): `POST /listProjects`. List projects in a workspace - [List tasks](https://www.taskade.com/docs/actions/list-tasks.md): `POST /listTasks`. List tasks in a project - [Rename project](https://www.taskade.com/docs/actions/rename-project.md): `POST /renameProject`. Rename a project - [Restore project](https://www.taskade.com/docs/actions/restore-project.md): `POST /restoreProject`. Restore a completed (archived) project - [Assign task](https://www.taskade.com/docs/actions/assign-task.md): `POST /assignTask`. Additive: handles already assigned are left as-is and nobody is unassigned. Every handle must belong to a project or workspace member. - [Complete task](https://www.taskade.com/docs/actions/complete-task.md): `POST /completeTask`. A task with a recurrence rolls its due date forward instead of being checked off; `item.recurred` reports which happened. - [Create task](https://www.taskade.com/docs/actions/create-task.md): `POST /createTask`. Create one or more tasks in a project - [Delete task](https://www.taskade.com/docs/actions/delete-task.md): `POST /deleteTask`. Delete a task and its subtree - [Delete task date](https://www.taskade.com/docs/actions/delete-task-date.md): `POST /deleteTaskDate`. Remove a task's date - [Delete task field value](https://www.taskade.com/docs/actions/delete-task-field-value.md): `POST /deleteTaskFieldValue`. Clear a custom field's value on a task - [Delete task note](https://www.taskade.com/docs/actions/delete-task-note.md): `POST /deleteTaskNote`. Clear a task's note - [Move task](https://www.taskade.com/docs/actions/move-task.md): `POST /moveTask`. Move a task within its project - [Set task date](https://www.taskade.com/docs/actions/set-task-date.md): `POST /setTaskDate`. An omitted timezone defaults to the calling user's timezone. - [Set task field value](https://www.taskade.com/docs/actions/set-task-field-value.md): `POST /setTaskFieldValue`. Select fields take the option ID (not its label) - read them from `listFields`. - [Set task note](https://www.taskade.com/docs/actions/set-task-note.md): `POST /setTaskNote`. Create or replace a task's note - [Unassign task](https://www.taskade.com/docs/actions/unassign-task.md): `POST /unassignTask`. Remove one assignee from a task - [Uncomplete task](https://www.taskade.com/docs/actions/uncomplete-task.md): `POST /uncompleteTask`. Mark a task as incomplete - [Update task](https://www.taskade.com/docs/actions/update-task.md): `POST /updateTask`. Replace a task's text - [Subscribe webhook](https://www.taskade.com/docs/actions/subscribe-webhook.md): `POST /subscribeWebhook`. [Deprecated: use POST /webhooks] Subscribe to a webhook for a Taskade event (unsigned) - [Unsubscribe webhook](https://www.taskade.com/docs/actions/unsubscribe-webhook.md): `POST /unsubscribeWebhook`. [Deprecated: use DELETE /webhooks/:id] Remove a previously-created webhook subscription - [Webhooks](https://www.taskade.com/docs/actions/webhooks-post.md): `POST /webhooks`. Register a signed outbound webhook for one or more Taskade events - [Webhooks](https://www.taskade.com/docs/actions/webhooks-get.md): `GET /webhooks`. List your registered outbound webhooks - [Webhooks](https://www.taskade.com/docs/actions/webhooks-get-2.md): `GET /webhooks/{id}`. Get one registered outbound webhook by id (its URL-encoded target URL) - [Webhooks](https://www.taskade.com/docs/actions/webhooks-delete.md): `DELETE /webhooks/{id}`. Delete a registered outbound webhook by id (its URL-encoded target URL) - [List folders](https://www.taskade.com/docs/actions/list-folders.md): `POST /listFolders`. List folders in a workspace - [List spaces](https://www.taskade.com/docs/actions/list-spaces.md): `POST /listSpaces`. List spaces - [List templates](https://www.taskade.com/docs/actions/list-templates.md): `POST /listTemplates`. List project templates in a folder ## MCP - [MCP overview](https://www.taskade.com/docs/mcp): Connect AI clients to Taskade, or call external MCP tools from a Taskade automation. - [Which Taskade MCP Do I Want?](https://www.taskade.com/docs/mcp/which-mcp.md): Pick the right Taskade MCP path by what you want to do: the hosted server, the local Workspace MCP server, or the MCP Client connector in an automation. - [Workspace MCP](https://www.taskade.com/docs/mcp/workspace-mcp.md): Run the local Taskade MCP server and connect Claude Desktop, Claude Code, Cursor, VS Code, or Windsurf to your workspace projects, tasks, agents, and media. - [Workspace MCP: Advanced](https://www.taskade.com/docs/mcp/workspace-mcp-advanced.md): Rate limits, multi-client setup, troubleshooting, and security guidance for Workspace MCP. - [Hosted Taskade MCP](https://www.taskade.com/docs/mcp/hosted-mcp.md): Connect Claude, Claude Code, Codex, Cursor, VS Code, ChatGPT, Windsurf, or any MCP client to the hosted Taskade MCP server at taskade.com/mcp. - [Run Your Live App by Talking to Claude](https://www.taskade.com/docs/mcp/run-your-app-with-ai.md): Once your Taskade Genesis app is live, run its day-to-day operations by talking to Claude - read, update, and flag what needs attention. ## Guides - [Guides overview](https://www.taskade.com/docs/guides): Webhooks, agent embeds, bundles, long-term memory, autonomous agents, and the TypeScript SDK. - [Taskade Webhooks](https://www.taskade.com/docs/guides/webhooks.md): Trigger Taskade automations with inbound webhooks, verify Stripe and HMAC signatures, and verify signed Taskade webhook deliveries. - [Bundles & App Kits](https://www.taskade.com/docs/guides/bundles.md): Export and import complete Taskade Genesis apps and workspaces as portable bundles. - [TypeScript SDK](https://www.taskade.com/docs/guides/typescript-sdk.md): The TypeScript SDK for Taskade is in preview. This page shows how to call the API today, with no SDK. - [SDK Cookbook](https://www.taskade.com/docs/guides/sdk-cookbook.md): Integration patterns for Taskade: agents, automations, projects, bundles, webhooks, and pagination. - [Embed a Public AI Agent](https://www.taskade.com/docs/guides/agent-embeds.md): Add a public Taskade AI agent to a website with an iframe or configurable chat widget. - [Long-Term Memory](https://www.taskade.com/docs/guides/long-term-memory.md): Taskade's Long-Term Memory architecture - memory that lives as real Projects you can browse, edit, and query via the API. - [Autonomous Agents](https://www.taskade.com/docs/guides/autonomous-agents.md): Build agents that run without per-request prompting: automations, Agent Teams, and cross-agent invocation. ## Models - [Models overview](https://www.taskade.com/docs/models): How Taskade picks a model for each request with TSK-Auto, the TSK rungs, and Custom Engine. - [Custom Engine](https://www.taskade.com/docs/models/custom-engine.md): Pin one exact model for an agent or a chat, and see what happens when a model retires. - [Claude in Taskade](https://www.taskade.com/docs/models/claude.md): Run Claude models in Taskade on your own Anthropic key, on an agent or as an automation step, and pick the right Claude model for the job. - [GPT in Taskade](https://www.taskade.com/docs/models/gpt.md): Which GPT models you can use in Taskade, what each one is good at, and how to pick between them. - [Gemini in Taskade](https://www.taskade.com/docs/models/gemini.md): Run Gemini in Taskade on your own Google key, on an agent with a Google Vertex AI key or as a Google Gemini automation step. - [Kimi in Taskade](https://www.taskade.com/docs/models/kimi.md): Which Kimi models you can use in Taskade, what each one is good at, and how to pick between them. - [DeepSeek in Taskade](https://www.taskade.com/docs/models/deepseek.md): Which DeepSeek models you can use in Taskade, what each one is good at, and how to pick between them. - [Grok in Taskade](https://www.taskade.com/docs/models/grok.md): Which Grok models you can use in Taskade, what each one is good at, and how to pick between them. - [Qwen in Taskade](https://www.taskade.com/docs/models/qwen.md): Which Qwen models you can use in Taskade, what each one is good at, and how to pick between them. - [GLM in Taskade](https://www.taskade.com/docs/models/glm.md): Which GLM models you can use in Taskade, what each one is good at, and how to pick between them. - [MiniMax in Taskade](https://www.taskade.com/docs/models/minimax.md): Which MiniMax models you can use in Taskade, what each one is good at, and how to pick between them. - [Nemotron in Taskade](https://www.taskade.com/docs/models/nemotron.md): Nemotron in Taskade: Nemotron 3 Super left the model menu on 2026-10-29, and what a saved pick runs on now. ## Optional - [Taskade llms.txt](https://www.taskade.com/llms.txt): Product overview, plans, and the agent quick start for the whole site. - [Learn Taskade llms.txt](https://www.taskade.com/learn/llms.txt): Index of the help center articles for people who use the Taskade app.