@primexperts.co/pulse-agent 5.3.0 → 5.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -59,19 +59,29 @@ The result is a team inbox model: one public channel for customers, multiple int
59
59
  | WhatsApp | Planned/optional depending on deployment | WhatsApp contact path | Intended shared handling model when enabled; do not promise as active unless configured |
60
60
  | Error Monitoring | Supported through this package | No visible customer UI | Browser exceptions and failed request reports tied to the website/application |
61
61
 
62
- ## What You Need From Pulse
62
+ ## Self-Service Setup
63
63
 
64
- You need these values before going live:
64
+ Pulse Agent is intended to be usable by any website owner who creates a Pulse workspace and enables Webchat.
65
65
 
66
- | Value | Example | Required | Where it comes from |
67
- | --- | --- | --- | --- |
68
- | Organization slug | `vayakids` | Yes | Pulse organization/webchat setup |
69
- | Application key | `app_...` | Recommended | Pulse Dashboard application/webchat setup |
70
- | API base URL | `https://pulse.service.primexperts.co.za` | Yes | Pulse production API host |
71
- | Allowed website origin | `https://www.example.com` | Yes | Must be allowed by Pulse CORS/backend configuration |
66
+ Before adding the code snippet, do this in Pulse:
67
+
68
+ 1. Create or sign in to your Pulse account.
69
+ 2. Create your organization or workspace.
70
+ 3. Create/select the application or website you want to connect.
71
+ 4. Enable the Webchat integration.
72
+ 5. Copy the generated setup values into your website environment/config.
73
+ 6. Add your website origin, for example `https://www.example.com`, to the allowed origins/CORS settings if your Pulse deployment exposes that setting.
72
74
 
73
- You usually do not need a widget token. The widget resolves it automatically by calling Pulse with your `slug` and `appKey`.
75
+ Use these values in your widget config:
76
+
77
+ | Value | Example | Required | How to get it |
78
+ | --- | --- | --- | --- |
79
+ | Organization slug | `acme-support` | Yes | Shown in Pulse for your organization/workspace. |
80
+ | Application key | `app_...` | Recommended when available | Copy from your Pulse application/webchat setup. |
81
+ | API base URL | `https://pulse.service.primexperts.co.za` | Yes | Use the API URL shown by your Pulse environment. |
82
+ | Website origin | `https://www.example.com` | Required for production | Add the exact site origin where the widget will run. |
74
83
 
84
+ You usually do not need a widget token. Pulse Agent resolves it automatically from your organization slug; when an application key is configured, the agent also sends it for app-aware deployments and reporting context.
75
85
  ## Configuration Keys
76
86
 
77
87
  | Option | Type | Default | Description |
@@ -363,7 +373,7 @@ Admin setup endpoints are separate and should remain authenticated.
363
373
  - Framework-agnostic browser integration.
364
374
  - Works with npm or a script tag.
365
375
  - Supports runtime configuration, which is useful for Heroku, Docker, static hosting, and multi-environment deployments.
366
- - Uses `slug` + `appKey` so users do not need to handle internal widget tokens.
376
+ - Uses the organization `slug`, plus `appKey` when available, so users do not need to handle internal widget tokens.
367
377
  - Supports visitor profile capture, history loading, transcript email requests, SSE replies, WhatsApp launcher/contact path where configured, manual open/close, and manual exception reporting.
368
378
  - Supports operational workflows verified in the Pulse source: assignment, status/priority updates, internal notes, follow-ups, customer profiles, tags, notifications, activity logs, exports, and dashboard KPIs.
369
379
  - Supports role-based team operation: admins manage setup and assignment, while agents work assigned conversations.
package/docs/FAQ.md CHANGED
@@ -15,7 +15,7 @@ Do not use dashboard host URLs as API base URLs.
15
15
  ## What slug should I use?
16
16
 
17
17
  Use the organization slug generated from organization name (lowercase, alphanumeric, hyphen-separated).
18
- Example: `PrimeXperts` -> `primexperts`
18
+ Example: `Acme Support` -> `acme-support`
19
19
 
20
20
  ## Do users need to log in to use the widget?
21
21
 
@@ -32,16 +32,23 @@ The Pulse source supports more than a website chat bubble:
32
32
  - Error monitoring can post browser error reports to Pulse and feed dashboard summaries.
33
33
 
34
34
  This is why the strongest positioning is: Pulse Agent gets the customer conversation or browser issue into Pulse; Pulse gives the team a controlled workspace to manage it together.
35
- ## 2. Required Pulse Values
35
+ ## 2. Self-Service Pulse Setup
36
+
37
+ Pulse Agent is intended for any website owner. Start in Pulse, then copy the values into your website config.
38
+
39
+ 1. Create or sign in to your Pulse account.
40
+ 2. Create your organization or workspace.
41
+ 3. Create/select the application or website you want to connect.
42
+ 4. Enable Webchat.
43
+ 5. Copy the generated slug and application key, when available.
44
+ 6. Add your website origin to the allowed origins/CORS settings if your Pulse environment exposes that setting.
36
45
 
37
46
  | Value | Required | Example | Notes |
38
47
  | --- | --- | --- | --- |
39
- | `slug` | Yes | `vayakids` | Public organization slug. |
40
- | `appKey` | Recommended | `app_abc123...` | Public application key from Pulse Dashboard. The agent sends it when present; app-aware Pulse deployments can use it for application separation and reporting context. |
41
- | `apiBaseUrl` | Yes | `https://pulse.service.primexperts.co.za` | Host only; do not add `/api`. |
42
- | Website origin | Yes | `https://app.example.com` | Must be allowed by Pulse CORS/backend configuration. |
43
-
44
- The `appKey` is the value that starts with `app_`. It is not the same as `widgetToken`.
48
+ | `slug` | Yes | `acme-support` | Organization/workspace slug shown in Pulse. |
49
+ | `appKey` | Recommended when available | `app_abc123...` | Application key copied from Pulse setup. The agent sends it when present for app-aware deployments and reporting context. |
50
+ | `apiBaseUrl` | Yes | `https://pulse.service.primexperts.co.za` | Use the API URL shown by your Pulse environment. Do not add `/api`. |
51
+ | Website origin | Production only | `https://app.example.com` | Exact site origin where the widget runs. |
45
52
 
