@signaliz/cli 1.0.21 → 1.0.22
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 +30 -587
- package/dist/bin.js +363 -7514
- package/package.json +9 -9
package/README.md
CHANGED
|
@@ -1,609 +1,52 @@
|
|
|
1
1
|
# @signaliz/cli
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Current CLI surfaces include GTM Kernel campaign planning/status commands,
|
|
6
|
-
provider routing for Nango-managed customer API destinations, MCP/Ops
|
|
7
|
-
observability, enrichment primitives, and live email verification at 0.02 fresh
|
|
8
|
-
enrichment credits when a new verification is needed.
|
|
9
|
-
|
|
10
|
-
Monthly plans include unlimited cache search, Campaign Builder, API, MCP, CLI,
|
|
11
|
-
Ops, and integrations. Team is the $499/month public plan and adds unlimited
|
|
12
|
-
live Find People and Find Companies in Signaliz; Agency stays $999/month with
|
|
13
|
-
higher credits and throughput. Fresh credits are used only when Signaliz
|
|
14
|
-
creates, verifies, or fetches new premium data.
|
|
15
|
-
|
|
16
|
-
Fresh enrichment throughput now allows Free 60/min, Builder 300/min, Team
|
|
17
|
-
600/min, Agency 1,000/min, and Pay-As-You-Go 1,000/min, with a 5,000/hour
|
|
18
|
-
workspace safety cap.
|
|
19
|
-
|
|
20
|
-
## Where To Start
|
|
21
|
-
|
|
22
|
-
If you are not sure whether to use the UI, CLI, Codex, MCP, or SDK, start here:
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
signaliz start
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
Signaliz is the GTM brain over any stack. Use CLI, MCP, Codex, or SDK when an
|
|
29
|
-
agent needs to build, audit, route, or debug work. Use the UI as the human
|
|
30
|
-
cockpit to inspect state, connect tools, approve gated actions, and monitor
|
|
31
|
-
results.
|
|
32
|
-
|
|
33
|
-
`signaliz start` is read-only. It checks workspace health, credits, Ops proof,
|
|
34
|
-
Kernel readiness, and provider-route blockers, then recommends one next safest
|
|
35
|
-
move plus exact commands for five plain workflows:
|
|
36
|
-
|
|
37
|
-
- Build a campaign plan: `signaliz build "campaign brief"`.
|
|
38
|
-
- Connect tools and provider routes: `signaliz connect`.
|
|
39
|
-
- Audit previous campaigns: `signaliz audit`.
|
|
40
|
-
- Improve results from learning: `signaliz improve <campaign_id>`.
|
|
41
|
-
- Prove Ops delivery: `signaliz prove`.
|
|
42
|
-
|
|
43
|
-
## Concepts
|
|
44
|
-
|
|
45
|
-
Signaliz is the GTM brain over your stack. Six nouns explain the rest:
|
|
46
|
-
|
|
47
|
-
- Op - one executable unit of work, created from a goal or plan. You run it, poll it, and retrieve results.
|
|
48
|
-
- Routine - an Op on a schedule. Each scheduled execution is a Tick, and each Tick produces items you can inspect.
|
|
49
|
-
- Sink - a delivery destination such as webhook, CSV, Slack, Sheets, Airbyte, or Nango.
|
|
50
|
-
- Kernel - your workspace's persistent GTM state: campaigns, memory, connections, provider routes, and readiness gates.
|
|
51
|
-
- Brain - the learning layer over the Kernel. It extracts campaign patterns, calibrates deliverability, and seeds safer defaults.
|
|
52
|
-
- Campaign - a governed outbound object built from Kernel state and Brain learning. A Campaign Build is one execution that produces rows and artifacts.
|
|
53
|
-
|
|
54
|
-
Use Campaign Builder when you need a list now. Use the GTM Kernel when the campaign should persist, route through specific providers, and improve from feedback. Use Ops when the job is prompt-first or recurring, such as monitors, alerts, and ad-hoc pulls.
|
|
55
|
-
|
|
56
|
-
## Install
|
|
3
|
+
The Signaliz CLI exposes four product commands:
|
|
57
4
|
|
|
58
5
|
```bash
|
|
59
6
|
npm install -g @signaliz/cli
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
## Production REST Endpoints
|
|
63
|
-
|
|
64
|
-
- Find Email: `https://api.signaliz.com/functions/v1/find-verified-email-v2`
|
|
65
|
-
- Email Verification: `https://api.signaliz.com/functions/v1/email-verification-2`
|
|
66
|
-
- Company Signal Enrichment: `https://api.signaliz.com/functions/v1/company-signal-enrichment-v2`
|
|
67
|
-
- Signal to Copy: `https://api.signaliz.com/functions/v1/api/v1/signal-to-copy`
|
|
68
|
-
|
|
69
|
-
## Quick Start
|
|
70
|
-
|
|
71
|
-
The golden path, in order. Each step shows the canonical command surface; compatibility aliases still work, but the README keeps one path visible.
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
# 1. Authenticate
|
|
75
7
|
signaliz auth login
|
|
76
8
|
|
|
77
|
-
#
|
|
78
|
-
signaliz
|
|
9
|
+
# Production REST gateway:
|
|
10
|
+
# https://api.signaliz.com/functions/v1/api/v1/find-email
|
|
11
|
+
# https://api.signaliz.com/functions/v1/api/v1/verify-email
|
|
12
|
+
# https://api.signaliz.com/functions/v1/api/v1/company-signals
|
|
13
|
+
# https://api.signaliz.com/functions/v1/api/v1/signal-to-copy
|
|
79
14
|
|
|
80
|
-
|
|
81
|
-
signaliz
|
|
82
|
-
signaliz
|
|
83
|
-
signaliz
|
|
84
|
-
|
|
85
|
-
|
|
15
|
+
signaliz find-email --company-domain example.com --full-name "Jane Doe"
|
|
16
|
+
signaliz verify-email jane@example.com
|
|
17
|
+
signaliz company-signals --domain example.com --research-prompt "expansion priorities"
|
|
18
|
+
signaliz signal-to-copy \
|
|
19
|
+
--company-domain example.com \
|
|
20
|
+
--person-name "Jane Doe" \
|
|
21
|
+
--title "VP Sales" \
|
|
22
|
+
--campaign-offer "pipeline intelligence"
|
|
23
|
+
```
|
|
86
24
|
|
|
87
|
-
|
|
88
|
-
signaliz campaign build --prompt "VP Sales at B2B SaaS, 50-500 employees" --target-count 100 --confirm-spend --wait
|
|
89
|
-
signaliz gtm commit-plan --plan-file plan.json --confirm
|
|
90
|
-
signaliz ops create "Build 100 verified VP Sales leads at B2B SaaS companies" --confirm-spend
|
|
91
|
-
signaliz ops run <op_id>
|
|
25
|
+
Use `--json` with any product command for structured output.
|
|
92
26
|
|
|
93
|
-
|
|
94
|
-
signaliz campaign status <campaign_build_id>
|
|
95
|
-
signaliz campaign rows <campaign_build_id> --limit 100
|
|
96
|
-
signaliz ops status <op_id>
|
|
97
|
-
signaliz ops results <op_id> --limit 100 --json
|
|
27
|
+
Every product command also accepts a JSON array or JSONL file for scale:
|
|
98
28
|
|
|
99
|
-
|
|
100
|
-
signaliz
|
|
101
|
-
signaliz
|
|
102
|
-
signaliz
|
|
103
|
-
signaliz
|
|
29
|
+
```bash
|
|
30
|
+
signaliz find-email --input contacts.jsonl --concurrency 20 --json
|
|
31
|
+
signaliz verify-email --input emails.json --concurrency 20 --json
|
|
32
|
+
signaliz company-signals --input companies.jsonl --concurrency 5 --json
|
|
33
|
+
signaliz signal-to-copy --input copy-requests.jsonl --concurrency 5 --json
|
|
104
34
|
```
|
|
105
35
|
|
|
106
|
-
|
|
36
|
+
Batch input is capped at 5,000 records, concurrency is bounded to `1-50`, input
|
|
37
|
+
order is preserved, and a failed item does not abort successful items.
|
|
107
38
|
|
|
108
|
-
|
|
39
|
+
Connection commands are limited to access infrastructure:
|
|
109
40
|
|
|
110
41
|
```bash
|
|
111
|
-
# Interactive login (saves to ~/.signaliz/config.json)
|
|
112
|
-
signaliz auth login
|
|
113
|
-
|
|
114
|
-
# Or set key directly
|
|
115
42
|
signaliz auth set-key sk_live_...
|
|
116
|
-
|
|
117
|
-
# Or use environment variable
|
|
118
|
-
export SIGNALIZ_API_KEY=sk_live_...
|
|
119
|
-
|
|
120
|
-
# Save the active workspace context for deploy/API-key/Ops maintenance commands
|
|
121
43
|
signaliz auth workspace set <workspace_id>
|
|
122
|
-
signaliz auth
|
|
123
|
-
signaliz auth workspace clear
|
|
124
|
-
|
|
125
|
-
# Check who you are
|
|
126
|
-
signaliz whoami
|
|
127
|
-
|
|
128
|
-
# Workspace + MCP platform health
|
|
44
|
+
signaliz auth status
|
|
129
45
|
signaliz health
|
|
130
|
-
signaliz health --json
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
## Discovery
|
|
134
|
-
|
|
135
|
-
```bash
|
|
136
|
-
# List all MCP tools
|
|
137
46
|
signaliz tools
|
|
138
|
-
signaliz
|
|
139
|
-
|
|
140
|
-
# Filter by category
|
|
141
|
-
signaliz tools --category ops
|
|
142
|
-
|
|
143
|
-
# Find the right tool/capability by intent
|
|
144
|
-
signaliz discover --query "verify a batch of emails"
|
|
145
|
-
signaliz discover --query "create an output sink and attach it to a routine" --category ops
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
Human discovery output includes safety metadata from the MCP registry: permission
|
|
149
|
-
level, destructive/idempotent/retryable hints, contract version, rate-limit key,
|
|
150
|
-
and required auth scopes. Use `--json` when agents need the full structured
|
|
151
|
-
metadata.
|
|
152
|
-
|
|
153
|
-
Quickstart/template output also shows primitive IDs and primitive graph policy
|
|
154
|
-
metadata when the backend returns it, so operators can inspect retry,
|
|
155
|
-
concurrency, and rate-limit behavior before running an Op.
|
|
156
|
-
|
|
157
|
-
## Custom AI Enrichment - Multi Model
|
|
158
|
-
|
|
159
|
-
Run custom AI enrichment with the Signaliz-hosted default model. The response includes model readback metadata so callers can audit which model ran.
|
|
160
|
-
|
|
161
|
-
```bash
|
|
162
|
-
signaliz ai multi-model \
|
|
163
|
-
--prompt "Research {{company_name}} and score ICP fit for enterprise sales." \
|
|
164
|
-
--input-json '{"company_name":"Stripe","company_domain":"stripe.com"}' \
|
|
165
|
-
--output-fields fit_score:number,reasoning:text \
|
|
166
|
-
--confirm-spend
|
|
167
|
-
|
|
168
|
-
signaliz ai multi-model \
|
|
169
|
-
--prompt "Review this PDF and extract buyer pains for {{company_name}}." \
|
|
170
|
-
--records-file accounts.json \
|
|
171
|
-
--attachment-fields pdf_url \
|
|
172
|
-
--output-fields pains:array,next_step:text \
|
|
173
|
-
--confirm-spend
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
## Lead Generation And Email
|
|
177
|
-
|
|
178
|
-
```bash
|
|
179
|
-
# Preview spend approval requirements. This returns APPROVAL_REQUIRED.
|
|
180
|
-
signaliz lead generate \
|
|
181
|
-
--prompt "VP Sales at B2B SaaS companies, 50-500 employees" \
|
|
182
|
-
--max-leads 100
|
|
183
|
-
|
|
184
|
-
# Launch after reviewing estimated credits
|
|
185
|
-
signaliz lead generate \
|
|
186
|
-
--prompt "VP Sales at B2B SaaS companies, 50-500 employees" \
|
|
187
|
-
--max-leads 100 \
|
|
188
|
-
--confirm-spend
|
|
189
|
-
|
|
190
|
-
# Local-business lead generation
|
|
191
|
-
signaliz lead local \
|
|
192
|
-
--prompt "dentists in Phoenix, AZ" \
|
|
193
|
-
--target-verified 50 \
|
|
194
|
-
--confirm-spend
|
|
195
|
-
|
|
196
|
-
# Poll async lead jobs
|
|
197
|
-
signaliz lead status <job_id>
|
|
198
|
-
|
|
199
|
-
# Verify or find emails. `email find` uses the V3 waterfall:
|
|
200
|
-
# primary discovery, secondary enrichment, verified guesses, then paid fallback if needed.
|
|
201
|
-
signaliz email verify jane@example.com
|
|
202
|
-
signaliz email verify-batch --emails jane@example.com,sam@example.com
|
|
203
|
-
signaliz email status <job_id>
|
|
204
|
-
signaliz email find --company-domain stripe.com --full-name "Jane Smith"
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
## GTM Kernel
|
|
208
|
-
|
|
209
|
-
Use this path when the campaign should become durable workspace state. The plan is read-only, `commit-plan` dry-runs first, and writes require `--confirm`.
|
|
210
|
-
|
|
211
|
-
```bash
|
|
212
|
-
# Inspect the workspace Kernel context available to agents
|
|
213
|
-
signaliz gtm context
|
|
214
|
-
signaliz gtm context --no-memory --limit 5 --json
|
|
215
|
-
|
|
216
|
-
# Check Kernel, Brain, feedback, memory, and connection readiness gates
|
|
217
|
-
signaliz gtm bootstrap
|
|
218
|
-
signaliz gtm bootstrap --campaign-id <campaign_id> --include-samples --json
|
|
219
|
-
|
|
220
|
-
# Compose a read-only campaign build plan before creating, routing, or spending
|
|
221
|
-
signaliz gtm plan "Find CTOs at fintech startups in NYC" \
|
|
222
|
-
--target-count 100 \
|
|
223
|
-
--layers icp,lead_generation,email_verification,sender,feedback \
|
|
224
|
-
--preferred-providers instantly \
|
|
225
|
-
--include-planned
|
|
226
|
-
|
|
227
|
-
# Save the JSON plan, then dry-run a reviewed campaign-object commit
|
|
228
|
-
signaliz gtm plan "Find CTOs at fintech startups in NYC" --target-count 100 --json > plan.json
|
|
229
|
-
signaliz gtm commit-plan --plan-file plan.json
|
|
230
|
-
signaliz gtm commit-plan --plan-file plan.json --confirm
|
|
231
|
-
|
|
232
|
-
# List and inspect first-class GTM campaigns
|
|
233
|
-
signaliz gtm campaigns --status active
|
|
234
|
-
signaliz gtm campaign <campaign_id> --log-limit 20 --memory-limit 20
|
|
235
|
-
|
|
236
|
-
# Search ranked GTM memory instead of dumping raw history
|
|
237
|
-
signaliz gtm memory "positive replies from technical founders" \
|
|
238
|
-
--outcome-type positive_reply \
|
|
239
|
-
--limit 10
|
|
240
|
-
|
|
241
|
-
# Plan Brain learning in dry-run mode
|
|
242
|
-
signaliz gtm learning <campaign_id> --include-network --write-mode dry_run
|
|
243
|
-
signaliz gtm learning-run <campaign_id> \
|
|
244
|
-
--phases workspace_pattern_extraction,failure_pattern_detection,defaults_seed,delivery_risk \
|
|
245
|
-
--write-mode dry_run
|
|
246
|
-
signaliz gtm calibrate <campaign_id> --min-sample-size 10
|
|
247
|
-
|
|
248
|
-
# Inspect and repair provider readiness without leaving the CLI
|
|
249
|
-
signaliz gtm execution <campaign_id>
|
|
250
|
-
signaliz gtm integrations --campaign-id <campaign_id> --include-planned
|
|
251
|
-
signaliz gtm nango connect \
|
|
252
|
-
--provider-id apollo \
|
|
253
|
-
--integration-id apollo
|
|
254
|
-
signaliz gtm nango tools \
|
|
255
|
-
--workspace-connection-id <workspace_connection_id> \
|
|
256
|
-
--provider-config-key apollo
|
|
257
|
-
signaliz gtm route-preview --campaign-id <campaign_id> --layer sender
|
|
258
|
-
signaliz gtm activate-route --campaign-id <campaign_id> \
|
|
259
|
-
--provider-id instantly \
|
|
260
|
-
--layer sender
|
|
261
|
-
|
|
262
|
-
# Derive exact dry-run build input from the committed GTM campaign object
|
|
263
|
-
signaliz gtm prepare-build <campaign_id> --build-input --json > build-args.json
|
|
264
|
-
signaliz campaign build --input-file build-args.json --confirm-spend
|
|
265
|
-
|
|
266
|
-
# Write route changes only after reviewing the dry-run
|
|
267
|
-
signaliz gtm activate-route --campaign-id <campaign_id> \
|
|
268
|
-
--provider-id instantly \
|
|
269
|
-
--layer sender \
|
|
270
|
-
--confirm
|
|
271
|
-
|
|
272
|
-
# Prepare feedback ingress with feedback-triggered Brain learning
|
|
273
|
-
signaliz gtm feedback-webhook --provider instantly \
|
|
274
|
-
--campaign-id <campaign_id> \
|
|
275
|
-
--write-mode dry_run
|
|
276
|
-
```
|
|
277
|
-
|
|
278
|
-
## Campaign Builder
|
|
279
|
-
|
|
280
|
-
### Strategy-template campaign agent
|
|
281
|
-
|
|
282
|
-
Use `gtm strategy-memory` to verify that private-safe strategy/workflow memory is
|
|
283
|
-
seeded before asking the campaign agent to plan:
|
|
284
|
-
|
|
285
|
-
```bash
|
|
286
|
-
signaliz gtm strategy-memory \
|
|
287
|
-
--strategy-template non-medical-home-care \
|
|
288
|
-
--include-samples \
|
|
289
|
-
--json
|
|
290
|
-
```
|
|
291
|
-
|
|
292
|
-
Use `gtm agent-template` when you want the hosted MCP surface to emit reusable
|
|
293
|
-
`CampaignBuilderAgentRequest` JSON before planning:
|
|
294
|
-
|
|
295
|
-
```bash
|
|
296
|
-
signaliz gtm agent-template \
|
|
297
|
-
--goal "Build a strategy-template campaign for mature local operators" \
|
|
298
|
-
--strategy-template non-medical-home-care \
|
|
299
|
-
--target-count 250 \
|
|
300
|
-
--use-local-leads \
|
|
301
|
-
--with-byo-placeholder \
|
|
302
|
-
--json
|
|
303
|
-
```
|
|
304
|
-
|
|
305
|
-
Use `gtm agent-plan` when you want the CLI to call the hosted MCP campaign-agent
|
|
306
|
-
planner directly:
|
|
307
|
-
|
|
308
|
-
```bash
|
|
309
|
-
signaliz gtm agent-plan \
|
|
310
|
-
--goal "Build a strategy-template campaign for mature local operators" \
|
|
311
|
-
--strategy-template non-medical-home-care \
|
|
312
|
-
--target-count 500 \
|
|
313
|
-
--builtins lead_generation,local_leads,email_finding,email_verification,signals \
|
|
314
|
-
--custom-tool workspace_mcp:enrichment:account_enrich:workspace-mcp \
|
|
315
|
-
--json
|
|
316
|
-
```
|
|
317
|
-
|
|
318
|
-
Use `campaign-agent` when you want the CLI to assemble the full MCP plan first:
|
|
319
|
-
private-safe strategy template, strategy-memory readiness, Brain risk, built-in
|
|
320
|
-
Signaliz lanes, and BYO tool routes. BYO routes include read-only
|
|
321
|
-
`gtm_provider_recipe_prepare` and `gtm_provider_route_activate` dry-run steps
|
|
322
|
-
before any custom provider tool can run. Planning and dry-runs are
|
|
323
|
-
read-only/spend-safe; launches require explicit approval flags.
|
|
324
|
-
|
|
325
|
-
```bash
|
|
326
|
-
signaliz campaign-agent init \
|
|
327
|
-
--strategy-template non-medical-home-care \
|
|
328
|
-
--target-count 250 \
|
|
329
|
-
--use-local-leads \
|
|
330
|
-
--with-byo-placeholder \
|
|
331
|
-
--output-file campaign-request.json
|
|
332
|
-
|
|
333
|
-
signaliz campaign-agent memory-kit \
|
|
334
|
-
--strategy-template non-medical-home-care \
|
|
335
|
-
--target-count 250 \
|
|
336
|
-
--use-local-leads \
|
|
337
|
-
--source agency \
|
|
338
|
-
--json
|
|
339
|
-
|
|
340
|
-
signaliz campaign-agent plan \
|
|
341
|
-
--goal "Build a strategy-template campaign for mature local operators" \
|
|
342
|
-
--strategy-template non-medical-home-care \
|
|
343
|
-
--target-count 500 \
|
|
344
|
-
--builtins lead_generation,local_leads,email_finding,email_verification,signals \
|
|
345
|
-
--custom-tool workspace_mcp:enrichment:workspace_enrich:workspace-mcp \
|
|
346
|
-
--json
|
|
347
|
-
|
|
348
|
-
signaliz campaign-agent plan \
|
|
349
|
-
--request-file campaign-request.json \
|
|
350
|
-
--target-count 250 \
|
|
351
|
-
--json
|
|
352
|
-
|
|
353
|
-
signaliz campaign-agent dry-run \
|
|
354
|
-
--goal "Build a strategy-template campaign for mature local operators" \
|
|
355
|
-
--target-count 500 \
|
|
356
|
-
--json
|
|
357
|
-
|
|
358
|
-
signaliz campaign-agent build-approved \
|
|
359
|
-
--goal "Build a strategy-template campaign for mature local operators" \
|
|
360
|
-
--confirm-launch \
|
|
361
|
-
--approve-all \
|
|
362
|
-
--approved-by operator@example.com \
|
|
363
|
-
--spend-limit 500 \
|
|
364
|
-
--json
|
|
47
|
+
signaliz mcp install
|
|
365
48
|
```
|
|
366
49
|
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
# Minimal — just a prompt
|
|
371
|
-
signaliz campaign build --prompt "Find CTOs at fintech startups in NYC"
|
|
372
|
-
|
|
373
|
-
# Full options
|
|
374
|
-
signaliz campaign build \
|
|
375
|
-
--prompt "VP Engineering at Series B+ companies" \
|
|
376
|
-
--target-count 5000 \
|
|
377
|
-
--confirm-spend \
|
|
378
|
-
--outputs csv \
|
|
379
|
-
--industries "SaaS,Fintech" \
|
|
380
|
-
--geographies "US,UK" \
|
|
381
|
-
--wait \
|
|
382
|
-
--json
|
|
383
|
-
|
|
384
|
-
# With webhook delivery
|
|
385
|
-
signaliz campaign build \
|
|
386
|
-
--prompt "Sales Directors at healthcare companies" \
|
|
387
|
-
--target-count 200 \
|
|
388
|
-
--confirm-spend \
|
|
389
|
-
--webhook-url https://hooks.example.com/leads \
|
|
390
|
-
--hmac-secret-ref WEBHOOK_SECRET
|
|
391
|
-
|
|
392
|
-
# Validate and inspect the plan before launching spendful work
|
|
393
|
-
signaliz campaign build \
|
|
394
|
-
--prompt "CTOs at fintech startups in NYC" \
|
|
395
|
-
--target-count 10000 \
|
|
396
|
-
--dry-run \
|
|
397
|
-
--allow-downscale \
|
|
398
|
-
--json
|
|
399
|
-
|
|
400
|
-
# Approve a pending webhook delivery
|
|
401
|
-
signaliz campaign approve <campaign_build_id> \
|
|
402
|
-
--destination-type webhook \
|
|
403
|
-
--webhook-url https://hooks.example.com/leads
|
|
404
|
-
|
|
405
|
-
# From a JSON config file
|
|
406
|
-
signaliz campaign build --input-file campaign.json --wait
|
|
407
|
-
```
|
|
408
|
-
|
|
409
|
-
### Check status
|
|
410
|
-
|
|
411
|
-
```bash
|
|
412
|
-
signaliz campaign status <campaign_build_id>
|
|
413
|
-
signaliz campaign status <campaign_build_id> --json
|
|
414
|
-
```
|
|
415
|
-
|
|
416
|
-
### Retrieve rows
|
|
417
|
-
|
|
418
|
-
```bash
|
|
419
|
-
# First page (50 rows default)
|
|
420
|
-
signaliz campaign rows <campaign_build_id>
|
|
421
|
-
|
|
422
|
-
# Custom page size
|
|
423
|
-
signaliz campaign rows <campaign_build_id> --limit 200
|
|
424
|
-
|
|
425
|
-
# Paginate with cursor
|
|
426
|
-
signaliz campaign rows <campaign_build_id> --limit 100 --cursor <next_cursor>
|
|
427
|
-
|
|
428
|
-
# Dump all rows (caution: large datasets)
|
|
429
|
-
signaliz campaign rows <campaign_build_id> --all --json
|
|
430
|
-
|
|
431
|
-
# Filter by segment
|
|
432
|
-
signaliz campaign rows <campaign_build_id> --segment signal
|
|
433
|
-
|
|
434
|
-
# Filter by qualification or row status
|
|
435
|
-
signaliz campaign rows <campaign_build_id> --qualified
|
|
436
|
-
signaliz campaign rows <campaign_build_id> --row-status succeeded
|
|
437
|
-
```
|
|
438
|
-
|
|
439
|
-
### List artifacts
|
|
440
|
-
|
|
441
|
-
```bash
|
|
442
|
-
signaliz campaign artifacts <campaign_build_id>
|
|
443
|
-
signaliz campaign artifacts <campaign_build_id> --json
|
|
444
|
-
```
|
|
445
|
-
|
|
446
|
-
### Cancel a build
|
|
447
|
-
|
|
448
|
-
```bash
|
|
449
|
-
signaliz campaign cancel <campaign_build_id>
|
|
450
|
-
signaliz campaign cancel <campaign_build_id> --reason "Wrong ICP"
|
|
451
|
-
```
|
|
452
|
-
|
|
453
|
-
## MCP Server Installation
|
|
454
|
-
|
|
455
|
-
Install the Signaliz MCP server for your AI agent:
|
|
456
|
-
|
|
457
|
-
```bash
|
|
458
|
-
# Claude Code
|
|
459
|
-
signaliz mcp install --agent claude-code
|
|
460
|
-
|
|
461
|
-
# OpenAI Codex
|
|
462
|
-
signaliz mcp install --agent codex
|
|
463
|
-
|
|
464
|
-
# Manus
|
|
465
|
-
signaliz mcp install --agent manus
|
|
466
|
-
|
|
467
|
-
# Generic (prints config JSON to stdout)
|
|
468
|
-
signaliz mcp install --agent generic
|
|
469
|
-
```
|
|
470
|
-
|
|
471
|
-
Installed agents can call Signaliz MCP tools for GTM Kernel reads, Campaign
|
|
472
|
-
Builder execution, Nango-aware provider route activation, and the 100-record
|
|
473
|
-
email verification primitive.
|
|
474
|
-
|
|
475
|
-
## Ops Execution And Observability
|
|
476
|
-
|
|
477
|
-
Prompt-first Ops stay simple for beginners, but the CLI exposes production
|
|
478
|
-
inspection paths for operators debugging asynchronous workflows. The canonical
|
|
479
|
-
surface is `signaliz ops ...`; shortcut aliases remain available for existing
|
|
480
|
-
scripts but are not needed for new work.
|
|
481
|
-
|
|
482
|
-
```bash
|
|
483
|
-
# Natural-language planning and creation
|
|
484
|
-
signaliz ops autopilot
|
|
485
|
-
signaliz ops plan "Monitor these accounts daily and alert Slack on funding signals"
|
|
486
|
-
# Human plan output includes run-now, schedule, approval, status, results, and Nango dry-run gates.
|
|
487
|
-
signaliz ops create "Monitor strategic accounts and alert Slack on funding or CRM updates" \
|
|
488
|
-
--cadence daily \
|
|
489
|
-
--timezone America/Phoenix \
|
|
490
|
-
--wake-on-events company_funded,crm.updated \
|
|
491
|
-
--activate \
|
|
492
|
-
--confirm-spend
|
|
493
|
-
signaliz ops schedule "Monitor strategic accounts and alert Slack on funding or CRM updates" \
|
|
494
|
-
--timezone America/Phoenix \
|
|
495
|
-
--wake-on-events company_funded,crm.updated \
|
|
496
|
-
--destinations slack \
|
|
497
|
-
--confirm-spend \
|
|
498
|
-
--wait \
|
|
499
|
-
--limit 100 \
|
|
500
|
-
--json
|
|
501
|
-
signaliz ops quickstart company_research
|
|
502
|
-
signaliz ops create "Build 100 verified VP Sales leads at B2B SaaS companies" --confirm-spend
|
|
503
|
-
|
|
504
|
-
# Bring any customer-owned API into Ops through Nango
|
|
505
|
-
signaliz ops nango search hubspot --intent ops --action-name upsert-contact --required-fields email,company --json
|
|
506
|
-
signaliz ops nango tools --workspace-connection-id <workspace_connection_id> --json
|
|
507
|
-
signaliz ops nango call <action_name> --workspace-connection-id <workspace_connection_id> --input-json '{"rows":[]}' --dry-run --json
|
|
508
|
-
# --wait uses the native nango_mcp_tool_call_and_wait tool for a single execute-and-result packet
|
|
509
|
-
signaliz ops nango call <action_name> --workspace-connection-id <workspace_connection_id> --input-json '{"rows":[]}' --execute --confirm --wait --json
|
|
510
|
-
# schedule/recur uses native ops_nango_schedule(_and_wait) instead of a generic destinations payload
|
|
511
|
-
signaliz ops nango schedule "Monitor accounts daily and upsert approved rows to HubSpot" --workspace-connection-id <workspace_connection_id> --provider-config-key hubspot --action-name upsert-contact --input-json '{"source":"signaliz"}' --required-fields email,company --confirm-spend --write-confirmed --wait --json
|
|
512
|
-
signaliz ops execute "Build 50 approved ICP leads and upsert them to HubSpot" \
|
|
513
|
-
--destinations nango \
|
|
514
|
-
--workspace-connection-id <workspace_connection_id> \
|
|
515
|
-
--provider-config-key hubspot \
|
|
516
|
-
--action-name upsert-contact \
|
|
517
|
-
--dry-run
|
|
518
|
-
|
|
519
|
-
# Execute and inspect Op-level results
|
|
520
|
-
signaliz ops execute "Build 50 approved ICP leads and return reviewed rows" \
|
|
521
|
-
--confirm-spend \
|
|
522
|
-
--wait \
|
|
523
|
-
--limit 50 \
|
|
524
|
-
--json
|
|
525
|
-
signaliz ops run <op_id>
|
|
526
|
-
signaliz ops run <op_id> --wait --limit 100 --json
|
|
527
|
-
signaliz ops wait <op_id> --limit 100 --json
|
|
528
|
-
signaliz ops status <op_id>
|
|
529
|
-
signaliz ops results <op_id> --limit 100 --json
|
|
530
|
-
signaliz ops results <op_id> --include-failed-runs --json
|
|
531
|
-
|
|
532
|
-
# Save repeatable local Ops command recipes
|
|
533
|
-
signaliz ops saved save daily-goal -- create "Build 100 verified VP Sales leads" --target-count 100
|
|
534
|
-
signaliz ops saved save daily-monitor -- plan "Monitor key accounts daily" --cadence daily --destinations slack,csv
|
|
535
|
-
signaliz ops saved list
|
|
536
|
-
signaliz ops saved run daily-monitor --json
|
|
537
|
-
signaliz ops saved delete daily-monitor
|
|
538
|
-
|
|
539
|
-
# Inspect Trigger.dev execution state
|
|
540
|
-
signaliz ops run-status <trigger_run_id>
|
|
541
|
-
signaliz ops run-status <trigger_run_id> --watch --interval-ms 5000 --max-polls 60
|
|
542
|
-
signaliz ops run-status --run-ids run_a,run_b --json
|
|
543
|
-
|
|
544
|
-
# Inspect async queue depth, provider pressure, and individual jobs
|
|
545
|
-
signaliz ops queue
|
|
546
|
-
signaliz ops queue --summary
|
|
547
|
-
signaliz ops queue --job-id <api_request_queue_id>
|
|
548
|
-
signaliz ops queue --idempotency-key <key>
|
|
549
|
-
|
|
550
|
-
# Stream live run logs
|
|
551
|
-
signaliz ops logs <trigger_run_id>
|
|
552
|
-
signaliz ops logs <trigger_run_id> --since <event_id> --filter error
|
|
553
|
-
|
|
554
|
-
# Replay a failed execution from a captured checkpoint
|
|
555
|
-
signaliz ops replay <execution_event_id>
|
|
556
|
-
|
|
557
|
-
# Approve or reject pending Ops approval tokens
|
|
558
|
-
signaliz ops approve <approval_token_id> --decision approved
|
|
559
|
-
signaliz ops approve --token-ids token_a,token_b --decision rejected --notes "Needs review"
|
|
560
|
-
|
|
561
|
-
# Inspect and manually run routines
|
|
562
|
-
signaliz ops routines --status active
|
|
563
|
-
signaliz ops routine <routine_id>
|
|
564
|
-
signaliz ops routine <routine_id> run --force
|
|
565
|
-
signaliz ops routine <routine_id> ticks --limit 20
|
|
566
|
-
signaliz ops routine <routine_id> items --state failed --json
|
|
567
|
-
|
|
568
|
-
# Pull operator telemetry from the Ops dashboard API
|
|
569
|
-
signaliz ops dashboard summary
|
|
570
|
-
signaliz ops dashboard functions --time-range-days 7 --json
|
|
571
|
-
signaliz ops dashboard recent --limit 25
|
|
572
|
-
signaliz ops dashboard timeseries --granularity hour --json
|
|
573
|
-
```
|
|
574
|
-
|
|
575
|
-
## Machine-Readable Output
|
|
576
|
-
|
|
577
|
-
All commands support `--json` for structured JSON output using the standard MCP response envelope:
|
|
578
|
-
|
|
579
|
-
```bash
|
|
580
|
-
signaliz campaign build --prompt "..." --json
|
|
581
|
-
signaliz campaign build --prompt "..." --wait --json
|
|
582
|
-
signaliz campaign status <id> --json
|
|
583
|
-
signaliz campaign rows <id> --limit 100 --json
|
|
584
|
-
signaliz whoami --json
|
|
585
|
-
signaliz health --json
|
|
586
|
-
signaliz tools --json
|
|
587
|
-
signaliz discover --query "verify emails" --json
|
|
588
|
-
signaliz lead status <job_id> --json
|
|
589
|
-
signaliz email verify jane@example.com --json
|
|
590
|
-
signaliz ops queue --summary --json
|
|
591
|
-
signaliz ops run-status <trigger_run_id> --json
|
|
592
|
-
signaliz ops replay <execution_event_id> --json
|
|
593
|
-
signaliz ops dashboard summary --json
|
|
594
|
-
```
|
|
595
|
-
|
|
596
|
-
When `campaign build --wait --json` is used, the CLI emits one valid JSON
|
|
597
|
-
document with both `initial` and `final` states.
|
|
598
|
-
|
|
599
|
-
## Environment Variables
|
|
600
|
-
|
|
601
|
-
| Variable | Description |
|
|
602
|
-
|---|---|
|
|
603
|
-
| `SIGNALIZ_API_KEY` | API key (overrides saved config) |
|
|
604
|
-
| `SIGNALIZ_API_URL` | Override base URL. Both `https://api.signaliz.com` and `https://api.signaliz.com/functions/v1` are accepted. |
|
|
605
|
-
| `SIGNALIZ_WORKSPACE_ID` | Workspace UUID for keys/deploy |
|
|
606
|
-
|
|
607
|
-
## Config File
|
|
608
|
-
|
|
609
|
-
The CLI stores configuration in `~/.signaliz/config.json` (mode 0600). The file contains your API key, optional workspace context created by `signaliz auth workspace set`, and local saved Ops command recipes created by `signaliz ops saved save`. `SIGNALIZ_API_KEY` and `SIGNALIZ_WORKSPACE_ID` override saved config values for one-off execution.
|
|
50
|
+
Configuration is stored in `~/.signaliz/config.json` with file mode `0600`.
|
|
51
|
+
`SIGNALIZ_API_KEY`, `SIGNALIZ_API_URL`, and `SIGNALIZ_BASE_URL` override the
|
|
52
|
+
saved configuration.
|