Skip to content

feat(make): Add the Taskade custom app for Make as code (#33) - #34

Open
johnxie wants to merge 2 commits into
masterfrom
feat/make-custom-app
Open

johnxie wants to merge 2 commits into
masterfrom
feat/make-custom-app

Conversation

@johnxie

@johnxie johnxie commented Oct 9, 2026 •

Copy link
Copy Markdown
Member

Part of #33 (the issue stays open until Make approves the app).

@deanzaka this PR adds the source of an official Taskade app for Make. The steps that need your Make and Taskade admin access are in Create, test, and submit at the end, and in full detail in packages/make-app-taskade/SUBMISSION.md. Demand: 97 Canny votes for a Make integration, plus 36 on the Make half of "Zapier & Make".

What this adds

Before                                         After
Make user ── HTTP module + tskdp_ token ──>    Make user ── Taskade app (OAuth2 or token)
            hand-built requests                 ├─ 6 Watch triggers <── signed webhooks (POST /v2/webhooks)
                                                ├─ 15 actions, 3 searches ──> /v2/<operation>
(only an unofficial community app on Make)      └─ Make an API Call ──> any /v1 or /v2 path
Component Items
Connections Taskade (OAuth2: authorize, token, refresh, info on /oauth2/ping), Taskade (personal access token) as the alternative connection on every module
Instant triggers Watch Tasks Due, Watch New Comments, Watch Task Assignments, Watch New Projects, Watch Project Assignments, Watch New Project Members. Each has a dedicated attached webhook: attach calls POST /v2/webhooks (one event, optional workspace and folder filter), detach calls DELETE /v2/webhooks/{id}.
Task actions Create, Update, Complete, Move, Assign, Set Date, Set Note, Set Custom Field, Delete
Project actions Create (Markdown), Create from a Template, Copy, Get
AI agent actions Prompt an AI Agent, Generate an AI Agent
Searches List Tasks (cursor paging), List Projects, List AI Agents
Universal Make an API Call: the user enters a path, the host https://www.taskade.com/api is fixed
RPCs Workspaces, folders (nested), recent projects, tasks, agents, custom fields, members, templates

Format: the local development layout of the Make Apps Editor for VS Code (makecomapp.json plus one folder per component), so the app deploys from this repo with Deploy to Make. Make docs: local development, OAuth 2.0 connection, attached webhooks, universal REST module, pagination, app review prerequisites.

Distribution details

  • Module names follow the Make conventions (Watch..., Create a..., List..., Make an API Call), in 4 groups (Tasks, Projects, AI agents, Other), so the module picker reads like the rest of the Make catalog.
  • general/readme.md is the app description that Make shows to users. assets/icon-512.png is the official Taskade mark at 512 x 512.
  • OAuth2 is the default connection, so a user signs in with Taskade and does not handle a token. Advanced fields let a team use its own OAuth2 client.
  • AI agents are first-class modules (Prompt, Generate, List), which no other automation listing for Taskade offers today.

Checks

node packages/make-app-taskade/test/validate.mjs (no dependencies; the new Make app workflow runs it):

  • Every code file exists and parses, and every app file is in the manifest.
  • Connection, webhook, and rpc:// references resolve. Each module is in exactly one group.
  • Review rules: secrets sanitized, errors handled, limits on searches and RPCs, one universal module with a relative URL, and date parameters formatted.
  • Every parameters.x exists, every sample key is in the interface, and every {{ }} is balanced.
  • All 44 Public API v2 requests (including pagination bodies) use a path, a method, and body properties that exist in the live OpenAPI spec, with all required properties.
Checked 44 requests against the Public API v2 spec.
PASS: 25 modules, 8 RPCs, 6 webhooks, 2 connections

A mutation run (a renamed body property, an unknown RPC, a wrong limit parameter) fails with 5 problems, so the check is not vacuous. A review pass found 3 issues (all-day date timezone, a wrong detach test step, and a workspace filter that skips folders). All 3 are fixed. Copilot found 3 more, all fixed: Make an API Call now fixes the Taskade host (a mapped absolute URL cannot take the token to another host, which is the Make security rule for universal modules), the validator fails in CI when the spec is not reachable, and a merge of this PR leaves issue 33 open.

QA steps

# Step Expected
1 Deploy to a test app in Make (SUBMISSION.md section 1) 2 connections, 6 webhooks, 25 modules, 8 RPCs, no deploy errors
2 Create both connection types Each shows @handle
3 Run scenario A from SUBMISSION.md Every action succeeds in order
4 List Tasks on a project with more than 100 tasks, limit 150 150 bundles, 2 requests in the log
5 Watch Task Assignments, create the webhook, assign a task One bundle with the assignment. GET /v2/webhooks lists the Make URL
6 Delete the webhook in Make The URL is gone from GET /v2/webhooks
7 Get a Project with an unknown ID 404 error with the Taskade message

Create, test, and submit (@deanzaka)

  1. Make account. Use a Taskade-owned Make account. Create the custom app (label Taskade), upload assets/icon-512.png, and copy the app ID and zone into origins[0] of makecomapp.json.
  2. Make API token. Create one with sdk-apps:read and sdk-apps:write, and save it in packages/make-app-taskade/.secrets/apikey (ignored by git).
  3. Deploy. In VS Code with the Make Apps Editor, right-click makecomapp.json > Deploy to Make, and select create new for each component.
  4. Taskade OAuth2 client for Make. With the company Taskade account, open Settings > API > OAuth2 Applications, create Make with the redirect URL https://www.make.com/oauth/cb/app. Put { "clientId": "...", "clientSecret": "..." } in the Common data of the Taskade connection in Make (never in git).
  5. Test. Run scenarios A to D from SUBMISSION.md with a Pro-plan Taskade account and no personal data. Run them again right before the review request.
  6. Publish and request review. Remove test components, click Publish (cannot be undone), make the modules visible, and fill the Review tab: API docs https://www.taskade.com/api/documentation/v2, help https://help.taskade.com, scenario links. In the form, say that this is the official app from the vendor, because an unofficial community app already exists on Make.
  7. After approval, commit the filled origins[0] values (app ID and zone, no secrets), and update the Make row in the root README.

Known limits

  • The Watch triggers need the Taskade Pro plan or higher (webhooks).
  • Make cannot check X-Taskade-Signature, because a Make webhook does not expose the raw body. Each dedicated webhook URL is secret to its scenario.
  • Set a Task Date sends one date. A range needs Make an API Call.

Copilot AI balanced review requested due to automatic review settings October 9, 2026 10:26

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The universal module can expose credentials to an arbitrary host, and CI can silently skip its primary API-contract check.

3 open findings
What changed in this PR

Adds the source and deployment workflow for an official Taskade app on Make.

Changes:

  • Adds OAuth/token connections, 25 modules, six webhooks, and eight RPCs.
  • Adds validation, CI, documentation, assets, and submission guidance.
  • Updates the repository integration catalog.
File Description
README.md Lists the new Make integration.
.github/​workflows/​make-app.yml Runs Make app validation in CI.
packages/​make-app-taskade/​.gitignore Excludes local Make credentials.
packages/​make-app-taskade/​README.md Documents the app and deployment.
packages/​make-app-taskade/​SUBMISSION.md Provides review and submission steps.
packages/​make-app-taskade/​makecomapp.json Defines all Make app components.
packages/​make-app-taskade/​assets/​icon-512.png Adds the uploadable app icon.
packages/​make-app-taskade/​assets/​icon.svg Adds the source app artwork.
packages/​make-app-taskade/​general/​base.iml.jsonc Configures API auth and errors.
packages/​make-app-taskade/​general/​common.json Defines shared app data.
packages/​make-app-taskade/​general/​readme.md Adds the user-facing app description.
packages/​make-app-taskade/​connections/​taskade/​default-scope.iml.jsonc Defines default OAuth scopes.
packages/​make-app-taskade/​connections/​taskade/​oauth-communication.iml.jsonc Implements OAuth authorization and refresh.
packages/​make-app-taskade/​connections/​taskade/​params.iml.jsonc Defines optional OAuth client fields.
packages/​make-app-taskade/​connections/​taskade/​scope-list.iml.jsonc Defines available OAuth scopes.
packages/​make-app-taskade/​connections/​taskade-token/​communication.iml.jsonc Validates personal access tokens.
packages/​make-app-taskade/​connections/​taskade-token/​params.iml.jsonc Defines the token input.
packages/​make-app-taskade/​webhooks/​comment-created/​attach.iml.jsonc Registers comment webhooks.
packages/​make-app-taskade/​webhooks/​comment-created/​communication.iml.jsonc Emits comment payloads.
packages/​make-app-taskade/​webhooks/​comment-created/​detach.iml.jsonc Deletes comment webhooks.
packages/​make-app-taskade/​webhooks/​comment-created/​params.iml.jsonc Defines comment webhook filters.
packages/​make-app-taskade/​webhooks/​project-assigned/​attach.iml.jsonc Registers project-assignment webhooks.
packages/​make-app-taskade/​webhooks/​project-assigned/​communication.iml.jsonc Emits project-assignment payloads.
packages/​make-app-taskade/​webhooks/​project-assigned/​detach.iml.jsonc Deletes project-assignment webhooks.
packages/​make-app-taskade/​webhooks/​project-assigned/​params.iml.jsonc Defines project-assignment filters.
packages/​make-app-taskade/​webhooks/​project-created/​attach.iml.jsonc Registers project-created webhooks.
packages/​make-app-taskade/​webhooks/​project-created/​communication.iml.jsonc Emits project-created payloads.
packages/​make-app-taskade/​webhooks/​project-created/​detach.iml.jsonc Deletes project-created webhooks.
packages/​make-app-taskade/​webhooks/​project-created/​params.iml.jsonc Defines project-created filters.
packages/​make-app-taskade/​webhooks/​project-joined/​attach.iml.jsonc Registers project-member webhooks.
packages/​make-app-taskade/​webhooks/​project-joined/​communication.iml.jsonc Emits project-member payloads.
packages/​make-app-taskade/​webhooks/​project-joined/​detach.iml.jsonc Deletes project-member webhooks.
packages/​make-app-taskade/​webhooks/​project-joined/​params.iml.jsonc Defines project-member filters.
packages/​make-app-taskade/​webhooks/​task-assigned/​attach.iml.jsonc Registers task-assignment webhooks.
packages/​make-app-taskade/​webhooks/​task-assigned/​communication.iml.jsonc Emits task-assignment payloads.
packages/​make-app-taskade/​webhooks/​task-assigned/​detach.iml.jsonc Deletes task-assignment webhooks.
packages/​make-app-taskade/​webhooks/​task-assigned/​params.iml.jsonc Defines task-assignment filters.
packages/​make-app-taskade/​webhooks/​task-due/​attach.iml.jsonc Registers task-due webhooks.
packages/​make-app-taskade/​webhooks/​task-due/​communication.iml.jsonc Emits task-due payloads.
packages/​make-app-taskade/​webhooks/​task-due/​detach.iml.jsonc Deletes task-due webhooks.
packages/​make-app-taskade/​webhooks/​task-due/​params.iml.jsonc Defines task-due filters.
packages/​make-app-taskade/​rpcs/​list-agents/​communication.iml.jsonc Supplies agent options.
packages/​make-app-taskade/​rpcs/​list-agents/​params.iml.jsonc Defines agent RPC parameters.
packages/​make-app-taskade/​rpcs/​list-fields/​communication.iml.jsonc Supplies custom-field options.
packages/​make-app-taskade/​rpcs/​list-fields/​params.iml.jsonc Defines custom-field RPC parameters.
packages/​make-app-taskade/​rpcs/​list-folders/​communication.iml.jsonc Supplies folder options.
packages/​make-app-taskade/​rpcs/​list-folders/​params.iml.jsonc Defines folder RPC parameters.
packages/​make-app-taskade/​rpcs/​list-members/​communication.iml.jsonc Supplies member options.
packages/​make-app-taskade/​rpcs/​list-members/​params.iml.jsonc Defines member RPC parameters.
packages/​make-app-taskade/​rpcs/​list-projects/​communication.iml.jsonc Supplies recent-project options.
packages/​make-app-taskade/​rpcs/​list-projects/​params.iml.jsonc Defines project RPC parameters.
packages/​make-app-taskade/​rpcs/​list-tasks/​communication.iml.jsonc Supplies task options.
packages/​make-app-taskade/​rpcs/​list-tasks/​params.iml.jsonc Defines task RPC parameters.
packages/​make-app-taskade/​rpcs/​list-templates/​communication.iml.jsonc Supplies template options.
packages/​make-app-taskade/​rpcs/​list-templates/​params.iml.jsonc Defines template RPC parameters.
packages/​make-app-taskade/​rpcs/​list-workspaces/​communication.iml.jsonc Supplies workspace options.
packages/​make-app-taskade/​rpcs/​list-workspaces/​params.iml.jsonc Defines workspace RPC parameters.
packages/​make-app-taskade/​modules/​groups.json Organizes modules by domain.
packages/​make-app-taskade/​modules/​assign-task/​communication.iml.jsonc Implements task assignment.
packages/​make-app-taskade/​modules/​assign-task/​interface.iml.jsonc Defines assignment output.
packages/​make-app-taskade/​modules/​assign-task/​mappable-params.iml.jsonc Defines assignment inputs.
packages/​make-app-taskade/​modules/​assign-task/​samples.iml.jsonc Adds assignment sample data.
packages/​make-app-taskade/​modules/​assign-task/​static-params.iml.jsonc Defines static assignment inputs.
packages/​make-app-taskade/​modules/​complete-task/​communication.iml.jsonc Implements task completion.
packages/​make-app-taskade/​modules/​complete-task/​interface.iml.jsonc Defines completion output.
packages/​make-app-taskade/​modules/​complete-task/​mappable-params.iml.jsonc Defines completion inputs.
packages/​make-app-taskade/​modules/​complete-task/​samples.iml.jsonc Adds completion sample data.
packages/​make-app-taskade/​modules/​complete-task/​static-params.iml.jsonc Defines static completion inputs.
packages/​make-app-taskade/​modules/​copy-project/​communication.iml.jsonc Implements project copying.
packages/​make-app-taskade/​modules/​copy-project/​interface.iml.jsonc Defines copied-project output.
packages/​make-app-taskade/​modules/​copy-project/​mappable-params.iml.jsonc Defines project-copy inputs.
packages/​make-app-taskade/​modules/​copy-project/​samples.iml.jsonc Adds project-copy sample data.
packages/​make-app-taskade/​modules/​copy-project/​static-params.iml.jsonc Defines static copy inputs.
packages/​make-app-taskade/​modules/​create-project-from-template/​communication.iml.jsonc Creates projects from templates.
packages/​make-app-taskade/​modules/​create-project-from-template/​interface.iml.jsonc Defines template-created project output.
packages/​make-app-taskade/​modules/​create-project-from-template/​mappable-params.iml.jsonc Defines template creation inputs.
packages/​make-app-taskade/​modules/​create-project-from-template/​samples.iml.jsonc Adds template creation sample data.
packages/​make-app-taskade/​modules/​create-project-from-template/​static-params.iml.jsonc Defines static template inputs.
packages/​make-app-taskade/​modules/​create-project/​communication.iml.jsonc Creates Markdown projects.
packages/​make-app-taskade/​modules/​create-project/​interface.iml.jsonc Defines created-project output.
packages/​make-app-taskade/​modules/​create-project/​mappable-params.iml.jsonc Defines project creation inputs.
packages/​make-app-taskade/​modules/​create-project/​samples.iml.jsonc Adds project creation sample data.
packages/​make-app-taskade/​modules/​create-project/​static-params.iml.jsonc Defines static project inputs.
packages/​make-app-taskade/​modules/​create-task/​communication.iml.jsonc Implements task creation.
packages/​make-app-taskade/​modules/​create-task/​interface.iml.jsonc Defines created-task output.
packages/​make-app-taskade/​modules/​create-task/​mappable-params.iml.jsonc Defines task creation inputs.
packages/​make-app-taskade/​modules/​create-task/​samples.iml.jsonc Adds task creation sample data.
packages/​make-app-taskade/​modules/​create-task/​static-params.iml.jsonc Defines static task inputs.
packages/​make-app-taskade/​modules/​delete-task/​communication.iml.jsonc Implements task deletion.
packages/​make-app-taskade/​modules/​delete-task/​interface.iml.jsonc Defines deletion output.
packages/​make-app-taskade/​modules/​delete-task/​mappable-params.iml.jsonc Defines deletion inputs.
packages/​make-app-taskade/​modules/​delete-task/​samples.iml.jsonc Adds deletion sample data.
packages/​make-app-taskade/​modules/​delete-task/​static-params.iml.jsonc Defines static deletion inputs.
packages/​make-app-taskade/​modules/​generate-agent/​communication.iml.jsonc Implements AI agent generation.
packages/​make-app-taskade/​modules/​generate-agent/​interface.iml.jsonc Defines generated-agent output.
packages/​make-app-taskade/​modules/​generate-agent/​mappable-params.iml.jsonc Defines agent generation inputs.
packages/​make-app-taskade/​modules/​generate-agent/​samples.iml.jsonc Adds generated-agent sample data.
packages/​make-app-taskade/​modules/​generate-agent/​static-params.iml.jsonc Defines static generation inputs.
packages/​make-app-taskade/​modules/​get-project/​communication.iml.jsonc Retrieves a project.
packages/​make-app-taskade/​modules/​get-project/​interface.iml.jsonc Defines retrieved-project output.
packages/​make-app-taskade/​modules/​get-project/​mappable-params.iml.jsonc Defines project lookup input.
packages/​make-app-taskade/​modules/​get-project/​samples.iml.jsonc Adds project lookup sample data.
packages/​make-app-taskade/​modules/​get-project/​static-params.iml.jsonc Defines static lookup inputs.
packages/​make-app-taskade/​modules/​list-agents/​communication.iml.jsonc Lists AI agents.
packages/​make-app-taskade/​modules/​list-agents/​interface.iml.jsonc Defines agent search output.
packages/​make-app-taskade/​modules/​list-agents/​mappable-params.iml.jsonc Defines agent search inputs.
packages/​make-app-taskade/​modules/​list-agents/​samples.iml.jsonc Adds agent search sample data.
packages/​make-app-taskade/​modules/​list-agents/​static-params.iml.jsonc Defines static agent inputs.
packages/​make-app-taskade/​modules/​list-projects/​communication.iml.jsonc Lists projects.
packages/​make-app-taskade/​modules/​list-projects/​interface.iml.jsonc Defines project search output.
packages/​make-app-taskade/​modules/​list-projects/​mappable-params.iml.jsonc Defines project search inputs.
packages/​make-app-taskade/​modules/​list-projects/​samples.iml.jsonc Adds project search sample data.
packages/​make-app-taskade/​modules/​list-projects/​static-params.iml.jsonc Defines static project-search inputs.
packages/​make-app-taskade/​modules/​list-tasks/​communication.iml.jsonc Lists tasks with pagination.
packages/​make-app-taskade/​modules/​list-tasks/​interface.iml.jsonc Defines task search output.
packages/​make-app-taskade/​modules/​list-tasks/​mappable-params.iml.jsonc Defines task search inputs.
packages/​make-app-taskade/​modules/​list-tasks/​samples.iml.jsonc Adds task search sample data.
packages/​make-app-taskade/​modules/​list-tasks/​static-params.iml.jsonc Defines static task-search inputs.
packages/​make-app-taskade/​modules/​make-api-call/​communication.iml.jsonc Implements the universal API module.
packages/​make-app-taskade/​modules/​make-api-call/​interface.iml.jsonc Defines universal-call output.
packages/​make-app-taskade/​modules/​make-api-call/​mappable-params.iml.jsonc Defines universal-call inputs.
packages/​make-app-taskade/​modules/​make-api-call/​samples.iml.jsonc Adds universal-call sample data.
packages/​make-app-taskade/​modules/​make-api-call/​static-params.iml.jsonc Defines static universal inputs.
packages/​make-app-taskade/​modules/​move-task/​communication.iml.jsonc Implements task movement.
packages/​make-app-taskade/​modules/​move-task/​interface.iml.jsonc Defines moved-task output.
packages/​make-app-taskade/​modules/​move-task/​mappable-params.iml.jsonc Defines task movement inputs.
packages/​make-app-taskade/​modules/​move-task/​samples.iml.jsonc Adds task movement sample data.
packages/​make-app-taskade/​modules/​move-task/​static-params.iml.jsonc Defines static movement inputs.
packages/​make-app-taskade/​modules/​prompt-agent/​communication.iml.jsonc Implements AI agent prompting.
packages/​make-app-taskade/​modules/​prompt-agent/​interface.iml.jsonc Defines agent response output.
packages/​make-app-taskade/​modules/​prompt-agent/​mappable-params.iml.jsonc Defines agent prompt inputs.
packages/​make-app-taskade/​modules/​prompt-agent/​samples.iml.jsonc Adds agent prompt sample data.
packages/​make-app-taskade/​modules/​prompt-agent/​static-params.iml.jsonc Defines static prompt inputs.
packages/​make-app-taskade/​modules/​set-task-date/​communication.iml.jsonc Implements task date updates.
packages/​make-app-taskade/​modules/​set-task-date/​interface.iml.jsonc Defines dated-task output.
packages/​make-app-taskade/​modules/​set-task-date/​mappable-params.iml.jsonc Defines task date inputs.
packages/​make-app-taskade/​modules/​set-task-date/​samples.iml.jsonc Adds task date sample data.
packages/​make-app-taskade/​modules/​set-task-date/​static-params.iml.jsonc Defines static date inputs.
packages/​make-app-taskade/​modules/​set-task-field/​communication.iml.jsonc Sets task custom fields.
packages/​make-app-taskade/​modules/​set-task-field/​interface.iml.jsonc Defines custom-field output.
packages/​make-app-taskade/​modules/​set-task-field/​mappable-params.iml.jsonc Defines custom-field inputs.
packages/​make-app-taskade/​modules/​set-task-field/​samples.iml.jsonc Adds custom-field sample data.
packages/​make-app-taskade/​modules/​set-task-field/​static-params.iml.jsonc Defines static field inputs.
packages/​make-app-taskade/​modules/​set-task-note/​communication.iml.jsonc Implements task note updates.
packages/​make-app-taskade/​modules/​set-task-note/​interface.iml.jsonc Defines task-note output.
packages/​make-app-taskade/​modules/​set-task-note/​mappable-params.iml.jsonc Defines task-note inputs.
packages/​make-app-taskade/​modules/​set-task-note/​samples.iml.jsonc Adds task-note sample data.
packages/​make-app-taskade/​modules/​set-task-note/​static-params.iml.jsonc Defines static note inputs.
packages/​make-app-taskade/​modules/​update-task/​communication.iml.jsonc Implements task text updates.
packages/​make-app-taskade/​modules/​update-task/​interface.iml.jsonc Defines updated-task output.
packages/​make-app-taskade/​modules/​update-task/​mappable-params.iml.jsonc Defines task update inputs.
packages/​make-app-taskade/​modules/​update-task/​samples.iml.jsonc Adds task update sample data.
packages/​make-app-taskade/​modules/​update-task/​static-params.iml.jsonc Defines static update inputs.
packages/​make-app-taskade/​modules/​watch-comments/​communication.iml.jsonc Connects the comment trigger.
packages/​make-app-taskade/​modules/​watch-comments/​interface.iml.jsonc Defines comment event output.
packages/​make-app-taskade/​modules/​watch-comments/​mappable-params.iml.jsonc Defines trigger module inputs.
packages/​make-app-taskade/​modules/​watch-comments/​samples.iml.jsonc Adds comment event sample data.
packages/​make-app-taskade/​modules/​watch-comments/​static-params.iml.jsonc Defines static trigger inputs.
packages/​make-app-taskade/​modules/​watch-project-assignments/​communication.iml.jsonc Connects the project-assignment trigger.
packages/​make-app-taskade/​modules/​watch-project-assignments/​interface.iml.jsonc Defines project-assignment output.
packages/​make-app-taskade/​modules/​watch-project-assignments/​mappable-params.iml.jsonc Defines trigger module inputs.
packages/​make-app-taskade/​modules/​watch-project-assignments/​samples.iml.jsonc Adds project-assignment sample data.
packages/​make-app-taskade/​modules/​watch-project-assignments/​static-params.iml.jsonc Defines static trigger inputs.
packages/​make-app-taskade/​modules/​watch-project-members/​communication.iml.jsonc Connects the project-member trigger.
packages/​make-app-taskade/​modules/​watch-project-members/​interface.iml.jsonc Defines project-member output.
packages/​make-app-taskade/​modules/​watch-project-members/​mappable-params.iml.jsonc Defines trigger module inputs.
packages/​make-app-taskade/​modules/​watch-project-members/​samples.iml.jsonc Adds project-member sample data.
packages/​make-app-taskade/​modules/​watch-project-members/​static-params.iml.jsonc Defines static trigger inputs.
packages/​make-app-taskade/​modules/​watch-projects/​communication.iml.jsonc Connects the new-project trigger.
packages/​make-app-taskade/​modules/​watch-projects/​interface.iml.jsonc Defines new-project event output.
packages/​make-app-taskade/​modules/​watch-projects/​mappable-params.iml.jsonc Defines trigger module inputs.
packages/​make-app-taskade/​modules/​watch-projects/​samples.iml.jsonc Adds new-project sample data.
packages/​make-app-taskade/​modules/​watch-projects/​static-params.iml.jsonc Defines static trigger inputs.
packages/​make-app-taskade/​modules/​watch-task-assignments/​communication.iml.jsonc Connects the task-assignment trigger.
packages/​make-app-taskade/​modules/​watch-task-assignments/​interface.iml.jsonc Defines task-assignment output.
packages/​make-app-taskade/​modules/​watch-task-assignments/​mappable-params.iml.jsonc Defines trigger module inputs.
packages/​make-app-taskade/​modules/​watch-task-assignments/​samples.iml.jsonc Adds task-assignment sample data.
packages/​make-app-taskade/​modules/​watch-task-assignments/​static-params.iml.jsonc Defines static trigger inputs.
packages/​make-app-taskade/​modules/​watch-tasks-due/​communication.iml.jsonc Connects the task-due trigger.
packages/​make-app-taskade/​modules/​watch-tasks-due/​interface.iml.jsonc Defines task-due event output.
packages/​make-app-taskade/​modules/​watch-tasks-due/​mappable-params.iml.jsonc Defines trigger module inputs.
packages/​make-app-taskade/​modules/​watch-tasks-due/​samples.iml.jsonc Adds task-due sample data.
packages/​make-app-taskade/​modules/​watch-tasks-due/​static-params.iml.jsonc Defines static trigger inputs.
packages/​make-app-taskade/​test/​validate.mjs Validates app structure and API requests.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread packages/make-app-taskade/modules/make-api-call/communication.iml.jsonc Outdated
Comment thread packages/make-app-taskade/test/validate.mjs Outdated
Comment thread README.md
Add the source of an official Taskade app for Make, in the local
development layout of the Make Apps Editor (makecomapp.json plus one
folder per component), on the Public Action API v2.

- Connections: OAuth2 (authorize, token, refresh, info on
  /oauth2/ping) and a personal access token as the alternative
  connection. Both store connection.accessToken for one base header.
- Base: Authorization header, error types per status, and log
  sanitization.
- Six instant triggers, each with a dedicated attached webhook that
  registers a signed webhook (POST /v2/webhooks) for one event, with an
  optional workspace filter, and deletes it on detach.
- 15 actions for tasks, projects and AI agents, 3 searches with limit
  and paging, and the universal Make an API Call module.
- Eight RPCs for workspace, folder, project, task, agent, custom
  field, member and template selects.
- test/validate.mjs checks references, review rules, IML syntax, and
  every request against the live OpenAPI spec. A workflow runs it.
- SUBMISSION.md lists the steps to create, test, publish and submit
  the app for the Make review.

Refs #33

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The universal URL, task-assignment output schema, and contract validator contain unresolved correctness gaps.

5 open findings
2 resolved since last review

🧠 Review effort: Balanced

Comment thread packages/make-app-taskade/test/validate.mjs Outdated
Comment thread packages/make-app-taskade/test/validate.mjs Outdated
The validator now fails a module, RPC or webhook request whose URL is
not a Public API v2 path (only the universal module takes a free
path), and a request without a body when the spec requires one.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Live Make deployment, OAuth, webhook, and end-to-end scenario testing remain necessary to validate the integration safely.

0 open findings

5 resolved since last review

🧠 Review effort: Balanced

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants