Skip to main content
If your workspace’s Dashboards & Apps page doesn’t show the Reporting app, contact support.

TL;DR

  • The Reporting app is a private website with ten ready-made reports on your sales, marketing and customers. SourceMedium hosts it and keeps it running.
  • A workspace Admin or Editor creates it in one click from Dashboards & Apps. Your team opens it with their SourceMedium sign-in.
  • To change it, connect a GitHub repository made from SourceMedium’s public template. Every push builds a private preview; nothing goes live until an Admin or Editor publishes it, and Restore brings back an earlier version.
  • To work on it on your computer, run pnpm signin in the app’s folder. To bring in later improvements to the template, run pnpm template:update.

Your app’s address

Your app opens at <workspace>-app.sourcemedium.app, for example democo-app.sourcemedium.app. Hosted dashboards for the same workspace use <workspace>-dashboards.sourcemedium.app. Everyone who opens either signs in with SourceMedium, and each person’s access is checked on every visit.

Create the app

You need an Admin or Editor role in the workspace and an active warehouse that has delivered your data. A workspace has one app.
  1. Open Dashboards & Apps and find the Reporting app card.
  2. Choose Create app. SourceMedium sets up the app and checks its connection to your warehouse. You can leave the page while it does.
  3. When the card shows Open app, everyone with access to the workspace can open it.
If setup stops, the card says why, and Retry setup tries again. Admins and Editors can also pause, resume or remove the app.

Change the app’s code

The app is built from SourceMedium’s public template, source-medium/sm-app-template. You can change anything in your own copy and SourceMedium keeps hosting it at the same address, with the same sign-in and data.
  1. In the app’s settings, choose Make changes. Create your repository from the template when it offers to; GitHub makes a private copy in your account or organization.
  2. Enter the repository as owner/name and choose Connect. SourceMedium shows a connect code once.
  3. In the repository’s Actions tab, run the SourceMedium preview workflow with that code. This one run proves the repository is yours; the code expires after 72 hours and works once.
  4. From then on, every push sends the commit to SourceMedium, which builds it and replies in the workflow with the preview’s address, or with the build log if the build failed.
  5. Admins and Editors open the preview signed in to SourceMedium and choose Publish to make it the live version. Restore brings back an earlier version.
The workflow stores no secret: GitHub signs a short-lived identity for the repository and commit, and SourceMedium accepts only the repository the connect code proved. Each app builds at most 40 times a day. A build that stops unexpectedly says so in the workflow; push again.

Work on the app on your computer

In the app’s folder, run:
It opens SourceMedium in your browser. Choose Allow, and pnpm signin saves your access in .env.local, which is never committed. Then run pnpm dev and open the address it prints. You see your workspace’s real data, read as you. Your sign-in lasts 30 days; run pnpm signin again after that. Only workspace Admins and Editors can sign in this way. A coding agent in the cloud has no browser, so give it a token of its own: in the app’s settings, choose Manage developer tokens, name one and choose Create token. Every token, including each computer’s sign-in, is listed there and can be revoked. The template’s hosted app guide has the details.

Get the template’s improvements

SourceMedium keeps improving the template. To bring those changes into your copy without losing yours, commit your work and run:
Files you never changed take the template’s new version and your changes stay. Where you and the template changed the same lines, it stops and lists the files to settle. Review the result and push it: the push builds a preview like any other, and nothing goes live until it is published.

What a hosted app can do

  • Read your data. The app reads your workspace’s reporting data through SourceMedium, never directly. Queries only read, run for at most 30 seconds and return up to 10,000 rows.
  • Stay on its own address. Every app shares the sourcemedium.app domain with other workspaces’ apps, so the app’s pages can call only their own address. Client-side analytics or other services called from the page are blocked; images, scripts, styles and links to other sites work as usual. Forms and other changes reach the app only from its own pages, and the app can’t install a service worker.

Who can do what