Skip to content

fix(integrations): resolve agent tool-call operations and align remaining requests with vendor specs - #10036

Merged
waleedlatif1 merged 9 commits into
stagingfrom
fix/integration-preexisting
Nov 14, 2026
Merged

waleedlatif1 merged 9 commits into
stagingfrom
fix/integration-preexisting

Conversation

@waleedlatif1

Copy link
Copy Markdown
Collaborator

Summary

Fixes older bugs (already on main) that turned up during the final full pass, which checked every tool of the 24 integrations against vendor specs: OpenAPI/WSDL/XSD/GraphQL schemas and official SDKs. Every change was then audited again for saved-workflow compatibility. The three changes that could have altered what working saved workflows send were reverted to main's behavior.

Agent tool calls (ClickUp, Airtable, Asana, monday, SAP S/4HANA, Workday)

  • The mappers picked their per-operation branch from params.operation. An agent tool stores its operation outside params and passes it only as context.operation, so those branches never ran on agent calls. As a result, values like a ClickUp workspace picked in the tool row never reached the tool.
  • They now resolve params.operation ?? context?.operation. Every renamed key has a toolCallArg fallback, so a model argument is never dropped.
  • Canvas runs always carry params.operation. A 6k-case old-vs-new fuzz of the canvas path differs only for blank required monday fields, which are rejected the same way either way.

Requests and outputs aligned with vendor specs

  • Mailchimp:
    • get_campaign_report reads campaign_id from id; the response has no campaign_id.
    • set_campaign_content sends template.id as the integer the spec requires.
    • Landing pages gain the documented product type.
  • Attio: invalid JSON now throws instead of silently becoming []/{}. Before, this cleared task assignees, linked records and webhook subscriptions, and it turned a filtered entry query into "return everything".
  • HubSpot: add_list_memberships reads recordsIdsAdded; the spec spells it that way. Owner name and email outputs are optional, per the spec.
  • Zendesk: bulk-update ids are encoded into the query string.
  • ServiceNow: table, sys_id, CI class, catalog item and change ids in URL paths go through safeUrlPathSegment. Valid values are byte-identical.
  • Pipedrive:
    • Update Deal, Update Activity and Update Lead offer "No change" as the default for status/done/archived, so new update blocks stop reopening deals, un-completing activities and unarchiving leads.
    • Update Activity no longer requires subject and due date.
    • Saved workflows keep their stored values.
  • Intercom: create ticket sends skip_notifications (2.14). Update Contact's role offers "No change".
  • Square: catalog image upload uses the image_file multipart part (spec plus official SDKs).
  • Amplitude: retention sends the documented nday for the saved n-day value, and adds nday_or_before. Funnels, bracket and computations descriptions are corrected.
  • Box: marker paging on the root folder omits the sort that Box rejects there. Update File sends description only when it is a string.
  • SAP S/4HANA: output types corrected (SourceDetermination, IsNaturalPerson, ManualPrintIsTriggered), along with a filter example that named a nonexistent field. A model top/skip of 0 is kept.

Type of Change

  • Bug fix

Testing

  • New regression tests for each behavioral fix. Each was confirmed red on the pre-fix code.
  • Affected suites: 689 tests across 93 files, plus blocks tests.
  • check-block-registry, check:tool-metadata, check:docs, check:docs-manifest, check:integration-catalog, check:explicit-any, check:test-patterns, biome.
  • Independent audits of each commit: the agent-path change was modelled through the real buildBlockToolParamsTransform pipeline for all 127 operations.

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing (new tests pass the test-audit authoring gate)
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

…n the ClickUp, Airtable, Asana, monday, SAP S/4HANA, and Workday mappers
…, and ServiceNow requests and outputs with their API specs
…tercom fields, send documented Intercom, Square, Amplitude, and Box request values, and correct SAP output types
…, throw on invalid Attio entry values, and guard the ServiceNow CI class path
@vercel

vercel Bot commented Nov 14, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
docs Skipped Skipped Nov 14, 2026 3:48am UTC

Request Review

@greptile-apps

greptile-apps Bot commented Nov 14, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 5/5

