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, both true by default: extractEntities controls per-document entity and relationship extraction; linkAcrossDocuments merges 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

On this page