Skip to content

feat(zapier): Add AI agent and project searches, fix listing checks (#10) - #37

Merged
deanzaka merged 4 commits into
masterfrom
feat/zapier-genesis-actions
Nov 14, 2026
Merged

deanzaka merged 4 commits into
masterfrom
feat/zapier-genesis-actions

Conversation

@johnxie

@johnxie johnxie commented Nov 13, 2026 •

Copy link
Copy Markdown
Member

Part of #10 (the issue stays open: agent conversation triggers and automation run results have no public endpoint yet).

This PR makes the Zapier app ready to push as version 1.3.0, with the Taskade Genesis jobs (AI agents, automations, projects) in the action list. The public Zapier version (1.0.8) shows 1 trigger and 1 action. This source holds 6 triggers, 22 actions and 4 searches.

What changes

Area Before After
Searches Find Task, Find Project Adds Find AI Agent (POST /api/v2/listAgents with the name filter) and Get Project Content (POST /api/v2/exportProject, the project as Markdown)
Run AI Agent Raw "Workspace ID" and "Agent ID" text fields (Zapier check D004) Folder and Agent dropdowns, plus an inline Find AI Agent search. Same input keys. The description says that each run uses AI credits.
Trigger copy No plan note The 5 public webhook triggers say "Requires a Taskade Pro plan or higher." The public route returns 402 below Pro. Task Due keeps its copy, because its internal route has no plan gate.
Run Automation Label "Trigger Taskade Automation" Label "Run Automation". The description says that the webhook trigger needs Pro.
Create Project Offered "Plain text", which the endpoint rejects (contentType enum is text/markdown only) Sends Markdown only
Listing checks 1 publishing task (D018: "Create Project from Template"), which blocks zapier promote 0 publishing tasks
Copy "Creates a Task in Taskade" (no period), "Assign to", a dead developer.taskade.com link, em dashes in help text Sentence-final periods, title case labels, a link to the v2 API docs
Version 1.2.0 (never pushed) 1.3.0, with CHANGELOG.md for zapier push
README Activepieces "planned", no Make or Pipedream row Real status for each platform, with links. A full table of Zapier triggers, actions and searches.
Zapier listing             Public 1.0.8      After push + promote of 1.3.0
Triggers (visible)         1                 6   (5 need Pro)
Actions                    1                 22
Searches                   0                 4
AI agent steps             0                 Run, Create, Generate, Update, Add Knowledge, Public Access, Find
Automation steps           0                 Run Automation

Overlap with #19

#19 conflicts with master. Its CI and lint part already landed in #30. Its task_due move to POST /api/v2/subscribeWebhook is not in this PR. That move adds the Pro gate to Task Due, which free users run today on the public version. Its README rewrite overlaps the Status table here. This PR builds on master, not on #19.

What the source on master adds beyond this PR

The promoted version 1.0.8 comes from hotfix/1.0.8-refresh-client-auth. Task Due, Create Task, the 4 dropdown helpers and the auth config are byte-identical between that branch and this one. A push of 1.3.0 also ships the 5 triggers, 21 actions and 2 searches that master gained since then. None of them has a live test Zap yet.

Checks

yarn lint                      0 problems
yarn test                      16 passed (schema validation, copy rules, request bodies of the new steps)
zapier validate --without-style   No structural errors
zapier validate                0 errors, 0 publishing tasks, 34 warnings
                               (master: 0 errors, 1 publishing task, 34 warnings, 3 of them D004)

The 34 warnings: 32 x D028 (cleanInputData), 1 x D004 (media_id in Add Knowledge: the API returns no media name for a dropdown), 1 x D027 (zapier-platform-core 17.4.0, the promoted line, against 19.3.0). D028 stays as is on purpose. Create Task checks block_id != null, and cleanInputData: false sends empty strings to it.

A mutation run (a lower-case label, a description that does not start with a verb, a missing Pro note) fails 3 of the new copy tests, so the tests are not vacuous.

Not changed

  • task_due and create_task keep every input key and output key (Zapier check C002 and C003).
  • No dependency change. yarn.lock is untouched.
  • packages/ (n8n) is untouched.

)

Add Find AI Agent (v2 listAgents) and Get Project Content (v2 exportProject).
Run AI Agent now picks the folder and the agent from dropdowns.
State the Pro plan on the 5 public webhook triggers and on Run Automation.
Fix the D018 title case task that blocked promote.
Create Project sends only Markdown, the one content type the endpoint accepts.
Bump the app to 1.3.0, add CHANGELOG.md, and update the README status table.
Copilot AI lite review requested due to automatic review settings November 13, 2026 20:18
@johnxie

johnxie commented Nov 13, 2026

Copy link
Copy Markdown
Member Author

