ATS

ATS data & automation

Namespaces, workflow events, reporting surfaces, and API reference links for ATS.

JQL Namespaces

The primary namespaces follow the module models in src/ats/models.py. Use /reference/ats for the curated namespace reference, supported intents, fields, filters, permissions, and examples.

NamespaceUse it for
ats.RecruitmentPipeline, ats.ApplicationStagePipeline definitions and stage order for applications.
ats.CareersPageConfig, ats.JobPostingPublic careers configuration and job adverts.
ats.CandidateCandidate identity, contact details, and source data.
ats.JobApplication, ats.ApplicationStageHistory, ats.ApplicationNoteApplication records, stage movement, and internal notes.
ats.ApplicationSection, ats.ApplicationQuestionGlobal and job-specific application form schema.
ats.ApplicationFeedback, ats.InterviewInterviewer schedules, feedback, and interview outcomes.
ats.OfferOffer details, send/accept/reject state, and hire handoff.

Useful Workflow Events

Prefer explicit automation event constants where the backend defines them. Where a module has no dedicated event class yet, model workflows around create, update, status, assignment, approval, publish, post, and archive transitions on the namespaces above.

  • ats.JobPosting:create
  • ats.JobPosting:publish
  • ats.JobPosting:close
  • ats.Candidate:create
  • ats.JobApplication:create
  • ats.JobApplication:stage_change
  • ats.JobApplication:advance
  • ats.JobApplication:reject
  • ats.Interview:schedule
  • ats.Interview:complete
  • ats.Offer:send
  • ats.Offer:accept
  • ats.Offer:withdraw

Create And Update Patterns

  • Create events are best for notifications, initial assignment, SLA timers, provisioning, and first-time validation.
  • Update events are best for synchronization, report enrichment, downstream recalculation, and integration callbacks.
  • Status-change events are best for approvals, escalations, posting, publishing, cancellation, rejection, or completion.
  • Assignment events are best for task creation, manager notifications, workload routing, and access review.
  • Delete events should be rare; prefer archive, cancel, close, void, suspend, or deactivate when historical reporting matters.
  • External integrations should include the module record id, tenant id, owner, status, timestamps, and source system key.
  • Workflow filters should narrow by status, type, owner, or amount so routine edits do not trigger noisy automation.
  • Scripts should be used for calculations, transformations, and integrations that workflow nodes cannot express cleanly.

Reports And Dashboards

  • Open jobs and hiring demand.
  • Application funnel by stage.
  • Time in stage and stale applications.
  • Interview schedule and feedback completion.
  • Offer acceptance and rejection.
  • Source and careers page performance.

Automation Recipes

  • When a new ATS record is created, notify the owner and create an onboarding or review task if required fields are missing.
  • When a record enters a pending approval state, route it to the correct approver and set a due date.
  • When a record is approved, update related Base objects, create downstream module records, or notify the requester.
  • When a record is rejected, capture reason, notify the requester, and create a correction task if the process can continue.
  • When a record is completed or posted, lock downstream assumptions and refresh reporting dimensions.
  • When a record is cancelled, voided, archived, or suspended, notify dependent owners and stop open tasks where appropriate.
  • When an integration fails, log the source payload key and create a task for the owning operations team.
  • When a report shows stale records, trigger a recurring workflow that reminds owners before escalation.

Integration Guardrails

  • Use the narrowest API key or integration role that can read and write the required namespaces.
  • Do not let integrations bypass approval, posting, payment, fulfillment, or publication actions that users must perform in the UI.
  • Use idempotency keys or source-system identifiers for imports and callbacks.
  • Validate tenant ownership on every linked record before creating cross-module relationships.
  • Avoid free-form status values; use the statuses and actions exposed by the module models and controllers.
  • Keep workflow payloads small but include enough context for audit and troubleshooting.
  • Test integrations with one complete lifecycle before scheduling bulk imports or recurring jobs.
  • Review failed jobs and webhook logs as part of the module operating rhythm.
  • Start with /reference/ats for namespaces, fields, filters, permissions, and intents.
  • Pair this page with the setup and working pages so automation follows the same lifecycle users see in the product.
  • For cross-module workflows, also review references for objects, tasks, tickets, reports, notifications, and workflow automation.