hasarakMinimalModern

Integrations

Build your own connector. It's one URL.

Anything that answers HTTP can be a Hasarak connector. The protocol is written in OpenAPI, with a small TypeScript SDK for Cloudflare Workers or Bun; both are being prepared for publishing.

Status Early: the connector protocol spec and the TypeScript SDK aren't published yet. Installing a connector by URL works today.

Custom connector (HTTP) in Hasarak

  • One HTTP endpoint

    Hasarak POSTs actions to your URL (install, refresh, event, invoke, tool, remove) and your connector answers with JSON.

  • Scoped permissions

    Ask for channels:read, messages:read, messages:write, pages:read, pages:write or connector:<name>. Calls outside them answer 403.

  • Events and callbacks

    Subscribe to events like message.created or page.changed, then call the Hasarak API back with a short-lived token sent with every action.

  • Tools for MCP

    Declare tools and they show up in the workspace's MCP server as tools.<your connector>.<tool>(input).

How a connector works

A connector is a URL. When something happens that it subscribed to, Hasarak sends a POST with the action, the installation and an API URL plus a token that works for five minutes. The connector does its work, calls back into the Hasarak API within its permissions, and answers with JSON. Failed deliveries are retried with backoff, so handlers should be safe to run twice.

Connectors post as their own member (conn-<name>), so their messages are clearly labelled, and they can’t see DMs.

Write one in a few lines

The @hasarak/sdk package (not published yet) wraps the protocol for TypeScript. defineConnector takes a manifest and handlers, and returns a Worker-style fetch handler that deploys to Cloudflare Workers or runs under Bun.serve. Any other language works too: the contract is plain OpenAPI.

The first-party Cursor, ChatGPT, PostHog, GitHub and Linear connectors are built exactly this way.

Install it by URL

In Settings › Connectors, choose to install by URL and paste your endpoint. Hasarak asks the connector for its manifest, shows the permissions it wants, and installs it. Later permission requests wait in settings until someone approves them.

For a complete walkthrough with code, with and without the SDK and compared with Slack and Discord bots, read Build a chat bot with a single HTTP endpoint.

Build your own connector. It's one URL.

Start free