Functions
Overview of the Functions API
Hand off to an LLM
Functions are the core building blocks of data transformation in Bem. Each function type serves a specific purpose:
- Extract: Extract structured JSON data from unstructured documents (PDFs, emails, images, spreadsheets), with optional layout-aware bounding-box extraction
- Route: Direct data to different processing paths based on conditions
- Split: Break multi-page documents into individual pages for parallel processing
- Join: Combine outputs from multiple function calls into a single result
- Parse: Render documents into a navigable structure of page-aware sections, named entities, and relationships — designed to be walked by an LLM agent via the File System API (
POST /v3/fs). Two toggles, bothtrueby default:extractEntitiescontrols per-document entity and relationship extraction;linkAcrossDocumentsmerges entities into one canonical record per real-world thing across the environment, populating cross-document memory. - Payload Shaping: Transform and restructure data using JMESPath expressions
- Enrich: Enhance data with semantic search against collections
- Send: Deliver workflow outputs to downstream destinations
Use these endpoints to create, update, list, and manage your functions.
See also
- Function types overview — extract, classify, split, join, enrich, parse, payload shaping
- Schema building guide — designing outputSchema