This repository was archived by the owner on Jul 8, 2026. It is now read-only.
Commit 7c06b27
authored
feat: global connections per organization (#1433)
# Global Connections Management System
## Summary
Introduces organization-level global connections that can be shared
across all projects within an organization. This feature allows users to
create, edit, and delete connections at the organization level, making
them available for use in triggers across any project.
**Key highlights:**
- New dedicated `/connections` page for managing global connections
- Side-drawer for quick access to global connections from anywhere in
the app
- Integration with triggers via grouped select showing both project and
global connections
- Feature flag controlled (`VITE_DISPLAY_GLOBAL_CONNECTIONS`)
---
## Changes
### New Features
**Global Connections Management**
- New `/connections` route with full CRUD operations for
organization-level connections
- Resizable split-panel UI with connections list and edit form
- Connection status display with error handling
- Delete confirmation modal with safety warnings
**Global Connections Drawer**
- Side-drawer accessible from sidebar for quick connection management
- Supports add/edit modes without leaving current context
- Keyboard navigation (Escape key support)
**Grouped Select Component**
- New `GroupedSelect` molecule for categorized dropdown options
- Used in trigger forms to show connections grouped by scope (Project vs
Organization)
- Visual indicators ("Global" badge) for organization-level connections
**Connection Status Button**
- New `ConnectionStatusButton` atom for displaying connection health
- Shows error messages and provides quick access to configuration
---
### Modified Components
**Trigger Form (`nameAndConnection.tsx`)**
- Integrated global connections alongside project connections
- Grouped dropdown showing:
- Base trigger types (Schedule, Webhook)
- Project connections
- Organization (global) connections with "Global" label
**Connection Add/Edit Forms**
- Added `isGlobalConnection` and `isDrawerMode` props
- Conditional behavior based on connection scope
- Support for both page and drawer contexts
**Sidebar & Topbar**
- Added "Connections" menu item in sidebar (feature-flagged)
- Event-based drawer toggle integration
---
### Bug Fixes
- Fixed Google JSON key connection setup issues
- Fixed Google connections authentication flow
- Renamed `jsonKey.tsx` to `json.tsx` for consistency in Google auth
methods
---
## Feature Flag
Enable with environment variable:
```bash
VITE_DISPLAY_GLOBAL_CONNECTIONS=true
```
## Screenshots/Demo
## What type of PR is this? (check all applicable)
- [x] 💡 (feat) - A new feature (non-breaking change which adds
functionality)
- [ ] 🔄 (refactor) - Code Refactoring - A code change that neither fixes
a bug nor adds a feature
- [ ] 🐞 (fix) - Bug Fix (non-breaking change which fixes an issue)
- [ ] 🏎 (perf) - Optimization
- [ ] 📄 (docs) - Documentation - Documentation only changes
- [ ] 📄 (test) - Tests - Adding missing tests or correcting existing
tests
- [ ] ⚙️ (ci) - Continuous Integrations - Changes to our CI
configuration files and scripts (example scopes: Travis, Circle,
BrowserStack, SauceLabs)
- [ ] ☑️ (chore) - Chores - Other changes that don't modify src or test
files
- [ ] ↩️ (revert) - Reverts - Reverts a previous commit(s).
<!--
For a timely review/response, please avoid force-pushing additional
commits if your PR already received reviews or comments.
Before submitting a Pull Request, please ensure you've done the
following:
- 👷♀️ Create small PRs. In most cases this will be possible.
- ✅ Provide tests for your changes.
- 📝 Use descriptive commit messages (as described below).
- 📗 Update any related documentation and include any relevant
screenshots.
Commit Message Structure (all lower-case):
<type>(optional ticket number): <description>
[optional body]
-->1 parent 0a1758f commit 7c06b27
246 files changed
Lines changed: 4575 additions & 578 deletions
File tree
- .github/workflows
- .husky
- e2e
- constants
- fixtures
- pages
- project
- connections
- buttonPresence.visual.spec.ts-snapshots
- files
- triggers
- scripts
- src
- assets
- image
- icons
- sidebar
- templates
- components
- atoms
- buttons
- table
- molecules
- select
- organisms
- configuration
- connections
- integrations
- anthropic
- asana
- auth0
- aws
- confluence
- discord
- github
- googleGemini
- googlecalendar
- authMethods
- googleforms
- authMethods
- google
- authMethods
- hubspot
- jira
- kubernetes
- linear
- microsoft/teams
- notion
- openAI
- pipedrive
- reddit
- salesforce
- slack
- telegram
- twilio
- zoom
- triggers
- formParts
- variables
- eventsDrawer
- globalConnectionsDrawer
- globalConnections
- table
- sidebar
- topbar
- pages
- templates
- constants
- components
- connections
- forms
- lists/connections
- enums
- components
- hooks
- interfaces
- components
- forms
- hooks
- store
- locales/en
- buttons
- connections
- errors
- integrations
- services
- sidebar
- tabs
- models
- services
- store
- types
- models
- stores
- utilities
- utils
- validations
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
136 | 136 | | |
137 | 137 | | |
138 | 138 | | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
139 | 142 | | |
140 | 143 | | |
141 | 144 | | |
| |||
149 | 152 | | |
150 | 153 | | |
151 | 154 | | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
152 | 221 | | |
153 | 222 | | |
154 | 223 | | |
| |||
183 | 252 | | |
184 | 253 | | |
185 | 254 | | |
186 | | - | |
| 255 | + | |
187 | 256 | | |
188 | 257 | | |
189 | 258 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
11 | 35 | | |
12 | 36 | | |
13 | 37 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
863 | 863 | | |
864 | 864 | | |
865 | 865 | | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
10 | | - | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
11 | 22 | | |
12 | 23 | | |
13 | | - | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
14 | 28 | | |
15 | 29 | | |
16 | 30 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
0 commit comments