# Capabilities the built-in services use

A capability is a job Jadpo does through an outside service, such as
sending email, that any provider can fill. You choose the provider by
naming a connection in `app.jadpo`, and your code stays the same whichever
you choose ([Capabilities](capabilities.md)). Each
capability the built-in services use, and the whole of its job:

| Capability | The whole job | Filled by |
|---|---|---|
| `files` | Put, read, delete, signed links and upload slots, multipart ones included | The S3 driver (any S3-compatible service); the disk driver, native only |
| `email` | Send a Jadpo-rendered `EmailMessage` after commit, attachments included | The SMTP driver; a mail package (Postmark, Amazon SES, Resend) |
| `documents` | Turn the HTML Jadpo renders into a PDF | A container package (Gotenberg) or a hosted API's package (DocRaptor, PDFShift) |
| `search` | Upsert, remove, and query by words with equality filters, returning ranked ids | PostgreSQL full-text search, built in; an engine's package |
| `bot_check` | Check a token: pass or fail | A package (Turnstile, hCaptcha, reCAPTCHA) |
| `scanning` | Scan an uploaded file: clean or infected | A ClamAV container package or a scanning API's package |
| `publishing` | Deliver chosen events outward, and outgoing webhooks | Drivers and packages ([Where events travel](where-events-travel.md)) |
| `receiving` | Fetch messages from a queue, the inbound twin of `publishing` | Packages; a built-in driver for Cloudflare Queues on Workers ([Where events travel](where-events-travel.md)) |

[Capabilities](capabilities.md) lists the others, such as
the database, the cache, schedules and `ai`, and what isn't a capability:
SMS, event delivery, and telemetry, which has its own `telemetry:`
section ([Telemetry](telemetry.md)). Each capability has a local driver for
development, one fake for tests
([Provider calls and capabilities in tests](fakes-for-integrations.md#provider-calls-and-capabilities-in-tests))
and a conformance suite that a package filling it must pass.
