n8n-nodes-backstory
v0.1.1
Published
n8n community node for Backstory (formerly People.ai) — accounts, opportunities, activities, SalesAI, and forecasting.
Downloads
293
Maintainers
Readme
n8n-nodes-backstory
Backstory is a Revenue Answers Platform for CROs, sales leaders, and RevOps leaders. It captures every email, meeting, call, and chat across your team, processes that activity against your deal history, and gives direct answers to the questions that matter — which deals are at risk, why, and what to do next.
This is an n8n community node that exposes a useful subset of Backstory's public and internal APIs to n8n workflows: read accounts, opportunities, and activities; ingest chat activities; submit forecasting field values; run reporting queries; ask SalesAI questions; and more.
Installation
In n8n (self-hosted), go to Settings → Community Nodes → Install and enter the package name:
n8n-nodes-backstoryThat's it — restart isn't required.
Credentials
The node uses a single credential type, Backstory API, configured with:
| Field | Required | Notes | |---|---|---| | Client ID | ✓ | From your Backstory API keys settings. | | Client Secret | ✓ | From your Backstory API keys settings. | | Use Staging Environment | | Toggle to call the staging hosts instead of production. | | App Subdomain Override | | Optional — overrides only the app subdomain (the api host is unaffected). | | Get Internal App Token | | Required for any operation marked ⚐ below. When on, also supply an App User Email. | | App User Email | conditional | Email of an active Backstory user; their context is used to issue the app token. |
Internally the credential does a two-step exchange — your client credentials → an API token (used for the public endpoints), and optionally that API token + the app user email → an app token (used for the internal endpoints). Both tokens are cached in n8n's encrypted credential store and refreshed automatically on a 401.
Get your Client ID and Secret at https://app.people.ai/settings/api-keys-management.
Operations
⚐ = requires the Internal App Token (toggle in the credential).
Account
| Operation | Description | |---|---| | Get by CRM ID | Retrieve an account by its CRM identifier (e.g. Salesforce Account ID). | | Get by ID | Retrieve an account by its Backstory ID. |
Opportunity
| Operation | Description | |---|---| | Get by CRM ID | Retrieve an opportunity by its CRM identifier. | | Get by ID | Retrieve an opportunity by its Backstory ID. |
Activity
| Operation | Description | |---|---| | Get Details ⚐ | Retrieve full activity details including the participants list. | | Get Participants | List participants on an event activity, by CRM ID. | | Push Chat | Ingest a single chat-type activity into Backstory. The body is a JSON payload (sender, participants, subject, body, timestamp, duration, etc.). |
Person
| Operation | Description | |---|---| | Get by Email ⚐ | Look up a person record by email address. |
Reports
| Operation | Description |
|---|---|
| Query ⚐ | Run a query against the reporting DSL. The query body is a JSON object with object, filter (supports $and, $in, $exists, $eq, $gte, $lte, $ncontains and attribute slugs with optional variation_id), columns, limit, and offset. |
Forecasting
| Operation | Description |
|---|---|
| Submit Field Values | Submit supporting field values for a forecast type — pick a fiscal period and hierarchy node, then enter {field, value} rows. |
| Submit Field Values (Bulk) | Submit multiple field-value sets in one call (JSON array). |
| List Hierarchies ⚐ | List all configured forecasting hierarchies. |
| List Hierarchy Nodes ⚐ | List nodes under a given hierarchy. |
| List Fiscal Periods ⚐ | List fiscal periods (filter by week / quarter and date range). |
| Create Snapshot ⚐ | Create a forecasting snapshot for a forecast type. |
SalesAI
| Operation | Description |
|---|---|
| Ask Question ⚐ | Ask SalesAI a question against an Account or Opportunity record; get a single-turn AI answer. The Assistant picker auto-loads from your tenant. |
| Start Conversation ⚐ | Start or continue a multi-turn SalesAI conversation. Optional Chat ID continues a thread; the Features collection toggles which essentials (Chronicle, Metrics, Participants, Scorecard, Eurekas, Enablement, Public Company News, Meeting Summaries) are included. |
| List Assistants ⚐ | List the SalesAI assistants configured in the current tenant. |
| Get Main Suggestions ⚐ | Get the main assistant's suggestion list for supported record types. |
Compatibility
- Node.js 20.15 or newer.
- n8n 1.x and 2.x (uses the standard credential
preAuthentication+authenticatepipeline introduced in n8n 1.0).
API documentation
Development
If you want to hack on the node locally rather than installing the published version:
git clone <repo>
cd n8n-nodes-backstory
npm install
npm run build
# Register globally + into n8n's custom-nodes folder
npm link
mkdir -p ~/.n8n/custom && cd ~/.n8n/custom
npm init -y # first time only
npm link n8n-nodes-backstory
# Run n8n
n8n startFor an edit/build loop, run npm run dev (tsc --watch) in one terminal and restart n8n after each change — n8n only loads custom nodes at startup.
Before publishing a new version: npm run lint -c .eslintrc.prepublish.js nodes credentials should report zero errors.
