fix(hubspot): Create Engagement without CONFIGURE_COMPONENT#1
Open
e11man wants to merge 14 commits into
Open
Conversation
…0666) * feat(fitbit): add activity summary action Refs PipedreamHQ#20573 * fitbit: bump package version to 0.7.0 * fitbit: fix lint issues in activity summary files * remove authKeys method --------- Co-authored-by: Michelle Bergeron <michelle.bergeron@gmail.com>
…pedreamHQ#20679) * microsoft_power_bi: rewrite action set for AI-optimized MCP tools Replaces the propDefinition-heavy registry actions with a static-schema set aligned to the MCP AI-optimized tools playbook. Every prop is visible upfront (no async options / remoteOptions / reloadProps), so the MCP server can serve clean JSONSchema to LLMs. Added: - list-workspaces — identity anchor (Power BI has no /me endpoint) - list-reports — reports in a workspace - list-datasets — datasets in a workspace - list-dashboards — dashboards in a workspace - get-refresh-history - execute-dax-query — POST /executeQueries; description carries DAX syntax - export-report — async export with built-in polling (PDF/PPTX/PNG/...) - add-rows-to-push-dataset — replaces add-rows-dataset-table Rewrote: - refresh-dataset — static schema, returns a structured { status, requestId, datasetId, groupId, location, headers } shape Removed: - add-rows-dataset-table (replaced by add-rows-to-push-dataset) - cancel-refresh (cancel is not a core user intent; Push datasets — the only API-creatable type — never produce cancellable history entries, so the tool was unreachable via the seed-creatable surface) - create-dataset (Push-dataset-only; niche vs. Power BI Desktop) - get-dataset-refresh (superseded by get-refresh-history) App file: - Added _groupPrefix() helper for optional /groups/{id} segment. - Added resolveGroupId({ workspaceId, workspaceName }) — resolves a workspace name server-side so callers don't need two round trips. - Added listGroups, listReports, listDatasets, listDashboards, executeQueries, startReportExport, getReportExportStatus, getReportExportFile. - Extended existing methods (addRowsToTable, refreshDataset, getRefreshHistory, getTables) to accept optional groupId. - Removed cancelRefresh method + refreshId propDefinition (only used by the dropped cancel-refresh action). All actions accept workspaceName as an alternative to workspaceId, or neither for My workspace — eliminates an extra LLM turn on every workspace-scoped call. Validated end-to-end via the MCP eval harness — full evaluation notes and seed setup in pd-connect-eval-monster (evals/microsoft_power_bi). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * microsoft_power_bi: address CodeRabbit feedback + bump dependent versions - Bump get-reports, sources/dataset-refresh-{completed,failed}, sources/new-dataset-refresh-created to satisfy the dependent-version CI check (they transitively depend on the modified app file). - Unbold "My workspace" across all action descriptions (literal term, not a tool name). - refresh-dataset: harden requestId extraction from the Location header — filter empty segments so a trailing slash doesn't suppress the x-ms-request-id fallback. - export-report: distinguish terminal failure vs. poll-timeout in the $summary message. - get-refresh-history: simplify params construction (platform axios strips undefined values). - app: refactor getReportExportFile to delegate to _makeRequest instead of an inline axios call with its own try/catch. Not addressed: the "move shared props to propDefinitions" suggestion on execute-dax-query. These tools are deliberately fully-inlined to stay visible to the MCP server's JSONSchema — propDefinition routes through remoteOptions/async options, which the MCP surface cannot serve. Reply pending on the PR comment. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * microsoft_power_bi: move shared workspace props to app propDefinitions Addresses CodeRabbit feedback on execute-dax-query:64 — fully static propDefinitions are MCP-compatible (unlike `async options`), so the shared workspaceId + workspaceName props belong in the app file. Each action now uses `propDefinition: [app, "workspaceId"]` / `[app, "workspaceName"]` instead of duplicating the shape inline. - Added static workspaceId + workspaceName propDefinitions to the app file (no async options — MCP can serve the JSONSchema unchanged). - Updated 8 actions (add-rows-to-push-dataset, execute-dax-query, export-report, get-refresh-history, list-dashboards, list-datasets, list-reports, refresh-dataset) to reference the app-level defs. Not moved: `datasetId`. The existing app-level `datasetId` propDefinition uses `async options()`, which MCP cannot serve. It's also referenced by `sources/common.mjs` and `get-reports` (non-MCP paths that benefit from the dropdown). Leaving it inlined in MCP actions keeps both paths working without adding a second, differently- named propDefinition. Version bumps (app file changed → all dependents bump): - New MCP actions: 0.0.1 → 0.0.2 (8 files) - refresh-dataset: 0.1.0 → 0.1.1 - Unmodified dependents: get-reports 0.0.4→0.0.5, sources/dataset-refresh-completed 0.0.6→0.0.7, sources/dataset-refresh-failed 0.0.6→0.0.7, sources/new-dataset-refresh-created 0.0.3→0.0.4. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * add example to impersonatedUserName prop description * fix versions * fix source descriptions * improve prop descriptions for agent use --------- Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com> Co-authored-by: Michelle Bergeron <michelle.bergeron@gmail.com>
…ctivity (PipedreamHQ#20669) * make folders for fitbit actions * feat(fitbit): add activity summary action Refs PipedreamHQ#20573 * added steps functionality * added weight/BMI functionality * added tony's code * add MCP actions for steps and weight changed components to comply with guidelines * trying to fix conflicts * revert accidental changes * remove extra quotes * Fix formatting of Authorization header * Added heart r heart rate tool to components * Added heart rate tool * fitbit: remove empty actions and accidental binaries * Readded add heart rate files * feat(fitbit): add sleep and nutrition water tools # Conflicts: # components/fitbit/fitbit.app.mjs * fix body weight and steps to comply with guidelines * Fixed issues in hearrtt rate tool * fix(fitbit): address versioning and lint issues * refactor(fitbit): reuse prop definitions and tighten heart rate inputs * updates * revert .gitignore --------- Co-authored-by: TonyHeeee <donglinh@andrew.cmu.edu> Co-authored-by: Jessica Zheng <jzheng5@andrew.cmu.edu> Co-authored-by: belugaaaaaaaa <126969412+belugaaaaaaaa@users.noreply.github.com> Co-authored-by: Zhanhan Liu <belugazhan@gmail.com> Co-authored-by: Michelle Bergeron <michelle.bergeron@gmail.com> Co-authored-by: michelle0927 <michelle0927@users.noreply.github.com>
…pedreamHQ#20596) * new group actions * versions * Update components/microsoft_entra_id/actions/update-user/update-user.mjs Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * update * version --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
…mHQ#20625) * Initial app file and Create User action * Adding remaining user actions * Adding stage actions * Adding company/account actions * Adding "contact" actions * Adding more actions * Adding order actions * update prop descriptions * add pagination * new actions * pnpm-lock.yaml * pnpm-lock.yaml * updates * updates * update prop descriptions * update * pnpm-lock.yaml --------- Co-authored-by: GTFalcao <gtfalcao96@gmail.com>
* update appointmentId prop * version
…empty results (PipedreamHQ#20694) * fix(google-sheets): return explicit null/[] instead of undefined for empty results get-cell returned implicit undefined for empty cells; get-values-in-range returned undefined when Google API omits the values key for empty ranges; list-worksheets could destructure undefined if the sheets key was absent. All three caused ret to be stripped from the action response JSON, which the Python SDK collapses to None — misleading MCP clients into thinking the action failed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(google-sheets): bump package.json version to 0.14.2 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(google-sheets): add $summary exports and guard nested cell access - get-cell: use values?.[0]?.[0] ?? null to guard against [[]] shape; add $summary for both empty-cell and value-found paths - get-values-in-range: add $summary with row count - list-worksheets: add $summary with worksheet count Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(filepost): add FilePost integration Adds app file and 4 actions for FilePost (https://filepost.dev): - Upload File: from /tmp path or public URL → returns CDN URL - List Files: paginated file listing - Get File: retrieve file metadata by ID - Delete File: delete a file by ID Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(filepost): clarify file_id field in prop description Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(filepost): address CodeRabbit review comments - list-files: clamp page (>=1) and perPage (1-100) before API call - upload-file: add 30s AbortController timeout and 50 MB streaming size guard when downloading from a remote URL Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * updates * updates --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: michelle0927 <michelle0927@users.noreply.github.com> Co-authored-by: Michelle Bergeron <michelle.bergeron@ahp7jvtgvfr.celonis.cloud>
* Bump fast-xml-parser from 5.5.7 to 5.7.0 Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 5.5.7 to 5.7.0. - [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases) - [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md) - [Commits](NaturalIntelligence/fast-xml-parser@v5.5.7...v5.7.0) --- updated-dependencies: - dependency-name: fast-xml-parser dependency-version: 5.7.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> * update * versions * Update components/jenkins/jenkins.app.mjs Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * update --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Michelle Bergeron <michelle.bergeron@gmail.com> Co-authored-by: michelle0927 <michelle0927@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
…ipedreamHQ#20686) * shopify_developer_app: include fulfillment tracking in search_orders Mirror of the change merged in PipedreamHQ#20676 for the shopify app. Expand LIST_ORDERS fulfillments selection to include createdAt, updatedAt, and trackingInfo (number, url, company) so search_orders returns shipment tracking without a separate fetch. * shopify_developer_app: bump all component versions CI requires all component versions to bump together with the package version bump.
- Remove reloadProps from engagementType and override additionalProps to skip schema-driven fields so MCP/agents can set objectProperties in one step - Replace objectType/objectId/associationType propDefinitions (remote options) with plain string props for raw HubSpot IDs - Validate engagementType and association pairs; coerce association type ID - Bump hubspot-create-engagement to 0.0.36
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
MCP and agent hosts often cannot call CONFIGURE_COMPONENT or complete multi-step
reloadPropsflows. Create Engagement usedengagementType.reloadPropspluscommon-createschema-drivenadditionalProps, which required that stack.Changes
reloadPropsfrom Engagement Type and overrideadditionalPropsto return{}, so HubSpot engagement fields are supplied only via Object Properties (JSON) in a single tool invocation.objectType/objectId/associationTypepropDefinition remote options with plain string props so agents can pass raw HubSpot IDs (e.g. from Search CRM).engagementType; require Associated Object ID and Association Type ID together or both omitted; coerce association type to number.hubspot-create-engagementto 0.0.36.Trade-off
The workflow builder no longer expands per-property HubSpot fields after picking an engagement type; authors use Object Properties or dedicated actions (Create Note, Add Note to Contact, etc.) for guided UIs.
Testing
npx eslint components/hubspot/actions/create-engagement/create-engagement.mjs