Uh oh!
There was an error while loading. Please reload this page.
feat(custom-blocks): add deploy_custom_block copilot tool - #5532
Conversation
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryMedium Risk Overview Introduces Syncs the generated tool catalog/schemas for Reviewed by Cursor Bugbot for commit 9e9abd0. Bugbot is set up for automated code reviews on this repo. Configure here. |
Greptile SummaryThis PR adds copilot support for deploying workflows as custom blocks. The main changes are:
Confidence Score: 5/5This looks safe to merge.
Important Files Changed
Reviews (5): Last reviewed commit: "fix(custom-blocks): enterprise gate appl..." | Re-trigger Greptile |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
2f03767 to
0239a78CompareUh oh!
There was an error while loading. Please reload this page.
|
TheodoreSpeaks
commented
Jul 10, 2026
@greptile review |
Uh oh!
There was an error while loading. Please reload this page.
TheodoreSpeaks
commented
Jul 10, 2026
@greptile review |
Uh oh!
There was an error while loading. Please reload this page.
TheodoreSpeaks
commented
Jul 10, 2026
@greptile review |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 0b2184b. Configure here.
Uh oh!
There was an error while loading. Please reload this page.
TheodoreSpeaks
commented
Jul 10, 2026
@greptile review |
1ef3e8d to
160c866Compare… bounds, whitespace name
160c866 to
9e9abd0CompareUh oh!
There was an error while loading. Please reload this page.

Summary
deploy_custom_blockcopilot tool handler: the deploy agent can publish a deployed workflow as an org-wide custom block, update it in place (re-deploy upserts), or unpublish withaction: undeployensureWorkflowAccess(denied → clean "requires admin permission" message),deploy-as-blockflag, enterprise plan; audit events recorded withsource: copiloticonUrlaccepts a workspace file VFS path (files/icon.png) — bytes are copied into the publicworkspace-logoscontext (key prefixed so the serve route treats it as public) so the icon renders org-wide; external URLs pass throughcomputeWorkspaceEntitlements(workspaceId, userId)(flag + enterprise →['custom-blocks'], 5s promise cache) sent asentitlementsin every mothership payload — interactive chat (both branches),/api/mothership/execute(executor block + scheduled tasks), and the inbox executor. The Go side hides the custom-block tool/prompt/skill entirely when absent; fail-closedeligibleOrgForWorkspacenow takes an optionaluserIdso per-user flag targeting matches the REST routesDeployCustomBlock; regen formatting churn intool-schemas-v1.tsis from the current generator)getCustomBlockWithInputsByWorkflowIdoperation + shared row-hydration helperCompanion PR simstudioai/mothership#346 adds the tool definition, deploy agent wiring, entitlement gating, prompts, and skill — this handler is inert until that ships.
Type of Change
Testing
Tested manually end-to-end via Chat (published a block with a generated icon, verified render + upsert). 15 handler tests incl. icon ingestion + permission errors, payload pass-through tests. lint, type-check, and check:api-validation:strict pass.
Checklist
Companion: simstudioai/mothership#346