For builders

Turn your process into a product.

You already know how to do the work. Package it once as a DotJob — inputs, steps, connections, outputs — and earn every time someone's Dot runs it.

Read the spec
Four Dots building with blocks

Recurring revenue

Set a monthly or per-run price. You earn on every install, every month, for as long as it keeps delivering.

Zero infrastructure

Jobs run inside the user's Dot with their connected apps. You never host anything or touch their data.

A real spec

DotJobs are declarative packages: inputs, steps, connections, outputs. Versioned, testable, portable.

Distribution built in

Categories, search, ratings and featured placement. We bring the buyers; you bring the craft.

The package format

One file. Every Dot understands it.

A DotJob is a declarative package. You describe what the job needs, what it does and what it promises. The user's Dot handles execution across its connected apps, so the same package works for everyone who installs it.

  • Typed inputs with validation and sensible defaults
  • Steps that map to Dot capabilities, not vendor APIs
  • Explicit connections — users see exactly what's accessed
  • Guarantees the runtime enforces, not just documents
  • Semantic versioning with safe upgrade paths
Spec v0.1 · draft · read the docsSDK coming soonLocal test runner coming soon
# dotjob.yaml — v0.1 (draft)
name: company-research-sprint
version: 1.4.0
category: research
price: { amount: 29, unit: run }
schedule: on-demand

connects:
  - google-sheets
  - web
  - linkedin

inputs:
  companies:
    type: list<string>
    max: 50
    description: Names or domains, one per line
  focus_areas:
    type: text
    optional: true
  destination:
    type: connection<google-sheets>

steps:
  - id: resolve
    do: resolve_companies(inputs.companies)
  - id: research
    do: gather_public_data(resolve, fields: [desc, hq, size, funding, people, news])
    parallel: true
  - id: score
    do: score_against(inputs.focus_areas)
  - id: write
    do: sheets.write(inputs.destination, rows: research + score, with_sources: true)
  - id: summarise
    do: summarise(highlights: 5)

outputs:
  - sheet: inputs.destination
  - note: summarise

guarantees:
  - every_field_has_source
  - no_writes_outside_destination

Revenue share

Builders keep 80% of net revenue on every run and renewal. No listing fees, no tiers.

How payouts work →

No infrastructure

Jobs execute inside the user's Dot. You publish a package, not a service.

One-tap install

Connections and permissions are handled by the Dot at install time.

Publishing, payouts and the builder dashboard are rolling out to early partners first.

Payout terms