Pulse GTM Agents is a local end-to-end GTM agent workspace. It turns a company URL into an inferred GTM profile, deterministic research run, scored opportunities, human review actions, feedback events, and playbook memory.
The repo runs without external services. It uses Node's built-in HTTP server, browser fetch, and JSON persistence in data/state.json.
- Start a GTM research run from a landing page URL
- Infer product, audience, trigger phrases, and engagement boundaries
- Generate deterministic source scan results
- Create comment, post, and competitive-intelligence opportunities
- Filter opportunities by query, type, and status
- Approve, save, teach, or dismiss opportunities
- Persist feedback events and playbook memory rules
- Reset local data from the UI or API
- Run dependency-free API evals
npm run reset
npm run devOpen:
http://localhost:4173
npm run dev # start local app
npm run start # same as dev
npm run reset # reset data/state.json
npm run check # syntax-check server and client JS.
├── data
│ └── state.json
├── docs
│ ├── api.md
│ ├── architecture.md
│ ├── data-model.md
│ ├── evals.md
│ └── product-spec.md
├── evals
│ └── e2e.js
├── public
│ ├── app.js
│ ├── index.html
│ └── styles.css
├── server
│ ├── agent-engine.js
│ ├── index.js
│ ├── reset-data.js
│ └── store.js
└── package.json
- User submits a landing page URL.
AgentEnginecreates a run and inferred GTM profile.- Source adapters produce deterministic source activity.
- Opportunity templates become scored review items.
- User reviews each opportunity.
- Review actions update opportunity status, feedback events, and memory rules.
- State persists to
data/state.json.
The app persists state in:
data/state.json
Reset it at any time:
npm run resetSee docs/api.md.
See docs/architecture.md.