46
53
  A `widgetToken` is normally resolved automatically by Pulse from the organization `slug`; when `appKey` is configured, the agent also sends it for app-aware deployments. Do not configure `widgetToken` unless Pulse explicitly provides a token for a special case.
47
54
 
@@ -63,10 +70,10 @@ For script-tag usage:
63
70
  import { createPulseAgent } from '@primexperts.co/pulse-agent';
64
71
 
65
72
  createPulseAgent({
66
- slug: 'vayakids',
73
+ slug: 'acme-support',
67
74
  appKey: 'app_your_public_application_key',
68
75
  apiBaseUrl: 'https://pulse.service.primexperts.co.za',
69
- title: 'VayaKids',
76
+ title: 'Acme Support',
70
77
  requireProfile: true,
71
78
  autoOpen: false
72
79
  });
@@ -78,7 +85,7 @@ Error monitoring is off by default. Enable it explicitly:
78
85
 
79
86
  ```ts
80
87
  createPulseAgent({
81
- slug: 'vayakids',
88
+ slug: 'acme-support',
82
89
  appKey: 'app_your_public_application_key',
83
90
  apiBaseUrl: 'https://pulse.service.primexperts.co.za',
84
91
  errorMonitoring: true,
@@ -102,7 +109,7 @@ Manual capture:
102
109
 
103
110
  ```ts
104
111
  const agent = createPulseAgent({
105
- slug: 'vayakids',
112
+ slug: 'acme-support',
106
113
  appKey: 'app_your_public_application_key',
107
114
  apiBaseUrl: 'https://pulse.service.primexperts.co.za',
108
115
  errorMonitoring: true
@@ -126,10 +133,10 @@ try {
126
133
  Use these names in Heroku, Docker, CI, or your hosting platform:
127
134
 
128
135
  ```env
129
- PULSE_AGENT_SLUG=vayakids
136
+ PULSE_AGENT_SLUG=acme-support
130
137
  PULSE_AGENT_APP_KEY=app_your_public_application_key
131
138
  PULSE_AGENT_API_BASE_URL=https://pulse.service.primexperts.co.za
132
- PULSE_AGENT_TITLE=VayaKids
139
+ PULSE_AGENT_TITLE=Acme Support
133
140
  PULSE_AGENT_ENVIRONMENT=production
134
141
  PULSE_AGENT_RELEASE=web-1.0.0
135
142
 
@@ -168,10 +175,10 @@ Example `runtime-config.js` output:
168
175
  ```js
169
176
  window.__APP_RUNTIME_CONFIG__ = {
170
177
  pulseAgent: {
171
- slug: 'vayakids',
178
+ slug: 'acme-support',
172
179
  appKey: 'app_your_public_application_key',
173
180
  apiBaseUrl: 'https://pulse.service.primexperts.co.za',
174
- title: 'VayaKids',
181
+ title: 'Acme Support',
175
182
  errorMonitoring: true,
176
183
  captureUnhandledErrors: true,
177
184
  captureUnhandledRejections: true,
@@ -210,10 +217,10 @@ if (pulseAgentConfig?.slug) {
210
217
  Set config vars:
211
218
 
212
219
  ```bash
213
- heroku config:set PULSE_AGENT_SLUG=vayakids
220
+ heroku config:set PULSE_AGENT_SLUG=acme-support
214
221
  heroku config:set PULSE_AGENT_APP_KEY=app_your_public_application_key
215
222
  heroku config:set PULSE_AGENT_API_BASE_URL=https://pulse.service.primexperts.co.za
216
- heroku config:set PULSE_AGENT_TITLE=VayaKids
223
+ heroku config:set PULSE_AGENT_TITLE=Acme Support
217
224
  heroku config:set PULSE_AGENT_ENVIRONMENT=production
218
225
  heroku config:set PULSE_AGENT_ERROR_MONITORING=true
219
226
  heroku config:set PULSE_AGENT_CAPTURE_UNHANDLED_ERRORS=true
@@ -47,7 +47,7 @@ This guide documents how to integrate Pulse by channel type and which technologi
47
47
  import { createPulseAgent } from '@primexperts.co/pulse-agent';
48
48
 
49
49
  createPulseAgent({
50
- slug: 'primexperts',
50
+ slug: 'acme-support',
51
51
  apiBaseUrl: 'https://pulse.service.primexperts.co.za',
52
52
  requireProfile: true
53
53
  });
@@ -71,11 +71,11 @@ regexp_replace(
71
71
  ```
72
72
 
73
73
  Then:
74
- - `PrimeXperts` -> `primexperts`
74
+ - `Acme Support` -> `acme-support`
75
75
 
76
76
  Resolve URL:
77
77
 
78
- `https://pulse.service.primexperts.co.za/api/pulse/public/webchat/resolve?slug=primexperts`
78
+ `https://pulse.service.primexperts.co.za/api/pulse/public/webchat/resolve?slug=acme-support`
79
79
 
80
80
  ## 8) Quick verification checklist
81
81
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primexperts.co/pulse-agent",
3
- "version": "5.3.0",
3
+ "version": "5.4.0",
4
4
  "description": "Embeddable Pulse floating chat agent widget.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",