Integrations

Apps

An installed app acts as its own bot on the repositories you give it, even when nobody is online. Its bot is listed among the organization's members but takes no seat, so installing an app adds no seats. Apps GitCafe lists in the directory can be installed by any organization; an app that is not listed can be installed only by the organization that publishes it and by organizations GitCafe admitted to its pilot.

Find an app

The directory at /apps shows every listed app by category (coding agents, code review, CI and deploys, security and quality, workflow automation), with a search. Organization owners and admins also reach it from Browse apps in the organization's Apps settings.

An app's page shows its publisher, its description, what it does on its own as its bot, what people may do through it as themselves, the events it receives and links to its website, support and privacy policy. When you are signed in, Your organizations lists each organization you belong to with what you can do there: Install, Manage an installation it already has, or Request it from the organization's admins.

Install an app

Organization owners and admins install apps.

  1. Choose Install on the app's page, or follow the install link the publisher gave you, and choose the organization.
  2. Review the consent page: the app's name and publisher, what it does, and its permissions in plain words grouped by repositories, pull requests, issues, comments, organization and teams, each marked Read, Write or Admin. Permissions that publish, move, delete or change who has access are marked Destructive; those marked Owner only need an organization owner to install. Org-wide permissions (organization settings, organization members, team members) act on the whole organization, not just the repositories the app can reach: they can give people access to all current and future repositories, and their changes stay after you uninstall the app. Under People, the page also says whether members may Assign issues and pull requests to the app and Mention it. Details shows the exact app ID, revision and manifest you are approving.
  3. Under Repository access, choose All repositories, which covers every current and future repository in the organization, private ones included, or Only select repositories… and pick up to 50. Nothing is chosen for you, and Install stays unavailable until you choose. Selected access never covers repositories created later, except ones the bot creates itself when it may create repositories.
  4. Choose Install (the button names the app) and confirm it's you if asked.

If the app has a setup page, GitCafe then sends you there to finish setting it up; otherwise you land on the app's page in your settings. If the publisher released a new version while the consent page was open, nothing is installed. Choose Review changes, check the permissions again, and install. An organization can have up to ten installed apps.

Request an app

Members who cannot install apps choose Request next to the organization on the app's page, optionally say why, and choose Send request. The organization's owners and admins see it under Requests in Apps: Approve opens the consent page, where you choose its repository access, and installing approves every pending request for that app; Deny takes an optional reason. The member sees the answer, with the reason, on the app's page and can ask again. An organization holds up to 25 pending requests.

How an app shows up

Each installation gets a bot with its own handle, such as @amp-acme. Its comments, reviews and mention suggestions show the app's icon and name with a Bot badge, and its name links to the bot's profile. The bot can act only on the repositories it can reach, within the listed permissions; it cannot use other repositories, including public ones. Each permission covers exactly what it names: labeling issues does not let the bot close them, and leaving review comments does not let it approve or dismiss reviews. An app you allow to Approve or request changes counts toward required reviews like a person does; like a person, it cannot approve its own pull requests. Webhooks an app creates send only events from repositories it can reach, stop while it is paused and are deleted when you uninstall it. Apps cannot change organization or team rulesets, which also cover repositories it cannot reach. No app can install apps, manage billing or close the organization.

Bots where people work

The organization's Members page lists each installed app's bot under Apps, with who installed it, the repositories it can reach (their names for owners and admins, a count for other members) and when it was last issued a token (Last token issued: when the app last asked for access, not proof that it did anything). Its profile, at its handle (such as /amp-acme), shows the app, its publisher, your organization and the issues, pull requests and review requests assigned to it that you can see. Only members of the organization that installed it can open the profile.

If the app asks for it:

  • Assign issues and pull requests to the bot from the assignee picker, where bots are listed under Bots after people. The bot must be able to read the issue or pull request in a repository it can reach.
  • Request a review from the bot when it may also Write reviews or Approve or request changes. Its approval counts like a person's.
  • Mention the bot with @ in a comment; the suggestions list only bots that may be mentioned in the repository.

A paused or suspended app, or one that lost the repository, is not offered and cannot be assigned or asked for a review. A bot that was already assigned or asked stays, with a warning in the sidebar and the picker, until someone removes it; other changes to the assignees and reviewers still save, and keeping it tells the app nothing. The sidebar shows who assigned each assignee and who asked each reviewer, and the app is told through its webhook when it is assigned, unassigned or asked (see App webhooks).

Apps that let members act as themselves attribute that work to the member: Alice via Hoplite, without a Bot badge. Its avatar shows the app's icon with the member's own picture in the corner.

Manage an installed app

