AigenzeyDocs
Home/Docs/Connectors Setup Reference

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.

Personal Users: Zero Setup Required

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:

  1. 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").
  2. 1-Click Authorization: The agent immediately presents a Connect button in the chat. Clicking it opens the provider's standard OAuth consent dialog.
  3. 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.


Business & Enterprise Customers Only

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_id in the connector_tokens repository.
  • 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:

  1. 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.
  2. 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.
All-or-Nothing Rule

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 / FlowAuthorized Redirect URIDescription
Standard Connectorshttps://cowork.aigenzey.com/auth/<connector_slug>/callbackUsed for all built-in OAuth integrations (e.g. /auth/google/callback, /auth/slack/callback, /auth/salesforce/callback).
Custom MCP OAuthhttps://cowork.aigenzey.com/auth/custommcp/callbackShared 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 ConsoleAPIs & ServicesCredentialsOAuth 2.0 Client IDs. Enable the corresponding Google APIs in the API Library.

ServiceConnector Slug (in redirect_uri)Credential KeysRequired OAuth Scopes
GmailgoogleGOOGLE_GMAIL_CLIENT_ID
GOOGLE_GMAIL_CLIENT_SECRET
openid
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/gmail.readonly
https://www.googleapis.com/auth/gmail.compose
https://www.googleapis.com/auth/gmail.send
https://www.googleapis.com/auth/gmail.modify
Google CalendargcalendarGCALENDAR_CLIENT_ID
GCALENDAR_CLIENT_SECRET
openid
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/calendar.readonly
https://www.googleapis.com/auth/calendar.events
Google DrivegdriveGDRIVE_CLIENT_ID
GDRIVE_CLIENT_SECRET
openid
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/drive.readonly
Google DocsgdocsGDOCS_CLIENT_ID
GDOCS_CLIENT_SECRET
openid
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/documents.readonly
https://www.googleapis.com/auth/drive.readonly
Google SheetsgsheetsGSHEETS_CLIENT_ID
GSHEETS_CLIENT_SECRET
openid
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/spreadsheets.readonly
https://www.googleapis.com/auth/drive.readonly
Google SlidesgslidesGSLIDES_CLIENT_ID
GSLIDES_CLIENT_SECRET
openid
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/presentations.readonly
https://www.googleapis.com/auth/drive.readonly
Google ChatgchatGCHAT_CLIENT_ID
GCHAT_CLIENT_SECRET
openid
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/chat.spaces.readonly
https://www.googleapis.com/auth/chat.messages.readonly
Google MeetgmeetGMEET_CLIENT_ID
GMEET_CLIENT_SECRET
openid
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/meetings.space.readonly
Google TasksgtasksGTASKS_CLIENT_ID
GTASKS_CLIENT_SECRET
openid
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/tasks.readonly
Google ContactsgcontactsGCONTACTS_CLIENT_ID
GCONTACTS_CLIENT_SECRET
openid
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://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.

ServiceConnector Slug (in redirect_uri)Required KeysExact Microsoft Graph ScopesExtra Configuration
Microsoft TeamsteamsTEAMS_CLIENT_ID
TEAMS_CLIENT_SECRET
User.Read, Team.ReadBasic.All, Channel.ReadBasic.All, offline_accessTEAMS_TENANT_ID (Default: "common")
Microsoft OutlookoutlookOUTLOOK_CLIENT_ID
OUTLOOK_CLIENT_SECRET
User.Read, Mail.Read, Mail.ReadWrite, Mail.Send, Calendars.Read, Calendars.ReadWrite, offline_accessOUTLOOK_TENANT_ID (Default: "common")
Microsoft OneDriveonedriveONEDRIVE_CLIENT_ID
ONEDRIVE_CLIENT_SECRET
User.Read, Files.Read.All, offline_accessONEDRIVE_TENANT_ID (Default: "common")
Microsoft SharePointsharepointSHAREPOINT_CLIENT_ID
SHAREPOINT_CLIENT_SECRET
User.Read, Sites.Read.All, offline_accessSHAREPOINT_TENANT_ID (Default: "common")
Microsoft OneNoteonenoteONENOTE_CLIENT_ID
ONENOTE_CLIENT_SECRET
User.Read, Notes.Read.All, offline_accessONENOTE_TENANT_ID (Default: "common")
Microsoft To DomstodoMSTODO_CLIENT_ID
MSTODO_CLIENT_SECRET
User.Read, Tasks.Read, offline_accessMSTODO_TENANT_ID (Default: "common")
Microsoft PlannerplannerPLANNER_CLIENT_ID
PLANNER_CLIENT_SECRET
User.Read, Group.Read.All, Tasks.Read, offline_accessPLANNER_TENANT_ID (Default: "common")

