Connecting Third-Party Integrations
/tools/integrations is the central registry of OAuth and credential connections to external services. Once connected, data flows both ways (push to and pull from the third party).
Supported integrations
- Project management — Asana, ClickUp, Jira, Monday, Notion, Trello
- Communication — Slack, Discord (also a standalone channel), Microsoft Teams
- Email and calendar — Gmail, Google Calendar, Microsoft 365
- CRM — HubSpot, Pipedrive, Salesforce, Zoho
- Other — Stripe (billing), Zapier (catch-all)
Connect an integration
- Tools > Integrations
- Find the provider, click Connect
- Authorise via OAuth (most providers) OR paste API credentials (Twilio, custom Zapier hooks)
- After connection, configure the sync rules:
- What syncs in (e.g. "pull Asana tasks into wrrk Tasks")
- What syncs out (e.g. "push wrrk CRM contacts into HubSpot")
- Field mapping (auto-suggested; edit if needed)
- Frequency (real-time webhook vs polling every N minutes)
Connection management
For each connection, /tools/integrations/[provider] shows:
- Status — connected / paused / errored
- Last sync — timestamp and record count
- Sync log — recent successes and failures with error messages
- Disconnect — revokes the OAuth grant (cleanly; provider-side tokens invalidated too)
Conflict resolution
When both sides update the same record (e.g. a contact's phone in wrrk and in HubSpot simultaneously), the last-write-wins with a 5-minute grace window. Conflict warnings appear in the sync log.
Permissions
To connect/disconnect integrations you need Admin or Owner role. Members can view the integration list but can't modify connections.
Custom integrations
For providers we don't natively support:
- Zapier — connect via Zapier, then map wrrk triggers to any of Zapier's 5000+ apps
- Webhooks — Settings > Webhooks lets you POST wrrk events to any endpoint
- API — see the API & Developers category for direct integration
Troubleshooting
- "Connection errored" — usually a revoked OAuth token. Click Reconnect
- Sync paused — provider rate-limited us. Auto-resumes after a backoff window
- Field mapping mismatch — re-open mapping config; fields may have been renamed on the provider side