Skip to main content
CrewAI projects usually fit the Agent Deployment job shape: run crewai run, produce artifacts, and exit. Use this path when a crew should execute as a repeatable product workflow with logs, outputs, status, and backing sandbox debugging.

Deploy As A Job

name = "crewai-report-job"
mode = "job"
template = "base"
workdir = "/workspace/project"
install = "python -m pip install -e ."
entrypoint = "crewai run"

[env]
required = ["OPENAI_API_KEY"]

[outputs]
paths = ["result.json", "reports"]
Then deploy and run the project:
nullspace agent deploy .
nullspace agent run crewai-report-job \
  --input-json '{"topic":"release risks"}' \
  --env OPENAI_API_KEY="$OPENAI_API_KEY" \
  --json

nullspace agent logs crewai-report-job --run adrun_123
nullspace agent outputs crewai-report-job --run adrun_123
Use [outputs] for files or directories the job should publish, such as reports, task summaries, or structured JSON. Keep provider credentials in env vars, not in project files. See the CrewAI job example for a complete project.

State And Memory

CrewAI flow state and memory remain app-owned. Store state in your application database, a mounted Nullspace volume, or another durable store when it must survive one disposable job sandbox. Nullspace run IDs identify deployment runs; they are not CrewAI flow or conversation IDs.