@deanzaka this PR gets the Zapier app ready to push as 1.3.0.

Impact: the public listing (1.0.8) shows 1 trigger and 1 action. After push and promote, Zapier users and Zapier MCP clients get 6 triggers, 22 actions and 4 searches, with AI agents, automations and projects. The PR also clears the one publishing task (D018) that blocks zapier promote. Task Due and Create Task keep every input and output key.

Before (public 1.0.8):

Taskade on Zapier
  Triggers   Task Due
  Actions    Create Task
  Searches   (none)

After (1.3.0, promoted):

Taskade on Zapier
  Triggers   Task Due, New Comment*, Task Assigned*, New Project*, Project Assigned*, Member Joined Project*
  Actions    Tasks:     Create, Complete, Update, Delete, Move, Set Due Date, Assign, Set Note, Set Custom Field
             Projects:  Create, Create From Template, Complete, Copy, Get Share Link
             AI agents: Run AI Agent, Create, Generate, Update, Add Knowledge, Enable Public Access
             Other:     Run Automation, Custom API Call
  Searches   Find Task, Find Project, Find AI Agent, Get Project Content
  (* needs Taskade Pro or higher)

Each visible step needs a test Zap that is on and has one successful run (Zapier checks S002 and T001) before promote. Use an admin account on a Pro plan.

Step Action Expected
1 zapier login, then zapier versions 1.3.0 is not in the list
2 yarn install --frozen-lockfile && yarn build && zapier validate 0 errors, 0 publishing tasks
3 zapier push Version 1.3.0 is private and shows the changelog
4 Zap: New Comment trigger, then comment on a task One run with commentBody and nodeText
5 Same for Task Assigned, New Project, Project Assigned, Member Joined Project One run each with the sample keys
6 Zap step: Run AI Agent (pick a folder and an agent, prompt "Say hello") summary holds the reply. Credits go down by the run cost.
7 Zap step: Find AI Agent with part of the agent name, then Run AI Agent with the found ID The search returns the agent. The run succeeds.
8 Zap step: Get Project Content on a project content holds the project Markdown
9 Zap step: Create Project with # Test and two - lines A new project in the folder
10 Zap step: Run Automation with the webhook URL of an automation The automation runs once in Taskade
11 One Zap for each other action and search in the table above One successful run each
12 Free-plan account: add the New Comment trigger Taskade answers "Webhooks require a Pro plan or higher."
13 Existing Task Due and Create Task Zaps on 1.0.8 They still run after zapier promote 1.3.0

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

Approval should be deferred because the new v2 agent/project integrations and webhook plan gating depend on unverified live API response and account-plan behavior that repository tests only mock.

No open issues 🎉

What changed in this PR

Expands the Taskade Zapier integration for version 1.3.0 with AI-agent and project searches, improved action configuration, corrected project content handling, and updated listing documentation.

Changes:

  • Adds Find AI Agent and Get Project Content searches and registers them in the app.
  • Updates AI-agent, automation, webhook, and project actions with improved fields, copy, and API-compatible request bodies.
  • Adds release notes, README capability documentation, version metadata, and validation tests.
File Description
src/​triggers/​publicWebhook.ts Adds Pro-plan requirements to public webhook trigger descriptions.
src/​test/​app.test.ts Adds registration, copy-rule, request-body, and search behavior tests.
src/​searches/​getProjectContent.ts Implements a project search that exports project content as Markdown.
src/​searches/​findAgent.ts Implements a folder-scoped AI-agent search with name filtering.
src/​index.ts Registers the new AI-agent and project-content searches.
src/​creates/​triggerAutomation.ts Updates automation action labeling, descriptions, and error guidance.
src/​creates/​setTaskNote.ts Clarifies note input help text.
src/​creates/​runAgent.ts Replaces raw agent IDs with folder and agent dropdowns plus an inline search.
src/​creates/​customApiCall.ts Updates API documentation guidance and action copy.
src/​creates/​createTask.ts Improves task description punctuation and assignment label capitalization.
src/​creates/​createProjectFromTemplate.ts Corrects the action label title casing.
src/​creates/​createProject.ts Restricts project creation to the Markdown content type accepted by the endpoint.
src/​creates/​createAgent.ts Updates persona input guidance.
README.md Documents platform status, Zapier capabilities, release steps, and supported operations.
package.json Bumps the integration version to 1.3.0.
CHANGELOG.md Adds release notes for version 1.3.0.

Review effort: Lite

#10)

The Create Project test now sends a saved "Plain text" value and checks
that the option is gone. It failed on master and passes on this branch.

The README said that every action and search works on every plan. Run AI
Agent and Generate AI Agent use AI credits, so the note now says that the
actions and searches do not need Pro.
@johnxie

