Skip to content

feat(components): backfill AI-optimized ai field (batch 3/5) - #21874

Merged
TheBestMoshe merged 2 commits into
masterfrom
moshe/dj-4272-ai-backfill-batch-3
Sep 3, 2026
Merged

feat(components): backfill AI-optimized ai field (batch 3/5)#21874
TheBestMoshe merged 2 commits into
masterfrom
moshe/dj-4272-ai-backfill-batch-3

Conversation

@TheBestMoshe

Copy link
Copy Markdown
Collaborator

DJ-4272 backfill, batch 3 of 5 (continues canary #21870).

Sets the top-level ai: "optimized" field on 200 AI-optimized actions across 13 apps, replaces any legacy // x-pd-ai: optimized marker comment with the real field, and patch-bumps each touched component + app package.json (required by check_version).

Batched at ≤200 components per the deployment publish cap. The 5 batches cover disjoint apps, so they can merge independently in any order.

Apps: box,google_contacts google_docs,google_sheets intercom,ironclad jira_service_desk,openphone pipedrive,ramp ramp_sandbox,sharepoint whoisfreaks

DJ-4272 backfill, batch 3 of 5. Sets the top-level `ai: "optimized"`
field on 200 AI-optimized actions across 13 apps, replaces any
legacy `// x-pd-ai: optimized` marker comment, and patch-bumps each
component and app package.json version.

Apps: box,google_contacts google_docs,google_sheets intercom,ironclad jira_service_desk,openphone pipedrive,ramp ramp_sandbox,sharepoint whoisfreaks

Batched at <=200 components per the deployment publish cap; the 5 batches
touch disjoint apps and can merge independently.
@vercel

vercel Bot commented Sep 2, 2026

Copy link
Copy Markdown

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

1 Skipped Deployment
Project Deployment Actions Updated
pipedream-docs-redirect-do-not-edit Ignored Ignored Sep 3, 2026 3:09pm UTC

Request Review

@linear

linear Bot commented Sep 2, 2026

Copy link
Copy Markdown

DJ-4272

@pipedream-component-development

Copy link
Copy Markdown
Collaborator

Thank you so much for submitting this! We've added it to our backlog to review, and our team has been notified.

@pipedream-component-development

Copy link
Copy Markdown
Collaborator

Thanks for submitting this PR! When we review PRs, we follow the Pipedream component guidelines. If you're not familiar, here's a quick checklist:

@coderabbitai

coderabbitai Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 213 files, which is 63 over the limit of 150.

To get a review, reduce the PR to 150 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to Team to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Essentials

Run ID: 5dd3c00a-e102-4f4c-a786-509709f93dc5

📥 Commits

Reviewing files that changed from the base of the PR and between ad07bc8 and 89eb333.

📒 Files selected for processing (213)
  • components/box/actions/add-comment/add-comment.mjs
  • components/box/actions/create-collaboration/create-collaboration.mjs
  • components/box/actions/create-folder/create-folder.mjs
  • components/box/actions/create-shared-link/create-shared-link.mjs
  • components/box/actions/create-sign-request/create-sign-request.mjs
  • components/box/actions/delete-collaboration/delete-collaboration.mjs
  • components/box/actions/delete-folder/delete-folder.mjs
  • components/box/actions/download-file/download-file.mjs
  • components/box/actions/get-comments/get-comments.mjs
  • components/box/actions/get-file-metadata/get-file-metadata.mjs
  • components/box/actions/get-file-text/get-file-text.mjs
  • components/box/actions/list-collaborations/list-collaborations.mjs
  • components/box/actions/list-file-versions/list-file-versions.mjs
  • components/box/actions/list-folder-items/list-folder-items.mjs
  • components/box/actions/list-folders/list-folders.mjs
  • components/box/actions/move-folder/move-folder.mjs
  • components/box/actions/search-content/search-content.mjs
  • components/box/actions/upload-file-version/upload-file-version.mjs
  • components/box/actions/upload-file/upload-file.mjs
  • components/box/package.json
  • components/google_contacts/actions/create-contact-group/create-contact-group.mjs
  • components/google_contacts/actions/create-contact/create-contact.mjs
  • components/google_contacts/actions/delete-contact-group/delete-contact-group.mjs
  • components/google_contacts/actions/delete-contact/delete-contact.mjs
  • components/google_contacts/actions/get-contact/get-contact.mjs
  • components/google_contacts/actions/list-contact-groups/list-contact-groups.mjs
  • components/google_contacts/actions/list-contacts/list-contacts.mjs
  • components/google_contacts/actions/modify-contact-group-members/modify-contact-group-members.mjs
  • components/google_contacts/actions/search-contacts/search-contacts.mjs
  • components/google_contacts/actions/search-directory-people/search-directory-people.mjs
  • components/google_contacts/actions/update-contact-group/update-contact-group.mjs
  • components/google_contacts/actions/update-contact/update-contact.mjs
  • components/google_contacts/package.json
  • components/google_docs/actions/create-document-from-template/create-document-from-template.mjs
  • components/google_docs/actions/create-document/create-document.mjs
  • components/google_docs/actions/export-document/export-document.mjs
  • components/google_docs/actions/find-document/find-document.mjs
  • components/google_docs/actions/get-document/get-document.mjs
  • components/google_docs/actions/get-profile/get-profile.mjs
  • components/google_docs/actions/insert-image/insert-image.mjs
  • components/google_docs/actions/insert-page-break/insert-page-break.mjs
  • components/google_docs/actions/insert-table/insert-table.mjs
  • components/google_docs/actions/insert-text/insert-text.mjs
  • components/google_docs/actions/list-comments/list-comments.mjs
  • components/google_docs/actions/replace-text/replace-text.mjs
  • components/google_docs/package.json
  • components/google_sheets/actions/add-multiple-rows/add-multiple-rows.mjs
  • components/google_sheets/actions/add-rows/add-rows.mjs
  • components/google_sheets/actions/add-single-row/add-single-row.mjs
  • components/google_sheets/actions/add-worksheet/add-worksheet.mjs
  • components/google_sheets/actions/find-rows/find-rows.mjs
  • components/google_sheets/actions/get-spreadsheet-info/get-spreadsheet-info.mjs
  • components/google_sheets/actions/list-spreadsheets/list-spreadsheets.mjs
  • components/google_sheets/actions/new-spreadsheet/new-spreadsheet.mjs
  • components/google_sheets/actions/read-rows/read-rows.mjs
  • components/google_sheets/actions/update-multiple-rows/update-multiple-rows.mjs
  • components/google_sheets/actions/update-row/update-row.mjs
  • components/google_sheets/actions/update-rows/update-rows.mjs
  • components/google_sheets/package.json
  • components/intercom/actions/add-tag-to-contact/add-tag-to-contact.mjs
  • components/intercom/actions/create-note/create-note.mjs
  • components/intercom/actions/list-admin-id-options/list-admin-id-options.mjs
  • components/intercom/actions/list-conversations/list-conversations.mjs
  • components/intercom/actions/list-tag-id-options/list-tag-id-options.mjs
  • components/intercom/actions/list-team-assignee-id-options/list-team-assignee-id-options.mjs
  • components/intercom/actions/manage-conversation/manage-conversation.mjs
  • components/intercom/actions/reply-to-conversation/reply-to-conversation.mjs
  • components/intercom/actions/retrieve-conversation/retrieve-conversation.mjs
  • components/intercom/actions/search-contacts/search-contacts.mjs
  • components/intercom/actions/send-incoming-message/send-incoming-message.mjs
  • components/intercom/actions/send-message-to-contact/send-message-to-contact.mjs
  • components/intercom/actions/upsert-contact/upsert-contact.mjs
  • components/intercom/package.json
  • components/ironclad/actions/create-record/create-record.mjs
  • components/ironclad/actions/delete-record/delete-record.mjs
  • components/ironclad/actions/describe-workflow-template/describe-workflow-template.mjs
  • components/ironclad/actions/describe-workspace/describe-workspace.mjs
  • components/ironclad/actions/get-record/get-record.mjs
  • components/ironclad/actions/get-workflow/get-workflow.mjs
  • components/ironclad/actions/launch-workflow/launch-workflow.mjs
  • components/ironclad/actions/list-properties-options/list-properties-options.mjs
  • components/ironclad/actions/list-record-id-options/list-record-id-options.mjs
  • components/ironclad/actions/list-record-type-options/list-record-type-options.mjs
  • components/ironclad/actions/list-selected-events-options/list-selected-events-options.mjs
  • components/ironclad/actions/list-template-id-options/list-template-id-options.mjs
  • components/ironclad/actions/list-workflow-id-options/list-workflow-id-options.mjs
  • components/ironclad/actions/search-records/search-records.mjs
  • components/ironclad/actions/search-workflows/search-workflows.mjs
  • components/ironclad/actions/update-record/update-record.mjs
  • components/ironclad/actions/update-workflow/update-workflow.mjs
  • components/ironclad/package.json
  • components/jira_service_desk/actions/create-comment-on-request/create-comment-on-request.mjs
  • components/jira_service_desk/actions/create-request/create-request.mjs
  • components/jira_service_desk/actions/download-issue-attachment/download-issue-attachment.mjs
  • components/jira_service_desk/actions/get-current-user/get-current-user.mjs
  • components/jira_service_desk/actions/get-request-status/get-request-status.mjs
  • components/jira_service_desk/actions/get-request/get-request.mjs
  • components/jira_service_desk/actions/list-issue-attachments/list-issue-attachments.mjs
  • components/jira_service_desk/actions/list-my-requests/list-my-requests.mjs
  • components/jira_service_desk/actions/list-request-transitions/list-request-transitions.mjs
  • components/jira_service_desk/actions/list-request-type-fields/list-request-type-fields.mjs
  • components/jira_service_desk/actions/list-request-types/list-request-types.mjs
  • components/jira_service_desk/actions/list-service-desks/list-service-desks.mjs
  • components/jira_service_desk/actions/list-sites/list-sites.mjs
  • components/jira_service_desk/actions/transition-request/transition-request.mjs
  • components/jira_service_desk/actions/update-issue-fields/update-issue-fields.mjs
  • components/jira_service_desk/package.json
  • components/openphone/actions/create-contact/create-contact.mjs
  • components/openphone/actions/create-task/create-task.mjs
  • components/openphone/actions/delete-contact/delete-contact.mjs
  • components/openphone/actions/delete-task/delete-task.mjs
  • components/openphone/actions/get-call/get-call.mjs
  • components/openphone/actions/list-calls/list-calls.mjs
  • components/openphone/actions/list-contacts/list-contacts.mjs
  • components/openphone/actions/list-conversations/list-conversations.mjs
  • components/openphone/actions/list-from-options/list-from-options.mjs
  • components/openphone/actions/list-messages/list-messages.mjs
  • components/openphone/actions/list-phone-numbers/list-phone-numbers.mjs
  • components/openphone/actions/list-tasks/list-tasks.mjs
  • components/openphone/actions/list-users/list-users.mjs
  • components/openphone/actions/send-message/send-message.mjs
  • components/openphone/actions/update-contact/update-contact.mjs
  • components/openphone/actions/update-conversation/update-conversation.mjs
  • components/openphone/actions/update-task/update-task.mjs
  • components/openphone/package.json
  • components/pipedrive/actions/create-project/create-project.mjs
  • components/pipedrive/actions/create-task/create-task.mjs
  • components/pipedrive/actions/delete-project/delete-project.mjs
  • components/pipedrive/actions/delete-task/delete-task.mjs
  • components/pipedrive/actions/get-project/get-project.mjs
  • components/pipedrive/actions/get-task/get-task.mjs
  • components/pipedrive/actions/list-filters/list-filters.mjs
  • components/pipedrive/actions/list-organizations/list-organizations.mjs
  • components/pipedrive/actions/list-persons/list-persons.mjs
  • components/pipedrive/actions/list-project-boards/list-project-boards.mjs
  • components/pipedrive/actions/list-project-phases/list-project-phases.mjs
  • components/pipedrive/actions/list-projects/list-projects.mjs
  • components/pipedrive/actions/list-tasks/list-tasks.mjs
  • components/pipedrive/actions/update-project/update-project.mjs
  • components/pipedrive/actions/update-task/update-task.mjs
  • components/pipedrive/package.json
  • components/ramp/actions/create-department/create-department.mjs
  • components/ramp/actions/create-location/create-location.mjs
  • components/ramp/actions/create-user-invite/create-user-invite.mjs
  • components/ramp/actions/get-limit/get-limit.mjs
  • components/ramp/actions/get-transaction/get-transaction.mjs
  • components/ramp/actions/get-user/get-user.mjs
  • components/ramp/actions/issue-virtual-card/issue-virtual-card.mjs
  • components/ramp/actions/list-departments/list-departments.mjs
  • components/ramp/actions/list-limits/list-limits.mjs
  • components/ramp/actions/list-locations/list-locations.mjs
  • components/ramp/actions/list-spend-programs/list-spend-programs.mjs
  • components/ramp/actions/list-transactions/list-transactions.mjs
  • components/ramp/actions/list-transfers/list-transfers.mjs
  • components/ramp/actions/list-users/list-users.mjs
  • components/ramp/actions/terminate-limit/terminate-limit.mjs
  • components/ramp/actions/update-limit/update-limit.mjs
  • components/ramp/actions/update-user/update-user.mjs
  • components/ramp/actions/upload-receipt/upload-receipt.mjs
  • components/ramp/package.json
  • components/ramp_sandbox/actions/create-department/create-department.mjs
  • components/ramp_sandbox/actions/create-location/create-location.mjs
  • components/ramp_sandbox/actions/create-user-invite/create-user-invite.mjs
  • components/ramp_sandbox/actions/get-limit/get-limit.mjs
  • components/ramp_sandbox/actions/get-transaction/get-transaction.mjs
  • components/ramp_sandbox/actions/get-user/get-user.mjs
  • components/ramp_sandbox/actions/issue-virtual-card/issue-virtual-card.mjs
  • components/ramp_sandbox/actions/list-departments/list-departments.mjs
  • components/ramp_sandbox/actions/list-limits/list-limits.mjs
  • components/ramp_sandbox/actions/list-locations/list-locations.mjs
  • components/ramp_sandbox/actions/list-spend-programs/list-spend-programs.mjs
  • components/ramp_sandbox/actions/list-transactions/list-transactions.mjs
  • components/ramp_sandbox/actions/list-transfers/list-transfers.mjs
  • components/ramp_sandbox/actions/list-users/list-users.mjs
  • components/ramp_sandbox/actions/terminate-limit/terminate-limit.mjs
  • components/ramp_sandbox/actions/update-limit/update-limit.mjs
  • components/ramp_sandbox/actions/update-user/update-user.mjs
  • components/ramp_sandbox/actions/upload-receipt/upload-receipt.mjs
  • components/ramp_sandbox/package.json
  • components/sharepoint/actions/create-folder/create-folder.mjs
  • components/sharepoint/actions/create-item/create-item.mjs
  • components/sharepoint/actions/create-link/create-link.mjs
  • components/sharepoint/actions/create-list/create-list.mjs
  • components/sharepoint/actions/download-file/download-file.mjs
  • components/sharepoint/actions/download-files/download-files.mjs
  • components/sharepoint/actions/find-file-by-name/find-file-by-name.mjs
  • components/sharepoint/actions/find-files-with-metadata/find-files-with-metadata.mjs
  • components/sharepoint/actions/get-current-user/get-current-user.mjs
  • components/sharepoint/actions/get-excel-table/get-excel-table.mjs
  • components/sharepoint/actions/get-file-by-id/get-file-by-id.mjs
  • components/sharepoint/actions/get-file-contents/get-file-contents.mjs
  • components/sharepoint/actions/get-site/get-site.mjs
  • components/sharepoint/actions/list-drives/list-drives.mjs
  • components/sharepoint/actions/list-files-in-folder/list-files-in-folder.mjs
  • components/sharepoint/actions/list-sites/list-sites.mjs
  • components/sharepoint/actions/retrieve-file-metadata/retrieve-file-metadata.mjs
  • components/sharepoint/actions/search-and-filter-files/search-and-filter-files.mjs
  • components/sharepoint/actions/search-files/search-files.mjs
  • components/sharepoint/actions/search-sites/search-sites.mjs
  • components/sharepoint/actions/update-item/update-item.mjs
  • components/sharepoint/actions/upload-file/upload-file.mjs
  • components/sharepoint/package.json
  • components/whoisfreaks/actions/bulk-dns-domain-lookup/bulk-dns-domain-lookup.mjs
  • components/whoisfreaks/actions/bulk-ip-geolocation-lookup/bulk-ip-geolocation-lookup.mjs
  • components/whoisfreaks/actions/bulk-ip-reputation-lookup/bulk-ip-reputation-lookup.mjs
  • components/whoisfreaks/actions/bulk-whois-lookup/bulk-whois-lookup.mjs
  • components/whoisfreaks/actions/domain-availability-lookup/domain-availability-lookup.mjs
  • components/whoisfreaks/actions/domain-reputation-lookup/domain-reputation-lookup.mjs
  • components/whoisfreaks/actions/ip-geolocation-lookup/ip-geolocation-lookup.mjs
  • components/whoisfreaks/actions/ip-reputation-lookup/ip-reputation-lookup.mjs
  • components/whoisfreaks/actions/ssl-lookup/ssl-lookup.mjs
  • components/whoisfreaks/actions/sub-domain-lookup/sub-domain-lookup.mjs
  • components/whoisfreaks/package.json

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Comment @coderabbitai help to get the list of available commands.

@TheBestMoshe
TheBestMoshe merged commit dba035f into master Sep 3, 2026
9 checks passed
@TheBestMoshe
TheBestMoshe deleted the moshe/dj-4272-ai-backfill-batch-3 branch September 3, 2026 15:19
@github-project-automation github-project-automation Bot moved this from Ready for PR Review to Done in Component (Source and Action) Backlog Sep 3, 2026
@1lker

1lker commented Sep 3, 2026

Copy link
Copy Markdown

why you have added ai: "optimized" field, and you know right whenever someones are using your schemas with paid subscription you have to let them know what are the changes. These things cause tool call crashes.

@dannyroosevelt

Copy link
Copy Markdown
Collaborator

why you have added ai: "optimized" field, and you know right whenever someones are using your schemas with paid subscription you have to let them know what are the changes. These things cause tool call crashes.

Can you elaborate on what the issue is re: tool call crashes? That field is not exposed in the tool definition from the MCP server, but I'd love to hear more about what the concern is from your perspective.

@1lker

1lker commented Sep 3, 2026

Copy link
Copy Markdown

Thanks Danny. Let me clarify: we’re seeing production tool-call failures, specifically timeouts—not a schema parser crashing because it received an extra ai property. I should distinguish the observed failure from the suspected cause.
Here is the concrete evidence from our integration using the remote MCP /v3 endpoint:

  • September 2, 22:44 UTC: google_sheets-update-rows successfully updated 74 cells in approximately 5 seconds. We have the provider’s successful response.
  • September 3, 15:26 UTC: this PR’s publication log records google_sheets-update-rows being published.
  • September 3, 18:53–19:25 UTC: seven subsequent calls to that tool reached our 90-second read timeout without a completed response. Other Sheets operations, including reads and add-rows, succeeded.
  • A fresh tools/list request using the same account context no longer advertised google_sheets-update-rows, but did advertise google_sheets-update-multiple-rows, which requires a different parameter contract.
    We cache discovered schemas, and we’re reviewing our refresh handling too. However, the previously working tool’s current discovery behavior and the lack of an actionable error need clarification.
    Could you help confirm:
  1. Did this publication change MCP tool selection, filtering, or routing, even though the ai field itself is not exposed?
  2. Why is google_sheets-update-rows absent from the current tool list despite being published?
  3. Are calls to its previously advertised schema still supported? If not, why are we observing timeouts rather than an explicit unsupported-tool or validation response?
  4. What is the supported schema caching, versioning, and deprecation policy for production Connect integrations?
    I’m not claiming the new field itself is the proven cause. The publication timing is why I raised this here. As a paying Connect customer, my concern is compatibility and visibility into changes that affect production workflows.
    I can share sanitized request details and correlation IDs privately to help trace this.

@dannyroosevelt

Copy link
Copy Markdown
Collaborator

Thanks Danny. Let me clarify: we’re seeing production tool-call failures, specifically timeouts—not a schema parser crashing because it received an extra ai property. I should distinguish the observed failure from the suspected cause. Here is the concrete evidence from our integration using the remote MCP /v3 endpoint:

  • September 2, 22:44 UTC: google_sheets-update-rows successfully updated 74 cells in approximately 5 seconds. We have the provider’s successful response.
  • September 3, 15:26 UTC: this PR’s publication log records google_sheets-update-rows being published.
  • September 3, 18:53–19:25 UTC: seven subsequent calls to that tool reached our 90-second read timeout without a completed response. Other Sheets operations, including reads and add-rows, succeeded.
  • A fresh tools/list request using the same account context no longer advertised google_sheets-update-rows, but did advertise google_sheets-update-multiple-rows, which requires a different parameter contract.
    We cache discovered schemas, and we’re reviewing our refresh handling too. However, the previously working tool’s current discovery behavior and the lack of an actionable error need clarification.
    Could you help confirm:
  1. Did this publication change MCP tool selection, filtering, or routing, even though the ai field itself is not exposed?
  2. Why is google_sheets-update-rows absent from the current tool list despite being published?
  3. Are calls to its previously advertised schema still supported? If not, why are we observing timeouts rather than an explicit unsupported-tool or validation response?
  4. What is the supported schema caching, versioning, and deprecation policy for production Connect integrations?
    I’m not claiming the new field itself is the proven cause. The publication timing is why I raised this here. As a paying Connect customer, my concern is compatibility and visibility into changes that affect production workflows.
    I can share sanitized request details and correlation IDs privately to help trace this.

Got it, thanks for the additional context. We're taking a look.

@dannyroosevelt

Copy link
Copy Markdown
Collaborator

Thanks Danny. Let me clarify: we’re seeing production tool-call failures, specifically timeouts—not a schema parser crashing because it received an extra ai property. I should distinguish the observed failure from the suspected cause. Here is the concrete evidence from our integration using the remote MCP /v3 endpoint:

  • September 2, 22:44 UTC: google_sheets-update-rows successfully updated 74 cells in approximately 5 seconds. We have the provider’s successful response.
  • September 3, 15:26 UTC: this PR’s publication log records google_sheets-update-rows being published.
  • September 3, 18:53–19:25 UTC: seven subsequent calls to that tool reached our 90-second read timeout without a completed response. Other Sheets operations, including reads and add-rows, succeeded.
  • A fresh tools/list request using the same account context no longer advertised google_sheets-update-rows, but did advertise google_sheets-update-multiple-rows, which requires a different parameter contract.

We cache discovered schemas, and we’re reviewing our refresh handling too. However, the previously working tool’s current discovery behavior and the lack of an actionable error need clarification.

Could you help confirm:

  1. Did this publication change MCP tool selection, filtering, or routing, even though the ai field itself is not exposed?
  1. Why is google_sheets-update-rows absent from the current tool list despite being published?
  1. Are calls to its previously advertised schema still supported? If not, why are we observing timeouts rather than an explicit unsupported-tool or validation response?
  1. What is the supported schema caching, versioning, and deprecation policy for production Connect integrations?

I’m not claiming the new field itself is the proven cause. The publication timing is why I raised this here. As a paying Connect customer, my concern is compatibility and visibility into changes that affect production workflows.

I can share sanitized request details and correlation IDs privately to help trace this.

Got it, thanks for the additional context. We're taking a look.

This should be fixed now, can you try again?

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

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants