Deploy one scoped supported feed and verify its stream and consumer
independently.
A Monitor accepts data. It does not contain the code that reacts to it. Read
How Monitors work for the product model.
Before you start
You need an authenticated Deepline workspace. Know which source events you want to accept and the smallest scope that produces useful data.1. Inspect supported types
deepline_native.company_radar with one of those IDs, then use its returned
payload schema. Available Monitor types, streams, output tables, and pricing
depend on your workspace and the provider.
If the source might already be covered, inspect the existing registry before
you deploy another feed:
has_more: true, run it
again with --cursor <next_cursor> before you conclude that no existing
Monitor covers your scope.
One Monitor can supply a stream to several Plays. Reuse a Monitor when its
existing scope already covers the events you need.
2. Define the narrowest useful scope
Save a definition asmonitor.json. This example watches job openings at one
company through the Deepline Native company radar:
deepline describe deepline_native.company_radar.
Scope the Monitor itself rather than accepting a broad feed and filtering only
in a Play. For an event-priced Monitor, a Play filter does not reduce the
events the Monitor accepts.
3. Validate without deploying or spending credits
check validates the definition. It does not deploy a Monitor, create an
upstream resource, or spend credits. Resolve every validation error before you
continue.
4. Preview the deployment, then deploy
deploy sets the complete definition for its key. Deploying again with a
field left out removes that field and can replace the upstream resource. To
change one field, use deepline monitors update instead.
5. Confirm the live Monitor
active, its output stream and Database table match
the intended data, and its scope has not widened. The response also shows
connected Plays and their current listener health when available.
A Monitor is always in one of four states:
For a source that pushes events to Deepline, you can check a sample event
against the deployed Monitor without storing a row, spending credits, or
starting a Play:
6. Connect a Play to the stream
Write a Play with asqlListeners trigger for the Monitor’s exact tool and
stream, for example on-job-opening.play.ts:
where filter to the rows that
should run code. Put joins and business decisions in the Play body, not in the
Monitor definition.
Check and publish the Play when its logic is ready:
Deploy Monitor files from Git
Commit the same JSON definition asmonitors/acme-jobs.monitor.json. Linked
repository deployments discover **/*.monitor.json by default, even when
deepline.json is absent. Set monitors in deepline.json to narrow or
replace that glob:
"monitors": [] disables file discovery.
Pull requests validate the definitions and show proposed changes and available
Deepline pricing without provisioning Monitors. A push to the production branch
applies changes and waits for the Monitor Jobs to finish. Usual Monitor pricing
and workspace access requirements apply.
Stopped Monitors stay stopped when you push. Deleting a file, narrowing the
globs, or setting "monitors": [] leaves existing Monitors unchanged. Remove
a live Monitor explicitly using the commands below.
Provider changes are not rolled back if a later step fails. Inspect
deepline git deployments <id> and the affected Monitors before retrying.
Monitor many rows from a table (beta)
A Fleet keeps one Monitor for each selected row of a Database table, such as one company radar per target account. Each member is an ordinary Monitor with its usual pricing; a Fleet adds no fee of its own.{{domain}} is filled from each source row. The dry run shows the plan and
the Deepline credits due before anything changes. A Fleet holds up to 1,000
active members and checks its source table about once a minute. Membership is
sticky: a higher-ranked row fills an open slot but does not replace a current
member. A member whose row leaves the table is turned off after 7 days.
Run deepline monitors fleets --help for the complete lifecycle, including
deactivate and reactivate.
Change a Monitor safely
Inspect the Monitor and its connected Plays before changing it. Its output stream can also feed queries, dashboards, exports, or warehouse jobs.payload.updates_since, which requests historical events from that time.
Changing only filters, or restarting a Monitor, does not replay the period it
was off.
Pause and resume a Monitor
stop turns the Monitor off upstream and keeps its definition. start
applies that saved definition again and can charge reactivation pricing.
Preview either with --dry-run:
deepline monitors jobs wait <job-id>
to wait until the provider has made the change. A Monitor you stop stays
stopped, including when you add credits, change the spending cap, or push its
file from Git.
Billing suspension
Deepline turns off every Monitor in the workspace and marks itbilling_suspended when either of these happens:
- Any spend, from a Monitor, Play, or tool, takes the credit balance below 0 and no automatic recharge is in progress.
- Spend this billing period reaches the workspace’s monthly spending cap.
Remove a Monitor
How Monitors work
Understand the event path and the boundary between a Monitor and a Play.
From a Monitor signal to a Play
Follow one hiring signal from a scoped Monitor to a published Play.
Monitor contract reference
Inspect supported Monitor payloads, streams, outputs, and update semantics.