johnxie commented Nov 13, 2026

Copy link
Copy Markdown
Member Author

Code review

  1. The Create Project test did not cover the fix that it names. It sent no content_type, so it passed on master too. It now sends the saved "Plain text" value of an old Zap and checks that the option is gone. It fails on master and passes here. Fixed in ba83141.
    it('creates projects as Markdown, the only content type the endpoint accepts', async () => {
    const { z, calls } = fakeZ({ ok: true, item: { id: 'project-1', name: 'Plan' } });
    // A Zap saved with the removed "Plain text" option still holds content_type.
    await CreateProject.operation.perform(
    z,
    fakeBundle({ space_id: 'folder-1', content: '# Plan', content_type: 'text/plain' }),
    );
    expect(CreateProject.operation.inputFields.map((field) => field.key)).not.toContain('content_type');
    expect(JSON.parse(calls[0].body ?? '{}')).toEqual({
    folderId: 'folder-1',
    contentType: 'text/markdown',
    content: '# Plan',
    });
    });
  2. The README said that actions and searches work on every plan. Run AI Agent and Generate AI Agent use AI credits, so a Free account without credits gets an error. The note now says that the actions and searches do not need Pro, and names both credit steps. Fixed in ba83141.
    All triggers are instant (webhooks). The 5 triggers on the public webhook-subscription API need a Taskade Pro plan or higher. Actions and searches do not need Pro. Run AI Agent and Generate AI Agent use AI credits, and Run Automation needs an automation with a webhook trigger, which also needs Pro.

@johnxie

johnxie commented Nov 13, 2026

Copy link
Copy Markdown
Member Author

@deanzaka a follow-up on the review of this PR. Commit ba83141 changes only a test and one README sentence. The app definition is the same.

Impact: none for Zap users. The Create Project test now proves the fix (it failed on master). The README plan note no longer says that every action works on every plan.

Before                                       After
Create Project test: passes on master        Create Project test: fails on master, passes here
README: "work on every plan"                 README: "do not need Pro", Run AI Agent and
                                             Generate AI Agent use AI credits
Step Action Expected
1 yarn install --frozen-lockfile && yarn lint && yarn test 0 lint problems, 16 tests pass
2 zapier validate 0 errors, 0 publishing tasks, 34 warnings
3 The QA table in the first comment Unchanged

…e steps (#10)

The path example in Custom API Call is a version 2 path, and version 2 paths need the Method POST. The help text now says so. The release steps in the README now include the migrate step. The 1.0.8 changelog line keeps only the user-facing result.
@johnxie

johnxie commented Nov 13, 2026

Copy link
Copy Markdown
Member Author

Code review

Final round on 2aadc30. Found 2 issues, both fixed in that commit:

  1. The path example in Custom API Call (/api/v2/listSpaces) did not work with the default Method. Version 2 paths accept POST only, and the default is GET, so a pasted example returned a 4xx inside a step that still looked successful. The help text now says that version 2 paths need the Method POST.

required: true,
helpText:
'A full URL, or a path such as `/api/v2/listSpaces`. Version 2 paths need the Method POST. See the [API docs](https://www.taskade.com/api/documentation/v2).',
},

  1. The release steps in the README stopped at zapier promote. Existing users stay on their version until a migrate, so the steps now include zapier migrate.

https://github.com/taskade/integrations/blob/2aadc3009361ca272574af668f4c54294a453b07/README.md#L107-L113

Also checked, with no issue: the changed lines for bugs, the request shapes of the 2 new searches against the public API reference, the git history of the changed lines, the review threads of the earlier pull requests on these files, and the code comments in the changed files. The 1.0.8 changelog line now keeps only the user-facing result.

Note for the open pull requests #19, #34 and #36: each one edits the same README status table, so expect a text conflict there after this merge.

@johnxie
johnxie requested a review from deanzaka November 13, 2026 21:15
- Custom API Call sends the request only to https://www.taskade.com. A
  full URL on another host, or on plain http, now fails before the token
  leaves Zapier.
- Custom API Call sends `{}` on POST, PUT and PATCH when Body is empty,
  because the API rejects an empty JSON body.
- Find AI Agent skips the built-in `taa` agent that listAgents puts first,
  and puts an exact name match first.
- The Agent dropdown asks for 100 agents, not the default 20.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@deanzaka deanzaka left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Reviewed. I pushed 973cd38 with 4 review fixes: Custom API Call sends the token only to https://www.taskade.com, sends {} on an empty POST/PUT/PATCH body, Find AI Agent skips the built-in taa agent and puts an exact name match first, and the Agent dropdown asks for 100 agents. CI green.

@deanzaka
deanzaka merged commit d7518de into master Nov 14, 2026
4 checks passed
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