Skip to main content
Integrations

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

Beta

Save 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

Beta

Save 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)

Live

Push proposal due dates into Outlook. Submission deadlines sync to the team you assigned.

Backend: routes/calendar_sync.py · services/calendar_sync.py

Google Calendar

Beta

Bid milestones in your team's calendar. Google Calendar sync is in beta; Microsoft 365 / Outlook is the production path today.

Identity

Okta SSO/SAML

Live

Enterprise SSO. SAML 2.0; SCIM provisioning available on request.

Azure AD

Live

SSO + Conditional Access policies honoured; token lifetimes inherit your IdP settings.

Google Workspace

Live

SSO via Google OAuth. Domain-restricted sign-in; admin consent flow supported.

Payments

Stripe

Beta

Invoiced billing for engagement contracts. Stripe integration built; activated during onboarding.

AI inference

Anthropic Claude

Live

Primary inference provider. API tier — per-call only; never trains on your content.

Google Gemini

Live

Fallback inference + embeddings. Same — per-call only, no training on your content.

Knowledge base

Atlassian Confluence

Roadmap

Publish 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

Beta

Sync CRM data. OAuth connector built — connect from Settings → Integrations once your Salesforce connected app is registered.

Backend: routes/oauth_flows.py (connect + callback).

HubSpot

Beta

Sync 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

Beta

Sync 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

Roadmap

Send 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

Live

Outbound webhooks on proposal events: created, status_changed, exported, won, lost. HMAC-signed; configurable per org.

REST API + scoped keys

Live

Full REST API with per-key scoping. Bring your own CRM, BI tool, or pipeline manager — query proposals, projects, people.

Don't see yours?

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.

# Outbound webhook — proposal won
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.