zebflow 0.8.3

Reactive web automation platform — pipelines, templates, and real-time collaboration in a single binary.
Documentation
# Databases

Zebflow supports two categories of databases: the built-in Sekejap embedded store and external connections.

---

## Sekejap — Built-in, Always Available

Zebflow's built-in multi-model database — graph, vector, spatial, full-text, vague temporal.

**No connection setup needed.** Scoped to your project automatically.

Suitable for: blog posts, user tables, AI memory, vector embeddings, event graphs, RAG indexes.

### Workflow

1. Create a table in the Studio UI (Tables page)
2. Use `n.sekejap.query` in pipelines with raw SQL
3. For graph reads, use `SELECT ... FROM MATCH ...`

### Node

```zf
| n.sekejap.query -- "SELECT _key, title FROM posts LIMIT 20"
| n.sekejap.query --params-path params.id -- "SELECT friend._key AS friend_key FROM MATCH (u:users)-[:follows]->(friend:users) WHERE u._key = $1"
| n.sekejap.query --params-expr "[$trigger.body.slug, $trigger.body.title]" -- "INSERT INTO posts (_key, title) VALUES ($1, $2)"
```

### Reference

Call `help("db/sekejap")` for the full SekejapQL query language reference.

---

## External DB Connections

PostgreSQL, MySQL, and other databases via named connections.

### Setup

Configure connections in Studio → Connections → DB Connections.

### Workflow

1. `connection_list` — see your configured connections and their slugs
2. `connection_describe slug=<slug>` — inspect the schema
3. Use slug in pipeline nodes: `n.pg.query --credential <slug>`

### Available pipeline nodes

- `n.pg.query` — PostgreSQL queries (SELECT, INSERT, UPDATE, DELETE)
- `n.mysql.query` — MySQL/MariaDB queries
- `n.sekejap.query` — Sekejap (built-in)

### Schema discovery

```
connection_describe slug=main-db scope=tables
connection_describe slug=main-db table=public.users
```

Always run `connection_describe` before writing SQL queries.

---

## Further Reading

- `help("db/sekejap")` — SekejapQL query language: INSERT, SELECT, UPDATE, DELETE syntax