Skip to content
Sign in

Get started

Get your first report

Updated

On this page

Connect GitHub, let Zof map your services, publish a release policy, and get a check on your first pull request.

Time varies with GitHub approval, the number of repositories and your repository’s checks.

A new company's Home starts with guided steps instead of the dashboard: Connect GitHub, Map your services, Choose a release policy, then First pull request check. They show only while Zof knows the company has no data yet (no runs, releases or pull request checks) and only in its first two weeks. Go to dashboard leaves them at any time, and Home remembers that choice in this browser. Once the company has data, Home shows the dashboard; until setup is finished, a short tip above it points to the next step, such as Choose a policy, and you can dismiss it. Every persona sees the same steps.

Create your company

Sign in with a verified email. If you do not belong to a company, enter a Company name and choose Create company. The next step, Connect GitHub, lets you connect GitHub straight away, or choose Skip for now and connect later from Home or Integrations. To join an existing company, ask its admin for an invite.

If a company has invited your verified email, Zof shows Join with the company's name instead of Create company. Choose it to join that company; you don't need the invite link. If more than one company invited you, choose which to join. Create a new company instead keeps the company form. Already invited to a company? Check again looks for invites again and says what it found: none for your email, or an invite that has expired and needs resending. Joining still works while sign-ups are paused. If the company requires SSO, Zof asks you to sign out and sign in with your company's SSO before you join; the invite stays valid.

If you came from a free trial link, your 14-day trial starts when you create the company: $5 of credits, no card. If you came from a plan's link, you go to payment for that plan next. Otherwise Zof asks How do you want to start?: choose Start free trial, or Choose a plan to pay monthly. Each email gets one free trial; if yours already had one, Zof says so and shows the plans. If Zof invited your email with credits, those credits are your trial and this step is skipped. While the trial runs, Home says so under the welcome, and the top bar shows the days left; see Free trial.

Company creation moves to the next step automatically. If the response takes longer than expected, Zof stops the spinner and lets you try Create company again without refreshing. Your company name stays in the form, and retrying confirms a company that was already saved. Start free trial also lets you retry if its response takes too long.

After you pay on Stripe's page, Zof shows Confirming your payment… until Stripe confirms the payment, usually within seconds. Then Go to Home opens your first steps. If you leave the payment page, the payment fails, or you choose Decide later, Home says "Finish setting up to start testing" until the company has a plan or a trial. A company admin can choose Continue to payment, or Start a 14-day free trial instead if the email hasn't had a trial. Everyone else sees that their admin needs to choose a plan.

If sign-ups are paused, check again later or contact us.

If Zof invited your email with credits, see Invitation credits.

Before you start

Have a repository where you can open a small pull request. A company admin connects GitHub. GitHub may also require an organization owner's approval. If you cannot complete an action, ask someone with the required access.

Connect GitHub account

  1. On Home, under Connect GitHub to get started, choose Connect GitHub.
  2. Approve GitHub access if prompted, then return to Home, pick the account to connect under GitHub account, and choose Continue.
  3. If the Zof App is not installed, GitHub asks you to choose repositories and approve it. Installation is part of this flow.
  4. Return to Home. Zof finishes the connection and starts mapping your repositories.

Until GitHub confirms the install, Home's setup tip says Zof is waiting for GitHub to confirm it; choose Check again there. If a GitHub organization owner must approve the app first, the connect step says so. Zof saves the selected account for 30 days. Completing the company connection requires a company admin with the necessary GitHub admin access. Use your company's main Zof address to connect. Integrations remains available to manage the connection.

Once GitHub is connected, and while automatic pull request runs are on, Home says once: "Zof runs your tests on every new pull request; each run uses credits. Turn this off in Settings." Settings opens the switch; anyone who can't change it sees "Ask an admin to turn this off." instead. Dismiss the notice to hide it in this browser.

Your personal GitHub login and the company's App installation are separate. Signing in to Zof with GitHub doesn't install the Zof app on your organization. If the Zof app is removed from your organization on GitHub, Zof shows it as not installed: install it again with Connect GitHub. Disconnecting your login does not uninstall the App or stop company checks.

If Integrations shows App removed or Needs review, a company admin follows Recover an unavailable connection. The GitHub setup step stays unfinished while that problem remains.

Map your services

After you connect GitHub, Home shows Mapping your services: each connected repository with Reading…, Ready or Couldn't read, and how many are ready. It updates by itself while the page is open, and you can leave the page meanwhile. If an update can't be read, Home keeps the last progress on screen and says it's the last update until the next one arrives. A repository that couldn't be read shows why, with Retry, which opens that repository's page in Integrations. If Zof has no repository yet, choose Choose repositories to pick them in GitHub.

Explore your map opens Topology as soon as one repository is ready. When every repository has been read, Home shows Your map is ready with the number of services, connections and tier-1 services found, and any repository that couldn't be read.

To review or change what Zof found, see Set up your system map. The map is stored through the System Graph; reviewing a stored map does not create a commit in your repository.

Publish your first policy

