# Percolate > Percolate puts workflow state, agent conversations, identity and semantic query inside PostgreSQL. Workflows are declarative documents compiled to rows; steps written as SQL or P8QL execute inside the database with no process anywhere, and only outbound HTTP needs a worker. ## Start - [What Percolate is](https://percolation-labs.github.io/get-percolate/index.html): Postgres as the system rather than the backing store: what that buys, and what it costs. - [The video](https://percolation-labs.github.io/get-percolate/video.html): Ten minutes on why any of this is in Postgres. - [Install](https://percolation-labs.github.io/get-percolate/install.html): Docker Compose, Helm, or the extension in a Postgres 19 you already run. - [Agents](https://percolation-labs.github.io/get-percolate/agents.html): An agent is a specification and the specification is a row: write it, save it, call it over REST. - [Skills and plugins](https://percolation-labs.github.io/get-percolate/skills.html): A prompt fragment is a row: the agent names the ones it always carries, the database picks the ones this turn needs, and a plugin installs and removes the whole bundle. ## Workflows - [Your first workflow](https://percolation-labs.github.io/get-percolate/first-workflow.html): A four-step pipeline, walked end to end, with the output each step actually produced. - [Authoring in YAML](https://percolation-labs.github.io/get-percolate/authoring.html): The five step kinds, the template namespaces, and what the compiler refuses. - [What a step leaves behind](https://percolation-labs.github.io/get-percolate/outputs.html): The four output classes: an inline payload, rows, a validated assistant message, or a registered artifact. - [Reading a plan](https://percolation-labs.github.io/get-percolate/plan.html): What a definition reaches -- the agent and its prompt, the corpus and its columns -- and which of those reaches are checked before a run. - [Failure and retry](https://percolation-labs.github.io/get-percolate/failure.html): Which failures retry, which are terminal, and why that is the worker's decision to make. ## Content and querying - [Uploading files](https://percolation-labs.github.io/get-percolate/ingest.html): A file becomes chunks, vectors, graph nodes and, if it is a table, a Parquet dataset -- with nothing to run after the upload. - [Querying](https://percolation-labs.github.io/get-percolate/query.html): LOOKUP, GRAPH, TEXT, SEMANTIC, SEARCH, SCHEMA and plain SQL in one dialect, with FUZZY as a way to LOOKUP. - [Graph algorithms](https://percolation-labs.github.io/get-percolate/graph.html): Ranked relatedness, the k best routes between two things, what connects a result set, and how much of the answer rests on a guess -- budgeted, and off until you grant them. ## Reference - [The P8QL grammar](https://percolation-labs.github.io/get-percolate/grammar-p8ql.html): Every query mode at version 0.1.6, what each modifier belongs to, which one is refused where, and how to read the grammar out of your own parser. - [The workflow grammar](https://percolation-labs.github.io/get-percolate/grammar-workflow.html): Every key the YAML compiler accepts at version 0.1.6, what each one compiles to, and who executes the result. ## Putting it together - [Ten things, worked through](https://percolation-labs.github.io/get-percolate/cookbook.html): One capability at a time: ten scenarios over one small domain, each with the output it actually produced. - [Workflow recipes](https://percolation-labs.github.io/get-percolate/recipes.html): Whole pipelines -- a source polled on a clock, a backlog through an extractor, an agent answering over your own corpus -- and what has to exist before each will run. ## Operating - [Using the UI](https://percolation-labs.github.io/get-percolate/ui.html): Connect the workbench, ingest an API feed, develop a query and turn it into a workflow you can inspect and schedule. - [Scaling](https://percolation-labs.github.io/get-percolate/scaling.html): What the hot paths cost, measured: claim throughput under contention, what the autoscaler pays, and where the engine was two orders of magnitude slower than it should have been. - [Operating it](https://percolation-labs.github.io/get-percolate/operating.html): Scaling worker pools on queue depth, what to watch, and the audits that fail loudly. ## Source - [Getting started](https://github.com/Percolation-Labs/get-percolate): compose file, Helm chart, install script and the source of these docs. - [percolate-core on PyPI](https://pypi.org/project/percolate-core/): the worker, Content Server and Agent Runtime. ## Optional - [Full documentation as one file](https://percolation-labs.github.io/get-percolate/llms-full.txt): every page above, concatenated.