App
An app is the code you write plus a record in Settings → Developer → Apps. Any member of a workspace can create apps, on every plan. The record holds:- The app’s name, slug, icon and description. The slug is unique across Reintersect and appears in
hosted URLs (
<slug>.reintersect.app) and agent tool names. - A client ID and client secret. The secret is shown once; your server uses the pair to get install tokens. Rotating it stops the old secret at once.
- A signing secret that signs every delivery. See Webhooks and security.
- Environment variables for the preview and production environments. See Environment and config.
- Claimed link domains, trusted GitHub repositories and install redirect URIs.
- Its versions, installs, recent deliveries and, for hosted apps, runtime logs.
reintersect dev creates a personal development app the first time you run it, so you can start
without visiting the dashboard. Archiving an app suspends every install and stops its events; hosted
apps are taken down.
Distribution
There is no public directory of apps.
Version
Every deploy, manifest sync andreintersect dev run that changes something creates an immutable
version, numbered from 1. A version records the manifest Reintersect derives from your code (blocks,
actions, references, events, commands, message actions, scopes, outbound hosts, claimed domains, environment
variable names and the MCP server) and, for hosted apps, the bundle.
You never write the manifest by hand. reintersect dev, reintersect deploy and the
GitHub Action compute it from the exported app. See Manifest.
See Previews and versions.
Install
An install connects one version of an app to one workspace. There are two kinds:
An app has at most one workspace install per workspace and one development install per member.
Each workspace install has its own install config and its own install tokens, which last one hour.
Your app keeps at most the install id; see Client.
The app as an author
Replies, notifications and blocks your app creates are attributed to the app, with its name and icon. Blocks also carry a quiet “via <app name>” line. When an action runs because a member clicked a button, your code receives the member asactor and makes its own authorization decisions with
that identity.