Installation creates no default policy. Until one is live, the check on pull requests says “No release policy yet”.

  1. On Home, choose Choose a release policy.
  2. Pick a template. The recommended one is selected first.
  3. Choose Set up your release policy. Zof saves the template as your draft and opens Release policies.
  4. Review its rules, test it on recent pull requests, and publish.

Once a draft is saved, Home moves on to the first pull request step. Someone who can't publish policies sees Ask an admin to choose a release policy and can choose Continue. On the dashboard, the setup tip's Choose a policy opens Release policies, where you can Start from a template or Start from scratch. If the tip asks you to connect your GitHub account, choose Connect GitHub: Zof checks your GitHub role before you can choose a release policy. Home's setup status names any check it couldn't read, such as the release policy, with Try again.

See Edit a release policy. Existing companies keep their published policies.

Read any Preview prerequisites shown during review. A required rule that needs a running app can hold pull requests until an eligible preview matches their exact commit. Detection does not enable those checks. See Preview prerequisites.

What your repository needs

Zof collects unit test results from your CI. Before you open the test pull request, add a CI job that runs your unit tests, writes a JUnit XML report, and uploads it as an artifact named zof-junit. For example, with GitHub Actions and Vitest:

name: ci
on: [pull_request]
permissions:
  contents: read
jobs:
  unit:
    runs-on: ubuntu-24.04
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '20'
      - run: npm ci
      - run: mkdir -p reports && npx vitest run --reporter=junit --outputFile=reports/junit.xml
      - uses: actions/upload-artifact@v4
        if: always()
        with:
          name: zof-junit
          path: reports/*.xml

Any test runner works if it writes JUnit XML. Without the report, a policy rule that needs unit test results can't be met, and the check asks for that evidence.

Open a test pull request

Once a policy is live (or a draft is saved), Home shows Open a pull request to see your first check. On the dashboard, during the company's first two weeks (14 days), the setup tip says the same until the first pull request has a Zof check.

  1. Make a small change in a connected repository.
  2. Open a pull request on GitHub and mark it ready for review.
  3. Zof checks the change against your map and your policy, and the Zof check on the pull request shows the result.

Zof needs the evidence required by your company's policy. If the check needs attention, open it to see the missing requirement and next action.

Check that it worked

The pull request shows a Zof check, and Home shows the dashboard. A report counts only when the pull request has a finished check and a viewable report for its current commit.

For repository readiness, open Releases. The open pull requests that need a person come first. Open one to see its status, its requirements and what to do next.

A genuine test failure can still produce a completed report. It does not mean the change is approved for release. New commits need a matching check and report; an older result does not count for them.

Read your dashboard

Once your company has data, Home shows these tiles (your persona picks which, and what they list):

  • Ready to ship? counts open changes by status and names the most urgent.
  • System map lights the path of the change selected in the list. Its last line says how many services changed since the last read and how many services and datastores have gaps, and each opens the map with them lit.
  • What needs you lists open changes that aren't ready to ship.
  • This week shows the share of runs that passed in the last 7 days.
  • Recent runs shows your newest runs.

The repository chip above the tiles filters all five to one repository; All repositories shows the whole company. With more than 200 open changes in the company, the counts for one repository show a plus sign, as in 12+: Zof read only the newest 200. Other actions, such as Create schedule, are in the menu at the end of that row. The top bar's button starts a test.

The top bar shows organization / repository: the GitHub organization your company is connected to, then the repository you're looking at. Choose it to switch. With no GitHub organization connected yet, the list offers Connect a GitHub organization, which opens the connect dialog. Pick another organization to open it (the app reloads on that organization's Home), or pick a repository to filter the console and start new runs on it; Home remembers that repository for you. The link to connect another GitHub organization opens Integrations. On a phone, the same lists open from the context button.

Without the Zof GitHub App, a company with test runs sees one panel with Connect GitHub in place of the first three tiles; the run tiles keep working.

Scores and Map changes (Topology) are on their own pages. On Releases, the newest open pull requests show their risk.

Take the tour

The first time Home shows the dashboard, a new account sees a short tour. Each card highlights one place, the heading of a sidebar section, Copilot, Run tests, your credits or Help & Docs, says what it's for in a sentence and offers one link to go there (the credits card links to Billing only if you can open Admin). The Platform card shows where to connect GitHub, and Run tests on the Run your first test card starts your first test. On a phone, cards for the sidebar say In the menu and highlight the menu button. Choose Next or use the arrow keys; Skip tour or Escape closes it, and it doesn't show again. To see it again, choose Take the tour on the Help & Docs page or in your account menu. While Home's first steps are showing, the tour waits for the dashboard.

Set release approvers

Approver setup is not an initial onboarding task. If a pull request requires owner approval, follow its next action to configure who may approve. Company and GitHub permissions still apply. See Release approvers.

Test your app on demand

To test a running app outside a pull request, choose Run tests in the top bar. A run never authorizes a release. See Run a test.

Make Zof block merges

Getting a report does not automatically prevent merging. To require the Zof check before a merge, configure a GitHub ruleset. This is separate from first-report onboarding; the required GitHub plan and admin permissions depend on the repository.

Follow Make Zof block merges.

Next steps