Dashboard workbench · available in source builds from main · fictional demo data
Give OpenGTM a market, a list, or a workbook. It finds companies and people,
enriches rows through cost-ordered provider waterfalls, researches hard questions
with cited agents, watches for buying intent, and sends qualified records to
the tools your team already uses. Your data stays on your infrastructure;
third-party calls use keys you choose. A zero-key demo is included.
[Configure Firecrawl search and Spicrawl research](docs/web-providers.md).
## See the workbench
The dashboard workbench runs on the native Go backend, with separate Companies
and People, shared record history, Clay/CSV import mapping, and compact workspace
navigation. Switch Light, Dark, System, and UI scale directly in the account menu.
These recordings use fictional demo data. Build from `main` for this dashboard;
published release tags may contain an earlier UI.
Companies, People and connected employment · 11-second demo
Inspect shared company facts, see its people, and follow a person's employment
history without leaving the workbench.

[Open the static dashboard screenshot](docs/assets/opengtm-workbench-preview.png).
Import a Clay table · 11-second demo
Map source columns, check the row preview, and import into the record library.
The preview keeps import and enrichment as separate actions.

[Open the static dashboard screenshot](docs/assets/opengtm-workbench-preview.png).
## Co-maintainer wanted
We're looking for a co-maintainer to help shape OpenGTM, review pull requests,
ship releases, and build a faster enrichment backend. Experience with **Go,
PostgreSQL, browser automation, or provider integrations** is especially welcome.
Interested? [Join contributor and design-partner onboarding](https://github.com/debpalash/OpenGTM/issues/122)
with a short introduction and the areas you'd like to own. Focused contributions
are welcome too; start with [CONTRIBUTING.md](CONTRIBUTING.md).
## Run it
You need **Git, Docker with Compose v2, and roughly 4 GB of available RAM**.
No provider key is required to try the demo.
### On your laptop
macOS or Linux:
```bash
git clone https://github.com/debpalash/OpenGTM.git
cd OpenGTM
./scripts/install.sh
```
Windows PowerShell with Docker Desktop:
```powershell
git clone https://github.com/debpalash/OpenGTM.git
Set-Location OpenGTM
.\scripts\install.ps1
```
Open **http://localhost:3000**. The first visit redirects to `/setup`: create the
admin account there. The setup form asks for a one-time setup token, which the
API prints once at startup (`docker compose logs api-go | grep -i 'setup token'`),
or set `SETUP_TOKEN` in `.env` before the first start. No default admin account
exists, and setup closes for good once an admin is created. The installer
generates database, runtime-role, signing and service-token secrets, then starts
the stack. It leaves an existing `.env` untouched.
### On a server
Use a reviewed Go tag or commit. The example starts from `main`; replace
`OPENGTM_REF` with your tested revision and record the resolved commit. Point a
domain at the host and provide a TLS reverse proxy such as Caddy. On Linux with
Git and Docker Compose:
```bash
OPENGTM_REF=main # replace with a tested Go tag or commit
git clone https://github.com/debpalash/OpenGTM.git
cd OpenGTM
git checkout "$OPENGTM_REF"
git rev-parse HEAD # record this revision for rollback
./scripts/install.sh --no-start
DOMAIN=gtm.example.com # replace with your domain
cat >> .env <