Running a job
A job is one execution of a published spinner across the rows in its data table (or the rows selected by the trigger). This page is the operator guide for Run now: what must be running, what you will see, and how long to wait.
Before you run
Section titled “Before you run”Checklist:
- Data table has rows (verify with Show data)
- Metadata fields are set for columns the spinner needs
- Spinner is published (see Publishing)
- Channels / AI providers / vault secrets the steps need are configured
- The runtime service is up (see below)
Run now
Section titled “Run now”- Open the project → Spinners.
- Find a published spinner (not a supporting child you never run by hand).
- Click Run now.
- Watch the status line on the list or open Jobs.
src/assets/screenshots/16-spinners-list.pngThe API creates the job. The runtime executes each step for each row. If the runtime is down, the job may sit idle or never progress.
Runtime must be running
Section titled “Runtime must be running”CXGear is split so the web app and API can stay light while heavy work runs in the runtime process.
| Piece | Role |
|---|---|
| Web / API | You click Run now; job row is created |
| Runtime | Walks steps, calls AI, sends messages, writes outcomes |
If jobs never move from queued / running with zero progress, ask your administrator to confirm the runtime service is online. Local developers usually run it alongside the API.
Progress messages
Section titled “Progress messages”While a job runs you may see:
- Counts of completed vs failed rows
- Overall job status (running, completed, failed, partial)
- Per-record messages in the pipeline journey (log lines, AI errors, channel results)
On Jobs:
- Left: runs (spinner name, progress, status, duration)
- Right: records for the selected run (paginated)
- Use Refresh after a run finishes if the list has not updated yet
src/assets/screenshots/08-jobs-page.pngTiming — especially AI
Section titled “Timing — especially AI”Simple steps (log, tag) finish quickly. AI agent steps call an external model and can take up to about two minutes per record, depending on provider load and prompt size.
Plan expectations:
| Pipeline style | What to expect |
|---|---|
| Log + tag only | Seconds to a short minute for small tables |
| AI draft + WhatsApp | Longer; AI dominates wall time |
| Thousands of rows with AI | Minutes to hours — watch Jobs progress, do not re-click Run now repeatedly |
Do not assume the UI is stuck because one AI step is slow. Open the journey for a single record to see which step is active or failed.
Other ways jobs start
Section titled “Other ways jobs start”Run now is the manual path. Jobs also start from:
- Schedules / triggers configured on the spinner
- API keys with trigger permission (CRM events)
Those paths still require a published definition and a healthy runtime. See Triggers.
Success looks like
Section titled “Success looks like”- Job status completed (or partial failures with clear errors on failed rows)
- Records shows metadata plus outcomes for processed contacts
- Journey shows each step’s message when you debug
- Duration on the job matches the work (AI-heavy runs take longer)
Common problems
Section titled “Common problems”| Symptom | Likely cause | What to do |
|---|---|---|
| Job never moves | Runtime not running | Start / restart runtime |
| Old behavior | Spinner not republished after edits | Publish again |
| Plan limit toast | Monthly jobs or records exceeded | See Plan limits |
| AI step errors | Bad model id, missing provider, vault secret | Check Integrations and journey error text |
| Empty Records | Job failed early or no rows | Check Jobs status and data table |