Connect your stack

Works with the tools you already run.

Sign in with your work identity, read documents where they live, and route alerts to your channels. We read from the systems you connect and never write back to them.

Document sources · read only

Read your documents where they live.

Your answer library is already written. It is in the last thirty bids, sitting in the places your team already keeps them, and CrowMark reads it there rather than asking you to upload it again.

  • SharePoint

    Sites.Read.All

    A Microsoft Graph application permission your tenant administrator grants. It reads site content and cannot change it.

  • OneDrive for Business

    Files.Read.All

    The same tenant-granted Graph permission, over files rather than sites. Personal OneDrive accounts are not supported.

  • Confluence Cloud

    Your own permissions

    An API token issued by you. It inherits exactly the spaces your own account can already open, and nothing is escalated.

Every scope above is a read permission. We do not write to your files, move them, rename them or delete them, and the connection cannot be used to change a setting in your tenant. SharePoint and OneDrive are granted by your own Microsoft administrator, so you can see exactly what was consented to and withdraw it without asking us.

Identity and SSO

Use the directory you already administer.

Single sign-on through any SAML 2.0 identity provider, with users provisioned and deprovisioned from your directory rather than from a spreadsheet.

  • Okta

    SAML 2.0, sign-in only

    Entity ID, sign-on URL and signing certificate. The assertion says who is signing in.

  • Microsoft Entra ID

    SAML 2.0, sign-in only

    Configured the same way as every other provider, with no Entra-specific path in the code.

  • Google Workspace

    SAML 2.0, sign-in only

    A custom SAML app in the Google admin console, pointed at the metadata URL we publish.

  • Ping Identity

    SAML 2.0, sign-in only

    Same three fields. Signed assertions are required and unsigned ones are rejected.

  • OneLogin

    SAML 2.0, sign-in only

    Same three fields. No app listing to install and nothing to approve on our side.

  • Any SAML 2.0 provider

    SAML 2.0, sign-in only

    Including a self-hosted identity provider. If it issues a signed SAML 2.0 assertion, it works.

What comes with it

  • SCIM 2.0 provisioning, so joiners and leavers are handled by your directory
  • Domain verification by DNS record before a domain can be claimed
  • Signed assertions required; an unsigned one is rejected rather than trusted
  • Enforcement, so an organisation can require single sign-on and close the password route

There is no app to install at your end and no provider-specific path in our code. You give us an entity ID, a sign-on URL and a signing certificate, which is why the list above is examples rather than a limit. OIDC is not supported yet, and is on the roadmap rather than in the product.

Collaboration · outbound

Alerts where your team works.

Push a deadline or a delivery-evidence reminder straight into the channel your team already checks, and write an evidence export into a folder you choose.

  • Slack

    chat:write

    Posts a message into the channel you authorise. It does not read your history or your files.

  • Microsoft Teams

    ChannelMessage.Send

    Sends a message into the channel you pick. It cannot change a setting in your tenant.

  • Google Drive

    drive.file

    Creates the export files it writes, and can open no other file in your Drive.

These three write, which is the whole point of them, so they are named here rather than folded into the read-only list above. Each one goes outward to a channel or a folder you configure, and none of them is a source we read from. A connector is authorised per organisation and can be disconnected from the same screen it was connected on.

Outbound webhooks

Wire CrowMark into the tools you already automate.

A rule can post its event to any URL you own, so a deadline in CrowMark can start a workflow in whatever your team already runs.

What the webhook gives you

  • A URL you set, on any host you control, with no app to install at either end
  • An optional secret header, so the receiver can prove the request came from us
  • The event and the record it fired on, as JSON, in the request body
  • No inbound access: a webhook is something we send, never a way in

This is deliberately a plain HTTP POST rather than a badge for a named automation platform. Anything that accepts an incoming webhook can receive it, and nothing on this page claims a packaged integration we have not built.

Automation rules

Trigger, condition, action.

Build a rule in the app: pick an event, set the conditions that matter, and choose what happens. No engineering ticket required.

  1. Trigger

    An event fires

    A tender deadline is approaching. CrowMark sweeps for them once a day and fires the rules that match.

  2. Conditions

    Filters you set

    How many days before the deadline you want to hear about it: 7, 14, 30, 60 or 90.

  3. Action

    What happens next

    Post to a webhook, send an email, or raise an in-app alert to the owner you name.

One trigger runs today, and it is the deadline sweep: CrowMark checks once a day for tender deadlines inside the window you set and fires the rules that match. Naming the others would mean publishing events that are defined and cannot yet fire, which is the kind of claim this site strips rather than ships.

One place

Connect once, bid from one place.

Every connector reads only what it needs, cites the statute behind each figure, and keeps your data in the UK.