3. Development & Project Management

ServiceConnector Slug (in redirect_uri)Required KeysExact OAuth Scopes
GitHubgithubGITHUB_CLIENT_ID
GITHUB_CLIENT_SECRET
read:user, repo
GitLabgitlabGITLAB_CLIENT_ID
GITLAB_CLIENT_SECRET
read_user, read_api, read_repository
Jira (Atlassian)jiraJIRA_CLIENT_ID
JIRA_CLIENT_SECRET
read:jira-work, write:jira-work, read:jira-user, offline_access
Confluence (Atlassian)confluenceCONFLUENCE_CLIENT_ID
CONFLUENCE_CLIENT_SECRET
read:confluence-content.all, write:confluence-content, read:confluence-space.summary, offline_access
LinearlinearLINEAR_CLIENT_ID
LINEAR_CLIENT_SECRET
read
AsanaasanaASANA_CLIENT_ID
ASANA_CLIENT_SECRET
default
NotionnotionNOTION_CLIENT_ID
NOTION_CLIENT_SECRET
Authorized via Notion installation consent screen

4. CRM, Revenue & Customer Support

ServiceConnector Slug (in redirect_uri)Required KeysExact ScopesExtra Configuration
Salesforce CRMsalesforceSALESFORCE_CLIENT_ID
SALESFORCE_CLIENT_SECRET
api, refresh_token, offline_access, mcp_api, sfap_apiSALESFORCE_LOGIN_URL
SALESFORCE_ALLOWED_DEPARTMENTS
HubSpot CRMhubspotHUBSPOT_CLIENT_ID
HUBSPOT_CLIENT_SECRET
crm.objects.contacts.read, crm.objects.deals.read, oauthHUBSPOT_ALLOWED_DEPARTMENTS
StripestripeSTRIPE_CLIENT_ID
STRIPE_CLIENT_SECRET
read_onlySTRIPE_ALLOWED_DEPARTMENTS
ZendeskzendeskZENDESK_CLIENT_ID
ZENDESK_CLIENT_SECRET
readZENDESK_SUBDOMAIN *(Required)*
SlackslackSLACK_CLIENT_ID
SLACK_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
IntercomintercomINTERCOM_CLIENT_ID
INTERCOM_CLIENT_SECRET
Configured inside Intercom Developer App console
ZoomzoomZOOM_CLIENT_ID
ZOOM_CLIENT_SECRET
user:read, meeting:read
DiscorddiscordDISCORD_CLIENT_ID
DISCORD_CLIENT_SECRET
identify, guilds

5. ERP, HR & Enterprise ITSM

