Skip to content

AI Generation

When you describe an integration in natural language, fyrn’s AI generation layer creates a complete, deployable YAML flow definition. This page explains how that works and what you can control.

The generation process has five stages:

  1. Intent parsing — Extracts the source system, target system, trigger event, and business logic from your description
  2. Schema lookup — Retrieves the current API schemas for the identified connectors, including field names, types, and required fields
  3. Mapping generation — Creates field mappings between source and target, using schema awareness to pick the correct field names
  4. Validation — Checks the generated config against the YAML DSL schema to ensure it’s syntactically valid
  5. Output — Writes the YAML file and reports what was generated

The AI has access to:

  • Connector catalog — All available connectors, their authentication methods, supported events, and actions
  • API schemas — Current field definitions for each connector, including types and validation rules
  • Existing flows — Your project’s current flows, to avoid conflicts and reuse patterns
  • DSL specification — The complete YAML DSL grammar, so generated configs are always valid
  • Execute flows — The AI generates static YAML. It is never in the runtime execution path.
  • Access your data — The AI sees schemas and metadata, not your actual business data.
  • Deploy automatically — Generated configs require explicit fyrn deploy to go live.

More specific prompts produce better configs:

Terminal window
# Vague — AI has to guess details
fyrn generate "sync orders"
# Specific — AI knows exactly what you need
fyrn generate "When a paid order is created in Shopify, map the order ID, \
customer email, and line items to SAP Business One sales order format, \
and filter out orders under €10"

If the generated config doesn’t match your needs, refine the prompt:

Terminal window
# Add more constraints
fyrn generate "Sync Shopify orders to SAP, but only for orders over €100, \
and include the shipping address in the mapping"

Or edit the YAML directly — it’s a plain text file.