SaaS connectors

A form comes in, Slack lights up

Four outbound paths are built into the connector gateway: Slack, Notion, HubSpot, Salesforce. The code and the tests are done — the live provider round trip is not.

StatusReady to connect
  • destinations
  • calls per project per day
  • same key, one send
  • live round trips yet
  • outbound only
  • fields echoed back

All four are implemented and unit-tested. Real provider round trips: zero so far.

What this is

Your app pushes out instead of waiting to be checked.

An app nobody opens is an app nobody reads. These connectors let a generated app post where your team already is: a message in a Slack channel, a row in a Notion database, a contact in HubSpot, a lead in Salesforce. All four are called the same way from app code, with the same idempotency and quota rules as payments and email.

How to use it

Key in, destination picked, done.

Credentials are per project. They go in through an authenticated path and cannot be read back out.

  1. Store the credential

    Paste the provider token into project secrets. It is write-only: your workspace can set it, never read it.

  2. Pick the destination

    Slack takes a channel id, Notion takes a database id. Ids, not display names.

  3. Let the app call it

    Your form handler calls the connector. Failures come back as a specific reason, not a blank screen.

What is in the code

Four paths and their rules.

Every number below is a constant in the connector gateway, not an aspiration.

  1. Slack message

    Posts to a channel id starting with C. Message text is capped at 2,000 characters.

  2. Notion row

    Appends one page to a database. Titles are capped at 200 characters.

  3. HubSpot contact

    Email is the natural key, so the same address updates the record instead of duplicating it.

  4. Salesforce lead

    Only hosts ending in my.salesforce.com are allowed, and only one label in front of it.

  5. 2,000 calls a day

    Counted per project. Past the limit the gateway refuses until the next day.

  6. One send per key

    Every call carries an idempotency key. A double submit produces one message, not two.

What it will not do

Read this before you promise it to a client.

The biggest limitation is first because it is the one that matters.

Nothing has actually been sent yet

App registration and token issuance for all four providers are still open. Live round trips stand at zero. Treat this as wired-and-waiting, not proven in production.

Outbound only

There is no path that reads Slack threads or pulls a Notion database back into your app.

Channel names are rejected

A name like #sales can be renamed, and then your app quietly posts somewhere else. Only ids are accepted.

Provider responses are filtered

Raw provider bodies carry personal data and internal ids. Your app receives only the fields we pick.

Next

Connector credentials are project secrets, so the security pages are the useful next read.