ServiceConnector Slug (in redirect_uri)Required KeysExact ScopesExtra Configuration
WorkdayworkdayWORKDAY_CLIENT_ID
WORKDAY_CLIENT_SECRET
Configured via Workday Integration System User (ISU) security groupsWORKDAY_HOST, WORKDAY_TENANT, WORKDAY_ALLOWED_DEPARTMENTS
RipplingripplingRIPPLING_CLIENT_ID
RIPPLING_CLIENT_SECRET
Configured in Rippling App manifestRIPPLING_APP_NAME, RIPPLING_ALLOWED_DEPARTMENTS
BambooHRbamboohrBAMBOOHR_CLIENT_ID
BAMBOOHR_CLIENT_SECRET
offline_accessBAMBOOHR_SUBDOMAIN, BAMBOOHR_ALLOWED_DEPARTMENTS
Oracle NetSuitenetsuiteNETSUITE_CLIENT_ID
NETSUITE_CLIENT_SECRET
rest_webservices, offline_accessNETSUITE_ACCOUNT_ID, NETSUITE_ALLOWED_DEPARTMENTS (PKCE)
ServiceNowservicenowSERVICENOW_CLIENT_ID
SERVICENOW_CLIENT_SECRET
useraccount (REST Table API & Incident/Knowledge access)SERVICENOW_INSTANCE, SERVICENOW_ALLOWED_DEPARTMENTS
Monday.commondayMONDAY_CLIENT_ID
MONDAY_CLIENT_SECRET
me:read, boards:readMONDAY_ALLOWED_DEPARTMENTS
BoxboxBOX_CLIENT_ID
BOX_CLIENT_SECRET
root_readonly
DropboxdropboxDROPBOX_CLIENT_ID
DROPBOX_CLIENT_SECRET
account_info.read, files.metadata.read, files.content.read
DocuSigndocusignDOCUSIGN_CLIENT_ID
DOCUSIGN_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 ServiceConnector Slug (in redirect_uri)Client ID / Secret VariablesExact ScopesHosts & Settings
Zoho MailzohomailZOHOMAIL_CLIENT_ID / _SECRETAaaServer.profile.READ, ZohoMail.accounts.READ, ZohoMail.folders.READ, ZohoMail.messages.READ, ZohoMail.messages.CREATEZOHO_ACCOUNTS_HOST
Zoho CalendarzohocalendarZOHOCALENDAR_CLIENT_ID / _SECRETAaaServer.profile.READ, ZohoCalendar.calendar.READ, ZohoCalendar.event.READ, ZohoCalendar.event.CREATE, ZohoCalendar.event.UPDATE, ZohoCalendar.event.DELETEZOHO_ACCOUNTS_HOST
Zoho CRMzohocrmZOHOCRM_CLIENT_ID / _SECRETAaaServer.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.READZOHO_ACCOUNTS_HOST, ZOHOCRM_ALLOWED_DEPARTMENTS
Zoho DeskzohodeskZOHODESK_CLIENT_ID / _SECRETAaaServer.profile.READ, Desk.basic.READ, Desk.tickets.READ, Desk.contacts.READZOHO_ACCOUNTS_HOST
Zoho ProjectszohoprojectsZOHOPROJECTS_CLIENT_ID / _SECRETAaaServer.profile.READ, ZohoProjects.portals.READ, ZohoProjects.projects.READ, ZohoProjects.tasks.READZOHO_ACCOUNTS_HOST
Zoho BookszohobooksZOHOBOOKS_CLIENT_ID / _SECRETAaaServer.profile.READ, ZohoBooks.settings.READ, ZohoBooks.contacts.READ, ZohoBooks.invoices.READZOHO_ACCOUNTS_HOST, ZOHOBOOKS_ALLOWED_DEPARTMENTS
Zoho PeoplezohopeopleZOHOPEOPLE_CLIENT_ID / _SECRETAaaServer.profile.READ, ZOHOPEOPLE.forms.READ, ZOHOPEOPLE.employee.READZOHO_ACCOUNTS_HOST, ZOHOPEOPLE_ALLOWED_DEPARTMENTS
Zoho WorkDrivezohoworkdriveZOHOWORKDRIVE_CLIENT_ID / _SECRETAaaServer.profile.READ, WorkDrive.workspace.READ, WorkDrive.team.READ, WorkDrive.teamfolders.READ, WorkDrive.files.READ, WorkDrive.files.ALLZOHO_ACCOUNTS_HOST, ZOHO_WORKDRIVE_API_HOST
Zoho WriterzohowriterZOHOWRITER_CLIENT_ID / _SECRETAaaServer.profile.READ, ZohoWriter.document.READ, ZohoWriter.document.ALLZOHO_ACCOUNTS_HOST, ZOHO_WRITER_API_HOST
Zoho SheetzohosheetZOHOSHEET_CLIENT_ID / _SECRETAaaServer.profile.READ, ZohoSheet.dataAPI.READ, ZohoSheet.dataAPI.ALLZOHO_ACCOUNTS_HOST, ZOHO_SHEET_API_HOST
Zoho ShowzohoshowZOHOSHOW_CLIENT_ID / _SECRETAaaServer.profile.READ, ZohoShow.presentation.READ, ZohoShow.presentation.ALLZOHO_ACCOUNTS_HOST, ZOHO_SHOW_API_HOST

7. Social Media Platforms

PlatformConnector Slug (in redirect_uri)Required KeysExact ScopesNotes
InstagraminstagramINSTAGRAM_CLIENT_ID
INSTAGRAM_CLIENT_SECRET
instagram_business_basic, instagram_business_manage_comments, instagram_business_content_publish, instagram_business_manage_messagesRequires an Instagram Professional account.
Facebook PagesfacebookFACEBOOK_CLIENT_ID
FACEBOOK_CLIENT_SECRET
public_profile, pages_show_list, pages_read_engagement, pages_manage_posts, pages_manage_engagement, pages_read_user_content, business_managementOperates on Pages the user administers.
X (Twitter)twitterTWITTER_CLIENT_ID
TWITTER_CLIENT_SECRET
tweet.read, tweet.write, users.read, offline.accessOAuth 2.0 PKCE. Requires paid X Developer tier.
LinkedInlinkedinLINKEDIN_CLIENT_ID
LINKEDIN_CLIENT_SECRET
openid, profile, email, w_member_socialRequires "Share on LinkedIn" product in developer app.
TikToktiktokTIKTOK_CLIENT_ID
TIKTOK_CLIENT_SECRET
user.info.basic, video.list, video.publish, video.uploadContent 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> or X-API-Key).
    • oauth2: Full dynamic OAuth 2.0 authorization-code flow against your custom OAuth provider. Redirects land on the shared https://cowork.aigenzey.com/auth/custommcp/callback route.
    • 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_ok is false.