Connect GitHub (Fondoo GitHub App) to Fondoo
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.
- 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.
sync_releasespulls in the latest 30 releases on demand.get_release_contentshows 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_pris 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.
- Open the Fondoo GitHub App install link and choose the account or organization that owns the repository.
- Choose Only select repositories → Select repositories, and pick your app's repository.
- 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.
- Click Install, or Install and request / Request if an owner must approve.
- 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).
…/settings/installations/12345678. GitHub does not document this address format, so it may differ for your account. Fondoo support can confirm the ID. - Note the repository as
owner/name, for exampleacme/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-256header, an HMAC-SHA256 of the raw body, before doing anything else (validating deliveries). - Only
releaseevents with actionpublished, for an installation and repository you have bound, are accepted.
Test that it works
- Run
get_connection_health({siteId}). The GitHub entry should show a recent success. - 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. - Review the diff and run your build. Merge only when you are happy.
- 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_githubfails 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_githubfirst, 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.
Official links
- Installing a GitHub App: https://docs.github.com/en/apps/using-github-apps/installing-a-github-app-from-a-third-party
- Reviewing and modifying installed apps: https://docs.github.com/en/apps/using-github-apps/reviewing-and-modifying-installed-github-apps
- Approving updated permissions: https://docs.github.com/en/apps/using-github-apps/approving-updated-permissions-for-a-github-app
- Validating webhook deliveries: https://docs.github.com/en/webhooks/using-webhooks/validating-webhook-deliveries
- Webhook events (release): https://docs.github.com/en/webhooks/webhook-events-and-payloads
