The tools your firm already runs on.
TenderWright sits inside your existing stack — SharePoint, Drive, Outlook, your IdP, your CRM. The submission package lands where your team already looks; deadlines hit calendars they already check.
Cloud storage
Microsoft SharePoint
BetaSave submission packages to your firm's SharePoint site. OAuth connector built — connect from Settings → Integrations once your Microsoft app is registered for the tenant.
Backend: routes/oauth_flows.py (connect + callback) · services/sharepoint_storage.py
Google Drive
BetaSave submission packages to Drive; folder per proposal. OAuth connector built — connect from Settings → Integrations once your Google OAuth app is registered.
Backend: routes/oauth_flows.py (connect + callback) · services/google_drive_storage.py
Calendar
Microsoft 365 (Outlook Calendar)
LivePush proposal due dates into Outlook. Submission deadlines sync to the team you assigned.
Backend: routes/calendar_sync.py · services/calendar_sync.py
Google Calendar
BetaBid milestones in your team's calendar. Google Calendar sync is in beta; Microsoft 365 / Outlook is the production path today.
Identity
Okta SSO/SAML
LiveEnterprise SSO. SAML 2.0; SCIM provisioning available on request.
Azure AD
LiveSSO + Conditional Access policies honoured; token lifetimes inherit your IdP settings.
Google Workspace
LiveSSO via Google OAuth. Domain-restricted sign-in; admin consent flow supported.
Payments
Stripe
BetaInvoiced billing for engagement contracts. Stripe integration built; activated during onboarding.
AI inference
Anthropic Claude
LivePrimary inference provider. API tier — per-call only; never trains on your content.
Google Gemini
LiveFallback inference + embeddings. Same — per-call only, no training on your content.
Knowledge base
Atlassian Confluence
RoadmapPublish a won proposal straight to a Confluence space. Atlassian OAuth2 connector built — authorise, resolve your site, list spaces — with page-publish wiring in progress.
Backend: services/confluence_connector.py · routes/oauth_flows.py (connect + callback live; push-to-page on roadmap).
CRM
Salesforce
BetaSync CRM data. OAuth connector built — connect from Settings → Integrations once your Salesforce connected app is registered.
Backend: routes/oauth_flows.py (connect + callback).
HubSpot
BetaSync contacts and deals. OAuth connector built — connect from Settings → Integrations once your HubSpot app credentials are set.
Backend: routes/oauth_flows.py (connect + callback).
PSA / ERP
Deltek Vantagepoint
BetaSync projects from the Deltek A/E ERP. Connector built — connect from Settings → Integrations with your Vantagepoint API client ID, secret, and base URL.
Backend: services/deltek_connector.py · routes/integrations.py (sync).
E-signature
DocuSign
RoadmapSend the final submission for client sign-off. OAuth2 + envelope service implemented; UI wiring in progress.
Backend service complete (services/esignature.py); per-proposal envelope linkage on roadmap.
Custom integration
Webhooks
LiveOutbound webhooks on proposal events: created, status_changed, exported, won, lost. HMAC-signed; configurable per org.
REST API + scoped keys
LiveFull REST API with per-key scoping. Bring your own CRM, BI tool, or pipeline manager — query proposals, projects, people.
Webhooks + REST API. Bring your own.
The full REST API is open to every customer with a scoped key. Outbound webhooks fire on proposal lifecycle events. If your firm runs on Salesforce, HubSpot, Asana, or a homegrown ERP — wire it in a morning, not a quarter.
POST https://your-app.example.com/hooks/tenderwright
X-TenderWright-Signature: sha256=abc123…
{
"event": "proposal.won",
"proposal_id": "p_01HXY…",
"client_name": "Auckland Council",
"fee_total": 145000,
"won_at": "2026-05-07T02:48:00Z"
} Need a specific integration?
Most integrations are scoped during concierge setup. Tell us what your firm runs on; we'll tell you whether it's already wired or how long it takes.