[High impact] The changes appear safe to merge; no new blocking issue was found.

Summary

Fixes agent tool arguments and brings integration requests and outputs in line with vendor specs.

  • Agent calls now use the operation selected on the integration block.
  • Attio tools stop when a JSON input cannot be read.
  • Pipedrive update blocks leave unchosen fields alone.
  • ServiceNow tools keep supplied identifiers inside URL path segments.
  • Mailchimp requests and reports use the vendor’s field shapes.
  • Box tools skip rejected sorting and send only string descriptions.
  • Box Sign output details match the values the service returns.
  • Amplitude reporting uses the documented retention and result meanings.
  • Square catalog requests use the expected upload field and omit null options.
  • Zendesk bulk updates encode ticket IDs in the request URL.
  • HubSpot list additions read the returned record IDs and allow optional owner details.
  • Intercom tickets and contact updates use the vendor’s field names.
  • SAP S/4HANA output types and examples match the vendor schema.
  • Supabase move-file outputs no longer promise fields the endpoint omits.

Reviews (3) · Last reviewed commit: "fix(integrations): reset the shared Pipe..." · Reviewed by Greptile

@cubic-dev-ai cubic-dev-ai Bot 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.

3 issues found across 80 files

Confidence score: 3/5

  • In apps/sim/blocks/blocks/intercom.ts, dynamic-option validation can reject role: '' when saving a new Update Contact, so the default No change selection may not save. Pass the current operation into validation so update_contact accepts it.
  • In apps/sim/tools/mailchimp/create_landing_page.ts, the description omits the click-through create type, so agents may not discover an option the block still exposes. Include it in the description.
  • In apps/sim/tools/supabase/types.ts, the descriptions say move responses contain only a message, but the endpoint returns Id and Key. Update the descriptions to explain those destination values.
Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="apps/sim/tools/mailchimp/create_landing_page.ts">

<violation number="1" location="apps/sim/tools/mailchimp/create_landing_page.ts:42">
P2: This description omits the retained `click-through` create type, so agents cannot discover a value that the Mailchimp block still exposes for this operation. Include the legacy option in the description or explicitly document that it is accepted for saved-workflow compatibility.</violation>
</file>

<file name="apps/sim/blocks/blocks/intercom.ts">

<violation number="1" location="apps/sim/blocks/blocks/intercom.ts:192">
P2: Saving a new Update Contact can reject its default `No change` role as an invalid dropdown value. Pass the current operation into dynamic-option validation so `role: ''` is accepted for `update_contact`.</violation>
</file>

<file name="apps/sim/tools/supabase/types.ts">

<violation number="1" location="apps/sim/tools/supabase/types.ts:91">
P3: These descriptions incorrectly tell consumers that Supabase move responses contain only a message. The endpoint returns `Id` and `Key`; restore descriptions that explain those returned destination values.</violation>
</file>

Reply with feedback, questions, or to request a fix.

Turn on auto-fix | Re-trigger cubic

Comment thread apps/sim/blocks/blocks/intercom.ts Resolved
Comment thread apps/sim/tools/supabase/types.ts Resolved
…context, document the legacy Mailchimp landing page type, and type the ServiceNow path tests
@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Nov 14, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@waleedlatif1 I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai Bot 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.

All reported issues were addressed across 80 files

Reply with feedback, questions, or to request a fix.

Turn on auto-fix | Re-trigger cubic

Comment thread apps/sim/blocks/blocks/intercom.ts Resolved
Comment thread apps/sim/blocks/blocks/pipedrive.ts Resolved
@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Nov 14, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@waleedlatif1 I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai Bot 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.

No issues found across 80 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Turn on auto-fix | Re-trigger cubic

@waleedlatif1
waleedlatif1 merged commit 5536549 into staging Nov 14, 2026
83 checks passed
@waleedlatif1
waleedlatif1 deleted the fix/integration-preexisting branch November 14, 2026 04:01

This branch was previously deployed

1 inactive deployment
Preview — 8b95a863 Deployed Nov 14, 2026 by vercel[bot]
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.

1 participant