Connect GitHub (Fondoo GitHub App) to Fondoo

Live5 min readUpdated

Connecting GitHub through the Fondoo GitHub App links one repository to your business. Your AI agent can then open pull requests that add Fondoo analytics, signup forms and checkout to your app's code, for you to review and merge. Fondoo also hears about your published releases and drafts changelog, blog, social and newsletter content from them. Fondoo never merges code on its own.

What Fondoo can do with it

  • Open an integration pull request. create_integration_pr({siteId, offerId?}) reads your repository and detects the framework: Next.js, Vite/React, Astro, SvelteKit, Nuxt or plain HTML. It then creates a new branch (fondoo/integrate-…), one commit and a pull request titled "Connect Fondoo analytics, forms and paid access". The pull request adds:
    • the analytics tag;
    • the waitlist form helper;
    • checkout links (if you pass a pricing offerId) or checkout TODOs;
    • server-only SDK examples;
    • SEO fixes for exact static HTML routes.
    Anything Fondoo is unsure about becomes a TODO note in the pull request, not a guess. Existing files it did not scan are left alone.
  • Turn releases into content. When you publish a GitHub release in the bound repository, Fondoo records it. Each release becomes:
    • a changelog page;
    • a blog draft (an unchecked draft, never auto-published);
    • social drafts;
    • a newsletter section draft.
    Draft releases are ignored, and a repeated delivery of the same release is processed once. sync_releases pulls in the latest 30 releases on demand. get_release_content shows progress. Release processing must be enabled on your Fondoo server.
  • Health check. get_connection_health({siteId}) checks that the installation can still reach the repository.

Approval rules:

  • Binding the repository (connect_github) is an owner-only action. An agent cannot do it with its own key.
  • create_integration_pr is an ordinary write that agents can run. It only proposes changes; you review and merge the pull request yourself.

Before you start

  • A GitHub repository for your app, on a personal account or an organization.
  • Permission to install apps on that account or organization. On an organization, a member without owner rights can only request the installation, and an owner must approve it (installing a GitHub App).
  • The Fondoo GitHub App install link. It is provided by your Fondoo operator. On hosted Fondoo, ask support if you do not have it. The dashboard does not currently show it.
  • Your Fondoo business ID. Your agent can look it up.
  • There is no GitHub cost.

Step by step: get your credentials

There is no token to copy. You install the app and tell Fondoo which installation and repository to use.

  1. Open the Fondoo GitHub App install link and choose the account or organization that owns the repository.
  2. Choose Only select repositories → Select repositories, and pick your app's repository.
  3. Review the permissions. The app needs:
    • Contents: read and write, to read code and push the pull-request branch.
    • Pull requests: read and write, to open the pull request.
    • Read-only Metadata.
    • A subscription to release events.
  4. Click Install, or Install and request / Request if an owner must approve.
  5. Find the installation ID. It is a number:
    • Personal account: go to Settings → Applications → Installed GitHub Apps and click Configure next to the Fondoo app.
    • Organization: go to the organization's Settings → GitHub Apps and click Configure (reviewing installed apps).
    The installation ID usually appears at the end of that page's address, for example …/settings/installations/12345678. GitHub does not document this address format, so it may differ for your account. Fondoo support can confirm the ID.
  6. Note the repository as owner/name, for example acme/web-app.

Connect it in Fondoo

In the dashboard: open Connections, find the GitHub card under Available → Development (the one without a Use a key button), and click Connect GitHub. The Connect securely link (valid 15 minutes) shows these steps. Binding the repository is then done with connect_github, below.

By asking your agent. For example:

"I installed the Fondoo GitHub App on acme/web-app, installation 12345678. Open a pull request that adds Fondoo to my app."

The agent can call connect_service({provider:"github", siteId}) for the instruction link. You, as owner, then bind the repository:

connect_github({businessId, installationId:"12345678", repo:"acme/web-app"})

Fondoo checks that the installation can reach that repository before saving. It also registers the repository as the release source for every site in the business. Then the agent can run:

create_integration_pr({siteId, offerId})

REST: POST https://api.getfondoo.com/v1/ops/connect_github with your owner credential in Authorization: Bearer … and {"businessId":"…","installationId":"12345678","repo":"acme/web-app"}. POST /v1/ops/create_integration_pr takes {"siteId":"…"}.

This connection does not use add_connection_key or test_connection. Use get_connection_health instead.

Webhooks

You do not set up a webhook. Release events reach Fondoo through the GitHub App's own webhook, which the Fondoo operator configures to POST /webhooks/github.

  • Fondoo checks every delivery's X-Hub-Signature-256 header, an HMAC-SHA256 of the raw body, before doing anything else (validating deliveries).
  • Only release events with action published, for an installation and repository you have bound, are accepted.

Test that it works

  1. Run get_connection_health({siteId}). The GitHub entry should show a recent success.
  2. Ask your agent to run create_integration_pr({siteId}). A new pull request should appear in your repository listing the detected framework and any TODOs.
  3. Review the diff and run your build. Merge only when you are happy.
  4. Optionally, publish a release and check get_release_content.

Troubleshooting

  • "GitHub App is not configured". The Fondoo server has no GitHub App set up. Contact your Fondoo operator.
  • connect_github fails to verify the repository. The installation does not include that repository, the ID is wrong, or the organization owner has not approved the request yet. Add the repository under Configure → Repository access and Save.
  • "GitHub binding" not found when opening a pull request. Run connect_github first, for the business that owns the site.
  • The pull request fails to open. The app lacks Contents or Pull requests write access. If Fondoo asks for new permissions later, GitHub notifies the account owner. The app keeps its old permissions until the owner accepts.
  • Releases do not create content. Only published (not draft) releases count. Release processing must also be enabled on the server. Try sync_releases.

Limits, data and security

  • What Fondoo stores: the installation ID, repository name, business binding and last success or error. No GitHub token is stored long term; Fondoo requests short-lived installation tokens when needed. Release data is stored to build drafts.
  • GitHub and pull-request actions cannot be rolled back by Fondoo. Close any unwanted pull request on GitHub.
  • Disconnect: Fondoo currently has no operation that deletes the binding. To stop access, go to Configure on the installed app and remove the repository, Suspend it, or Uninstall it. Access ends immediately.