Apps lists each installed app with who installed it and when, when it was last issued a token (Last token issued), the repositories it can reach and whether it is active. Choose an app to open its page: its bot, what it does on its own, what people may do through it and its repository access.

  • Manage repositories: switch between All repositories and Only select repositories…, or change the selection, and choose Save repository access. Giving the app more access may ask you to confirm it's you. If someone else changed the installation meanwhile, nothing is saved; choose Start over.
  • Pause (in the ⋯ menu): stops the app at once until you choose Resume.
  • Suspended means GitCafe suspended the app in every organization. It can't act until GitCafe lifts the suspension, and there is no Resume for it.
  • Uninstall (in the ⋯ menu): stops the installation's access and tokens. It does not delete data the publisher already holds; ask the publisher to delete it. Comments the bot made stay attributed to it.
  • People connected (for apps members can connect to act as themselves): the members who connected the app here, with the audiences each connection covers, its repositories and permissions, when they connected and when it last issued a token (Last token issued). Remove access works as in Connections below.

Changing repository access, pausing and uninstalling stop the access tokens the app already holds; the app requests new ones when it may act again.

See and remove members' connections

Connections in the organization's settings lists every app and client that people connected to act as themselves on this organization's repositories: installed apps and unverified clients such as MCP apps alike, each with Authorized by its number of people, newest first, with Load more when there are more. It includes everyone whose connection reaches the organization, whether through membership, a repository role or a team's role. Owners and admins can open one to see each person's connection: its audiences (API, MCP, Git), its repositories here, its permissions, when they connected and when it last issued a token (Last token issued; using a token does not update it).

Remove access ends that person's connection for this organization's repositories only: reads, writes, Git and MCP stop at once, lists leave the organization's repositories out, and reconnecting does not bring it back. The member's connection keeps working in other organizations. Restore lifts the removal; it gives access back, so it asks you to confirm it's you.

Review an update

When a publisher changes an app, the app keeps what you approved until you review the change. Its row in Apps shows Update available; choose Review update from its actions to see what the new revision changes: permissions added, raised, lowered or removed, for the bot and for people who connect it; how people can connect it (API, MCP, Git); where it sends events and which ones; and whether people can assign or @mention its bot.

Choose Approve update to adopt it. Approving may ask you to confirm it's you, and an app with owner-level permissions needs an organization owner for every update. If the publisher changed the app again meanwhile, nothing changes; choose Review changes to see the newest revision. The app keeps its bot and repositories. Tokens it already holds keep their old permissions until it requests new ones.

Anything a publisher removes leaves every installation at once, without a review: the app's tokens lose it at their next use.

Publish an app

Organization owners and admins publish apps in the organization's Settings → Apps, under Your apps. Choose New app and fill in:

  • App: its icon, name, slug (part of every installation's bot handle; it never changes) and a one-line summary.
  • Listing: a category and Markdown description for the app directory, and its homepage, support and privacy policy links.
  • Acts on its own: the bot's name, whether people can assign it work and request its review (Assignable) or @mention it (Mentionable), and what the bot may do. Set one level per resource, or open Details for exact permissions. Owner-only and destructive permissions are marked.
  • Acts for people: whether members can connect the app to act as themselves, through which of API, MCP and Git, the most they can let it do, and its OAuth redirect URIs.
  • Setup and webhooks: an optional setup URL admins go to after installing, and the webhook URL and events, by category. Each event needs the bot to read what it describes; the form says which read access is missing and adds it with Add read access.

Create app saves revision 1 and may ask you to confirm it's you. When the app has webhooks, its signing secret shows once; copy it then.

Choose Edit on an app to change it. Save as revision N seals the next revision; if someone else saved a revision after you opened the form, nothing is saved, and Start over opens the newest one. Installations keep what they approved until their admins review the update; anything you remove leaves them at once. The slug, signing keys and webhook secret don't change with a revision.

Apps and their P-256 public signing keys can also be managed with the Apps operations of the REST API. Private keys never leave your backend.

To appear in the directory, give the manifest a listing (its category and a Markdown description) and ask GitCafe to list it. Give it a capabilities.setup_url to receive admins after they install: GitCafe adds installation_id, org and the install link's state as query parameters. Link people to /apps/<slug>/install?state=<value>, where the state is up to 256 letters, digits, ., _, ~ or -.

The publishing organization's Apps page lists its apps under Your apps, with each key's creation, last use and revocation. To retire a key, choose Revoke. Select This key is compromised to also stop every token already issued to the app's installations; installations work again once the app requests tokens with another key.

Choose Add icon (or Change icon) to upload the app's icon: a PNG, JPEG, GIF, WebP or AVIF image up to 1 MiB, as for avatars. It shows in the directory, on the consent page, in each organization's Apps list and on every installation's bot, including work the bot did before the change.

Read as MarkdownGitCafe documentation
Documentation