canonical: https://jentic.com/apis/growthstation.app/growthstation

# Growthstation App GS Engage API

GS Engage is a sales engagement platform that helps revenue teams run multi-step prospecting cadences (called routines), capture inbound leads, and centralise conversations with prospects. The API spans 16 endpoints covering leads, routines, prospections, conversations, custom fields, and webhooks. Authentication is by an apiKey query parameter, and resources sit under `/api/v1.` Teams typically use it to push leads from a website form into a routine, sync prospection activity into a CRM, and drive integrations with their data warehouse via webhooks.

## For AI agents

Push leads into sales engagement routines, list prospections and their activities, manage webhooks, and read conversation threads in GS Engage.

## Scope

Does not handle dialer voice calls, email deliverability infrastructure, or CRM record-of-truth - use for GS Engage lead, routine, prospection, and conversation operations only.

## Capabilities

- Create and update leads with custom field values for downstream prospecting workflows
- Add a lead to a specific routine (cadence) so reps start working it immediately
- List prospections in flight and inspect the activities recorded against each one
- Finish a prospection cleanly so reporting reflects the final outcome
- Register and revoke webhooks to receive lead and prospection events in near real time
- Read conversation threads and the messages within them to surface inbound replies
- Enumerate custom fields so external systems can map their schema to GS Engage data

## Use cases

### Web form to cadence automation

Capture inbound leads from a marketing site or ad campaign and drop them straight into a sales engagement routine without rep manual entry. The integration calls POST `/api/v1/leads` to create the lead with utm and custom field data, then POST `/api/v1/routines/{routineId}/lead` to enrol the lead in the right cadence based on segment. This shortens lead response time and ensures every prospect is worked under a tracked sequence.

Example prompt: When a website form submits, call POST `/api/v1/leads`, then POST `/api/v1/routines/{routineId}/lead` to enrol the lead in the configured routine.

### CRM activity sync

Sync prospection activities back to a CRM so account executives see every email opened, call attempted, and message sent without leaving Salesforce or HubSpot. The agent or sync service polls GET `/api/v1/prospections` and GET `/api/v1/prospections/{prospectionId}/activities`, transforms the events, and writes them as activity records on the matching contact. PATCH `/api/v1/prospections/{prospectionId}/finish` closes out completed prospections so the CRM does not show stale work.

Example prompt: Page through GET `/api/v1/prospections` and call GET `/api/v1/prospections/{id}/activities` for each to write activity logs into the CRM.

### Webhook-driven analytics pipeline

Stream lead and prospection events into a data warehouse with webhooks rather than scheduled polling. POST `/api/v1/webhooks` registers the destination URL, GET `/api/v1/webhooks` lists active subscriptions, and DELETE `/api/v1/webhooks/{webhookId}` removes them when no longer needed. Pair this with GET `/api/v1/custom-fields` to keep the warehouse schema in sync as the sales team adds new fields.

Example prompt: Call POST `/api/v1/webhooks` with the warehouse ingestion URL and confirm via GET `/api/v1/webhooks` that the subscription is active.

### AI agent integration through Jentic

Let a sales-ops agent manage GS Engage through Jentic so reps and managers can ask questions like 'add this lead to the inbound enterprise routine' or 'show me unresolved conversations from this week' in natural language. The agent searches Jentic for the relevant intent, loads the operation schema, and executes it. Jentic stores the GS Engage apiKey in its vault so the agent never sees the raw value.

Example prompt: Through Jentic, search 'add a lead to a GS Engage routine', load the operation, and execute it with the lead and routine ids.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/api/v1/leads` | Create a new lead |
| PATCH | `/api/v1/leads/{leadId}` | Update a lead |
| POST | `/api/v1/routines/{routineId}/lead` | Add a lead to a routine |
| GET | `/api/v1/prospections` | List prospections |
| PATCH | `/api/v1/prospections/{prospectionId}/finish` | Finish a prospection |
| POST | `/api/v1/webhooks` | Create a webhook subscription |
| GET | `/api/v1/conversations/threads` | List conversation threads |

## Key resources

- **leads** — Create, list, retrieve, and update leads with custom field values
- **routines** — List sales cadences and add leads to a specific routine
- **prospections** — Start, list, and finish prospections, and inspect their activities
- **conversations** — List threads and the messages within each thread
- **webhooks** — Subscribe to and unsubscribe from event notifications
- **custom fields** — Enumerate the custom fields defined on the lead schema

## Why Jentic

- **Setup:** Wiring the GS Engage API by hand means appending the apiKey query credential to every call to api.gsengage.com and handling lead, routine, and conversation pagination and retries yourself. Through Jentic you install once, import GS Engage from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** GS Engage puts the lead id, routine id, and prospection id in the URL path (`/leads/{leadId}`, `/routines/{routineId}/lead`), so a rule can pin your agent to one lead or routine: it can update that lead and nothing else. You choose the operations it may call, so registering a webhook is not included unless you add it.
- **Credential handling:** Your GS Engage apiKey is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a lead' or 'add a lead to a routine', and Jentic returns the matching GS Engage operation with its input schema, including the apiKey requirement and required body fields, so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Outreach API** — Enterprise sales engagement platform with deep CRM integration
- **SalesLoft API** — Sales engagement and cadence platform
- **Apollo.io API** — Sales intelligence and contact data platform

## FAQ

### What authentication does the GS Engage API use?

GS Engage uses an apiKey query parameter on every request. The key is issued in the GS Engage workspace settings and is workspace-scoped. Through Jentic the apiKey is stored encrypted in the vault, and the agent calls Jentic with a scoped agent key (ak_*) instead of the raw GS Engage key.

### Can I add a lead directly into a sales routine?

Yes. After creating the lead with POST `/api/v1/leads`, call POST `/api/v1/routines/{routineId}/lead` to enrol that lead in the named routine. The two-step pattern keeps lead creation idempotent while routine enrolment stays explicit.

### What are the rate limits for the GS Engage API?

The published spec does not document explicit rate limits. GS Engage applies platform-level throttling per workspace, so back off on HTTP 429 responses and prefer webhooks over polling where possible.

### How do I subscribe to lead events through Jentic?

Install Jentic with pip install jentic, search for 'create a GS Engage webhook', load the matching operation, and execute it with the destination URL. Jentic resolves the call to POST `/api/v1/webhooks` and confirms the subscription is active.

### Can I read inbound replies from prospects?

Yes. GET `/api/v1/conversations/threads` lists conversation threads in the workspace, and GET `/api/v1/conversations/threads/{threadId}/messages` returns the messages within a single thread. This is enough to surface unread replies in an external dashboard.

### How do I cleanly close a prospection?

Call PATCH `/api/v1/prospections/{prospectionId}/finish` to mark the prospection finished. This stops further automated activities under that prospection and is the right way to close out a cadence rather than just deleting the lead record.

### Can I limit what my agent is allowed to do with the GS Engage API?

Yes. Because Jentic One is self-hosted, you set the rules that decide which GS Engage operations and credentials your agent may use. GS Engage puts the lead, routine, and prospection ids in the URL path (`/api/v1/leads/{leadId}`, `/api/v1/routines/{routineId}/lead`), so you can pin the agent to a single lead or routine and let it update only that record. You also choose the exact operations it may call, so registering a webhook via POST `/api/v1/webhooks` stays off unless you explicitly allow it.
