Connectors Setup & Credentials Reference
Aigenzey Cowork connects directly to your external apps and data sources on your behalf. Whether you are an individual personal user or managing an enterprise organization, Cowork provides secure, seamless integrations.
If you are using a Personal Account, you do not need to configure API keys, developer apps, Client IDs, Secrets, or Redirect URIs. All connectors are pre-configured and ready to use out of the box with standard 1-click authorization!
Personal Accounts: Instant 1-Click Connect
For individual productivity users, connecting external tools is completely friction-free:
- Prompt-Driven Just-In-Time Connect: Ask the agent to do something involving an external service (e.g. "Check my upcoming meetings on Google Calendar" or "Draft an email to Alex in Gmail").
- 1-Click Authorization: The agent immediately presents a Connect button in the chat. Clicking it opens the provider's standard OAuth consent dialog.
- Immediate Execution: Once authorized, the agent automatically executes your requested action. You only need to authorize each service once.
You can also manage or disconnect your personal accounts at any time from the Connections tab in the Cowork sidebar.
The remainder of this guide applies strictly to Business & Enterprise Customers whose IT administrators wish to override default credentials, route authentications through their own corporate developer apps, or restrict connector access across their organization.
Business & Enterprise: Custom Corporate App Overrides
While Business workspaces can use platform-managed connections by default, enterprise IT and security compliance policies often require authentications to route through internally owned developer applications (e.g. your company's own Google Cloud Project or Microsoft Entra ID Enterprise App registration).
Organization Administrators can configure custom app credentials and govern connector policies for their entire team from the Admin Panel → Connectors tab.
Enterprise OAuth Scope Standards
Aigenzey Cowork adheres to strict enterprise least-privilege connector standards:
- Principle of Least Privilege: Scopes are strictly limited to the minimum permissions required for agent discovery, reading, and necessary actions (e.g. Gmail scopes deliberately exclude permanent mailbox deletion; Slack scopes use granular MCP container search rather than legacy broad access).
- Native Access Control Lists (ACLs): The agent inherits the exact permissions and role boundaries of the authenticated user. If a user cannot access a document or ticket in the provider's native UI, the agent cannot access it either.
- Federated Real-Time Execution: Rather than dumping bulk data into unmanaged storage, Cowork queries external APIs in real-time under user session context.
Security & Token Isolation
Aigenzey Cowork implements strict individual user scoping for all authentication tokens:
- User-Level Scoping Key: Every authenticated token is keyed by
user_id + organization_idin theconnector_tokensrepository. - Zero Cross-User Sharing: Even for enterprise platforms like Salesforce, HubSpot, NetSuite, or Workday, tokens are strictly private to the user who authorized them. User A cannot view, borrow, or execute actions with credentials authorized by User B.
- Fernet Token Encryption: Tokens are encrypted at rest with AES-128-CBC and HMAC-SHA256 authenticated encryption using
TOKEN_ENCRYPTION_KEY. - Anti-CSRF Signed State: All OAuth redirect flows carry cryptographic signatures generated using
OAUTH_STATE_SECRET, binding the redirect hop to the originating user and organization session. - Automatic Refresh: When an access token nears expiration, the orchestrator transparently uses the stored refresh token to obtain fresh credentials before executing the tool call.
Business Admin Panel Overrides
From the Admin Panel → Connectors section, Organization Administrators have full control over connector behavior:
- Substitute Custom Corporate OAuth Credentials: Supply your organization's custom
CLIENT_ID,CLIENT_SECRET, and tenant/subdomain values so all employee authorizations route through your own verified enterprise apps. - Disable Unapproved Connectors: Hide specific connectors from your organization's catalog. Disabling a connector prevents employees from connecting that service while preserving existing tokens in case it is re-enabled later.
An organization's client ID is never paired with the platform's client secret. When configuring an org override, all required fields (Client ID, Secret, Tenant/Subdomain) must be entered together, or the entire override is rejected.
Authorized Redirect URIs (Business & Enterprise)
When registering custom enterprise OAuth applications in provider developer portals (e.g. Google Cloud Console, Microsoft Entra ID / Azure AD, Atlassian, Salesforce, Slack), configure the Authorized Redirect URI with the Aigenzey Cowork domain (https://cowork.aigenzey.com):
| Connector / Flow | Authorized Redirect URI | Description |
|---|---|---|
| Standard Connectors | https://cowork.aigenzey.com/auth/<connector_slug>/callback | Used for all built-in OAuth integrations (e.g. /auth/google/callback, /auth/slack/callback, /auth/salesforce/callback). |
| Custom MCP OAuth | https://cowork.aigenzey.com/auth/custommcp/callback | Shared redirect URI for custom MCP servers configured with OAuth 2.0. |
Enterprise Provider Matrix & Required OAuth Scopes
Below is the complete reference matrix of supported first-party connectors, their exact connector slugs for the redirect URI, required credential keys, and exact OAuth scope strings.
1. Google Workspace
Configure in Google Cloud Console → APIs & Services → Credentials → OAuth 2.0 Client IDs. Enable the corresponding Google APIs in the API Library.
| Service | Connector Slug (in redirect_uri) | Credential Keys | Required OAuth Scopes |
|---|---|---|---|
| Gmail | google | GOOGLE_GMAIL_CLIENT_IDGOOGLE_GMAIL_CLIENT_SECRET | openidhttps://www.googleapis.com/auth/userinfo.emailhttps://www.googleapis.com/auth/userinfo.profilehttps://www.googleapis.com/auth/gmail.readonlyhttps://www.googleapis.com/auth/gmail.composehttps://www.googleapis.com/auth/gmail.sendhttps://www.googleapis.com/auth/gmail.modify |
| Google Calendar | gcalendar | GCALENDAR_CLIENT_IDGCALENDAR_CLIENT_SECRET | openidhttps://www.googleapis.com/auth/userinfo.emailhttps://www.googleapis.com/auth/userinfo.profilehttps://www.googleapis.com/auth/calendar.readonlyhttps://www.googleapis.com/auth/calendar.events |
| Google Drive | gdrive | GDRIVE_CLIENT_IDGDRIVE_CLIENT_SECRET | openidhttps://www.googleapis.com/auth/userinfo.emailhttps://www.googleapis.com/auth/userinfo.profilehttps://www.googleapis.com/auth/drive.readonly |
| Google Docs | gdocs | GDOCS_CLIENT_IDGDOCS_CLIENT_SECRET | openidhttps://www.googleapis.com/auth/userinfo.emailhttps://www.googleapis.com/auth/userinfo.profilehttps://www.googleapis.com/auth/documents.readonlyhttps://www.googleapis.com/auth/drive.readonly |
| Google Sheets | gsheets | GSHEETS_CLIENT_IDGSHEETS_CLIENT_SECRET | openidhttps://www.googleapis.com/auth/userinfo.emailhttps://www.googleapis.com/auth/userinfo.profilehttps://www.googleapis.com/auth/spreadsheets.readonlyhttps://www.googleapis.com/auth/drive.readonly |
| Google Slides | gslides | GSLIDES_CLIENT_IDGSLIDES_CLIENT_SECRET | openidhttps://www.googleapis.com/auth/userinfo.emailhttps://www.googleapis.com/auth/userinfo.profilehttps://www.googleapis.com/auth/presentations.readonlyhttps://www.googleapis.com/auth/drive.readonly |
| Google Chat | gchat | GCHAT_CLIENT_IDGCHAT_CLIENT_SECRET | openidhttps://www.googleapis.com/auth/userinfo.emailhttps://www.googleapis.com/auth/userinfo.profilehttps://www.googleapis.com/auth/chat.spaces.readonlyhttps://www.googleapis.com/auth/chat.messages.readonly |
| Google Meet | gmeet | GMEET_CLIENT_IDGMEET_CLIENT_SECRET | openidhttps://www.googleapis.com/auth/userinfo.emailhttps://www.googleapis.com/auth/userinfo.profilehttps://www.googleapis.com/auth/meetings.space.readonly |
| Google Tasks | gtasks | GTASKS_CLIENT_IDGTASKS_CLIENT_SECRET | openidhttps://www.googleapis.com/auth/userinfo.emailhttps://www.googleapis.com/auth/userinfo.profilehttps://www.googleapis.com/auth/tasks.readonly |
| Google Contacts | gcontacts | GCONTACTS_CLIENT_IDGCONTACTS_CLIENT_SECRET | openidhttps://www.googleapis.com/auth/userinfo.emailhttps://www.googleapis.com/auth/userinfo.profilehttps://www.googleapis.com/auth/contacts.readonly |
2. Microsoft 365 & Microsoft Graph
Register in Microsoft Entra ID (Azure AD) → App registrations. Add Microsoft Graph Delegated permissions.
| Service | Connector Slug (in redirect_uri) | Required Keys | Exact Microsoft Graph Scopes | Extra Configuration |
|---|---|---|---|---|
| Microsoft Teams | teams | TEAMS_CLIENT_IDTEAMS_CLIENT_SECRET | User.Read, Team.ReadBasic.All, Channel.ReadBasic.All, offline_access | TEAMS_TENANT_ID (Default: "common") |
| Microsoft Outlook | outlook | OUTLOOK_CLIENT_IDOUTLOOK_CLIENT_SECRET | User.Read, Mail.Read, Mail.ReadWrite, Mail.Send, Calendars.Read, Calendars.ReadWrite, offline_access | OUTLOOK_TENANT_ID (Default: "common") |
| Microsoft OneDrive | onedrive | ONEDRIVE_CLIENT_IDONEDRIVE_CLIENT_SECRET | User.Read, Files.Read.All, offline_access | ONEDRIVE_TENANT_ID (Default: "common") |
| Microsoft SharePoint | sharepoint | SHAREPOINT_CLIENT_IDSHAREPOINT_CLIENT_SECRET | User.Read, Sites.Read.All, offline_access | SHAREPOINT_TENANT_ID (Default: "common") |
| Microsoft OneNote | onenote | ONENOTE_CLIENT_IDONENOTE_CLIENT_SECRET | User.Read, Notes.Read.All, offline_access | ONENOTE_TENANT_ID (Default: "common") |
| Microsoft To Do | mstodo | MSTODO_CLIENT_IDMSTODO_CLIENT_SECRET | User.Read, Tasks.Read, offline_access | MSTODO_TENANT_ID (Default: "common") |
| Microsoft Planner | planner | PLANNER_CLIENT_IDPLANNER_CLIENT_SECRET | User.Read, Group.Read.All, Tasks.Read, offline_access | PLANNER_TENANT_ID (Default: "common") |
3. Development & Project Management
| Service | Connector Slug (in redirect_uri) | Required Keys | Exact OAuth Scopes |
|---|---|---|---|
| GitHub | github | GITHUB_CLIENT_IDGITHUB_CLIENT_SECRET | read:user, repo |
| GitLab | gitlab | GITLAB_CLIENT_IDGITLAB_CLIENT_SECRET | read_user, read_api, read_repository |
| Jira (Atlassian) | jira | JIRA_CLIENT_IDJIRA_CLIENT_SECRET | read:jira-work, write:jira-work, read:jira-user, offline_access |
| Confluence (Atlassian) | confluence | CONFLUENCE_CLIENT_IDCONFLUENCE_CLIENT_SECRET | read:confluence-content.all, write:confluence-content, read:confluence-space.summary, offline_access |
| Linear | linear | LINEAR_CLIENT_IDLINEAR_CLIENT_SECRET | read |
| Asana | asana | ASANA_CLIENT_IDASANA_CLIENT_SECRET | default |
| Notion | notion | NOTION_CLIENT_IDNOTION_CLIENT_SECRET | Authorized via Notion installation consent screen |
4. CRM, Revenue & Customer Support
| Service | Connector Slug (in redirect_uri) | Required Keys | Exact Scopes | Extra Configuration |
|---|---|---|---|---|
| Salesforce CRM | salesforce | SALESFORCE_CLIENT_IDSALESFORCE_CLIENT_SECRET | api, refresh_token, offline_access, mcp_api, sfap_api | SALESFORCE_LOGIN_URLSALESFORCE_ALLOWED_DEPARTMENTS |
| HubSpot CRM | hubspot | HUBSPOT_CLIENT_IDHUBSPOT_CLIENT_SECRET | crm.objects.contacts.read, crm.objects.deals.read, oauth | HUBSPOT_ALLOWED_DEPARTMENTS |
| Stripe | stripe | STRIPE_CLIENT_IDSTRIPE_CLIENT_SECRET | read_only | STRIPE_ALLOWED_DEPARTMENTS |
| Zendesk | zendesk | ZENDESK_CLIENT_IDZENDESK_CLIENT_SECRET | read | ZENDESK_SUBDOMAIN *(Required)* |
| Slack | slack | SLACK_CLIENT_IDSLACK_CLIENT_SECRET | search:read.public, search:read.private, search:read.mpim, search:read.im, search:read.files, search:read.users,channels:history, groups:history, mpim:history, im:history,channels:read, groups:read, mpim:read,files:read, users:read, users:read.email, emoji:read,chat:write, reactions:write | User token flow for Slack MCP server |
| Intercom | intercom | INTERCOM_CLIENT_IDINTERCOM_CLIENT_SECRET | Configured inside Intercom Developer App console | |
| Zoom | zoom | ZOOM_CLIENT_IDZOOM_CLIENT_SECRET | user:read, meeting:read | |
| Discord | discord | DISCORD_CLIENT_IDDISCORD_CLIENT_SECRET | identify, guilds |
5. ERP, HR & Enterprise ITSM
| Service | Connector Slug (in redirect_uri) | Required Keys | Exact Scopes | Extra Configuration |
|---|---|---|---|---|
| Workday | workday | WORKDAY_CLIENT_IDWORKDAY_CLIENT_SECRET | Configured via Workday Integration System User (ISU) security groups | WORKDAY_HOST, WORKDAY_TENANT, WORKDAY_ALLOWED_DEPARTMENTS |
| Rippling | rippling | RIPPLING_CLIENT_IDRIPPLING_CLIENT_SECRET | Configured in Rippling App manifest | RIPPLING_APP_NAME, RIPPLING_ALLOWED_DEPARTMENTS |
| BambooHR | bamboohr | BAMBOOHR_CLIENT_IDBAMBOOHR_CLIENT_SECRET | offline_access | BAMBOOHR_SUBDOMAIN, BAMBOOHR_ALLOWED_DEPARTMENTS |
| Oracle NetSuite | netsuite | NETSUITE_CLIENT_IDNETSUITE_CLIENT_SECRET | rest_webservices, offline_access | NETSUITE_ACCOUNT_ID, NETSUITE_ALLOWED_DEPARTMENTS (PKCE) |
| ServiceNow | servicenow | SERVICENOW_CLIENT_IDSERVICENOW_CLIENT_SECRET | useraccount (REST Table API & Incident/Knowledge access) | SERVICENOW_INSTANCE, SERVICENOW_ALLOWED_DEPARTMENTS |
| Monday.com | monday | MONDAY_CLIENT_IDMONDAY_CLIENT_SECRET | me:read, boards:read | MONDAY_ALLOWED_DEPARTMENTS |
| Box | box | BOX_CLIENT_IDBOX_CLIENT_SECRET | root_readonly | |
| Dropbox | dropbox | DROPBOX_CLIENT_IDDROPBOX_CLIENT_SECRET | account_info.read, files.metadata.read, files.content.read | |
| DocuSign | docusign | DOCUSIGN_CLIENT_IDDOCUSIGN_CLIENT_SECRET | signature, impersonation |
6. Zoho Enterprise Suite
All Zoho services include AaaServer.profile.READ to resolve the user's identity, plus service-specific read/write scopes.
| Zoho Service | Connector Slug (in redirect_uri) | Client ID / Secret Variables | Exact Scopes | Hosts & Settings |
|---|---|---|---|---|
| Zoho Mail | zohomail | ZOHOMAIL_CLIENT_ID / _SECRET | AaaServer.profile.READ, ZohoMail.accounts.READ, ZohoMail.folders.READ, ZohoMail.messages.READ, ZohoMail.messages.CREATE | ZOHO_ACCOUNTS_HOST |
| Zoho Calendar | zohocalendar | ZOHOCALENDAR_CLIENT_ID / _SECRET | AaaServer.profile.READ, ZohoCalendar.calendar.READ, ZohoCalendar.event.READ, ZohoCalendar.event.CREATE, ZohoCalendar.event.UPDATE, ZohoCalendar.event.DELETE | ZOHO_ACCOUNTS_HOST |
| Zoho CRM | zohocrm | ZOHOCRM_CLIENT_ID / _SECRET | AaaServer.profile.READ, ZohoCRM.users.READ, ZohoCRM.settings.READ, ZohoCRM.modules.READ, ZohoCRM.modules.accounts.READ, ZohoCRM.modules.contacts.READ, ZohoCRM.modules.leads.READ, ZohoCRM.modules.deals.READ, ZohoCRM.org.READ | ZOHO_ACCOUNTS_HOST, ZOHOCRM_ALLOWED_DEPARTMENTS |
| Zoho Desk | zohodesk | ZOHODESK_CLIENT_ID / _SECRET | AaaServer.profile.READ, Desk.basic.READ, Desk.tickets.READ, Desk.contacts.READ | ZOHO_ACCOUNTS_HOST |
| Zoho Projects | zohoprojects | ZOHOPROJECTS_CLIENT_ID / _SECRET | AaaServer.profile.READ, ZohoProjects.portals.READ, ZohoProjects.projects.READ, ZohoProjects.tasks.READ | ZOHO_ACCOUNTS_HOST |
| Zoho Books | zohobooks | ZOHOBOOKS_CLIENT_ID / _SECRET | AaaServer.profile.READ, ZohoBooks.settings.READ, ZohoBooks.contacts.READ, ZohoBooks.invoices.READ | ZOHO_ACCOUNTS_HOST, ZOHOBOOKS_ALLOWED_DEPARTMENTS |
| Zoho People | zohopeople | ZOHOPEOPLE_CLIENT_ID / _SECRET | AaaServer.profile.READ, ZOHOPEOPLE.forms.READ, ZOHOPEOPLE.employee.READ | ZOHO_ACCOUNTS_HOST, ZOHOPEOPLE_ALLOWED_DEPARTMENTS |
| Zoho WorkDrive | zohoworkdrive | ZOHOWORKDRIVE_CLIENT_ID / _SECRET | AaaServer.profile.READ, WorkDrive.workspace.READ, WorkDrive.team.READ, WorkDrive.teamfolders.READ, WorkDrive.files.READ, WorkDrive.files.ALL | ZOHO_ACCOUNTS_HOST, ZOHO_WORKDRIVE_API_HOST |
| Zoho Writer | zohowriter | ZOHOWRITER_CLIENT_ID / _SECRET | AaaServer.profile.READ, ZohoWriter.document.READ, ZohoWriter.document.ALL | ZOHO_ACCOUNTS_HOST, ZOHO_WRITER_API_HOST |
| Zoho Sheet | zohosheet | ZOHOSHEET_CLIENT_ID / _SECRET | AaaServer.profile.READ, ZohoSheet.dataAPI.READ, ZohoSheet.dataAPI.ALL | ZOHO_ACCOUNTS_HOST, ZOHO_SHEET_API_HOST |
| Zoho Show | zohoshow | ZOHOSHOW_CLIENT_ID / _SECRET | AaaServer.profile.READ, ZohoShow.presentation.READ, ZohoShow.presentation.ALL | ZOHO_ACCOUNTS_HOST, ZOHO_SHOW_API_HOST |
7. Social Media Platforms
| Platform | Connector Slug (in redirect_uri) | Required Keys | Exact Scopes | Notes |
|---|---|---|---|---|
instagram | INSTAGRAM_CLIENT_IDINSTAGRAM_CLIENT_SECRET | instagram_business_basic, instagram_business_manage_comments, instagram_business_content_publish, instagram_business_manage_messages | Requires an Instagram Professional account. | |
| Facebook Pages | facebook | FACEBOOK_CLIENT_IDFACEBOOK_CLIENT_SECRET | public_profile, pages_show_list, pages_read_engagement, pages_manage_posts, pages_manage_engagement, pages_read_user_content, business_management | Operates on Pages the user administers. |
| X (Twitter) | twitter | TWITTER_CLIENT_IDTWITTER_CLIENT_SECRET | tweet.read, tweet.write, users.read, offline.access | OAuth 2.0 PKCE. Requires paid X Developer tier. |
linkedin | LINKEDIN_CLIENT_IDLINKEDIN_CLIENT_SECRET | openid, profile, email, w_member_social | Requires "Share on LinkedIn" product in developer app. | |
| TikTok | tiktok | TIKTOK_CLIENT_IDTIKTOK_CLIENT_SECRET | user.info.basic, video.list, video.publish, video.upload | Content posting by public media URL. |
Custom Connectors & MCP Servers (Business & Enterprise)
In addition to built-in providers, users and administrators can dynamically register custom integrations by clicking New custom connector on the Connections screen.
1. Custom Model Context Protocol (MCP) Servers
Connects to any remote MCP server over Server-Sent Events (SSE) or streamable HTTP. The agent dynamically fetches tool declarations from the MCP server at runtime.
- Endpoint URL: The SSE / HTTP stream URL of the MCP server (e.g.
https://mcp.internal.company.com/sse). - Authentication Types (
auth_type):headers: Static secret headers (e.g.Authorization: Bearer <token>orX-API-Key).oauth2: Full dynamic OAuth 2.0 authorization-code flow against your custom OAuth provider. Redirects land on the sharedhttps://cowork.aigenzey.com/auth/custommcp/callbackroute.none: Unauthenticated local or internal endpoints.
2. Custom OpenAPI & REST Services
- OpenAPI Specification: Provide a public or authenticated OpenAPI 3.0/3.1 JSON/YAML URL. Cowork inspects endpoints, parameters, and schemas to generate callable agent tools.
- REST API / Simple HTTP: Configure custom base URLs, HTTP methods (GET, POST, PUT, DELETE), header templates, and JSON request bodies for internal microservices.
Database & Data Sources (Business & Enterprise)
Connect relational databases and search clusters to allow Cowork to run read-only queries, generate analytic charts, and reconcile financial figures:
- Supported Engines: PostgreSQL, MySQL, MongoDB, Elasticsearch, Redis, ClickHouse, Snowflake, and Oracle.
- Integration Method: Added as Custom MCP database endpoints or secure read-only SQL wrappers with parameter sanitization.
- Mandatory Connection Testing: To prevent runtime failures in agent tasks, a connection test must succeed before any custom connector or database configuration can be saved. The backend executes a stateless live probe against the credentials; saving remains disabled if
last_test_okis false.