diff --git a/backend/windmill-api/openapi.yaml b/backend/windmill-api/openapi.yaml index 029ffba769..e0950dbe92 100644 --- a/backend/windmill-api/openapi.yaml +++ b/backend/windmill-api/openapi.yaml @@ -21118,7 +21118,7 @@ paths: /w/{workspace}/native_triggers/integrations/{service_name}/workspace_connection: post: - summary: share one of your connections with every member of the workspace, or stop sharing + summary: share a connection of this service with every member of the workspace (admin only), or stop sharing operationId: setNativeTriggerWorkspaceConnection tags: - workspace_integration diff --git a/frontend/src/lib/components/workspaceSettings/WorkspaceIntegrations.svelte b/frontend/src/lib/components/workspaceSettings/WorkspaceIntegrations.svelte index 4add8fb5cf..e1b8672e03 100644 --- a/frontend/src/lib/components/workspaceSettings/WorkspaceIntegrations.svelte +++ b/frontend/src/lib/components/workspaceSettings/WorkspaceIntegrations.svelte @@ -157,17 +157,27 @@ } } - async function setWorkspaceConnection(serviceName: string, path: string | undefined): Promise { + async function setWorkspaceConnection( + serviceName: string, + path: string | undefined + ): Promise { if (!$workspaceStore) return false const displayName = supportedServices[serviceName]?.displayName ?? serviceName if (path) { const owner = connections[serviceName]?.find((c) => c.path === path)?.owner const account = owner ? `this account, connected by ${owner}` : 'this account' + const browsable: string | undefined = ( + { google: 'its Drive files and calendars', github: 'its repositories' } as Record< + string, + string + > + )[serviceName] + const browse = browsable ? `, and browse ${browsable} in the trigger editor` : '' const confirmed = await confirmationModal.ask({ title: `Share ${path} with the workspace?`, confirmationText: 'Share', - children: `Every member will be able to create and edit ${displayName} triggers that act as ${account}. They will not see its token. It replaces any connection shared before.` + children: `Every member will be able to create and edit ${displayName} triggers that act as ${account}${browse}. They will not see its token. It replaces any connection shared before.` }) if (!confirmed) return false } else { @@ -194,7 +204,6 @@ } } - function docsItem(config: ServiceConfig): Item[] { return config.docsUrl ? [{ displayName: 'Docs', icon: ExternalLink, href: config.docsUrl, hrefTarget: '_blank' }] @@ -372,7 +381,10 @@ {#if serviceName === 'nextcloud' && !workspaceConnection} - + We recommend connecting one below and sharing it with the workspace. {/if} @@ -380,7 +392,8 @@
Shared account
- Members can create triggers as this account without seeing its token. + Members can create triggers as this account and pick from what it can access, + without seeing its token.