> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ravenna.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Foundry overview

> Build custom integrations and functions for Ravenna in plain language. Foundry generates the code, runs it, and exposes it to workflows and AI agents.

<Callout icon="flask-conical" color="#7C3AED">
  Foundry is currently in Beta and under active development. Share your feedback with the team to help us build and improve.
</Callout>

Foundry lets you connect Ravenna to any third-party tool and build custom **functions** by describing what you want in plain language. Foundry handles the code behind the scenes, enabling anyone on your team to extend Ravenna with custom integrations.

Once a function is published, it shows up as a step in the workflow builder and as a tool your AI agents can use. The same function powers both.

***

## What you can do

<CardGroup cols={2}>
  <Card title="Connect any tool" icon="plug">
    Connect to tools that don't have a native Ravenna integration, like internal APIs or niche SaaS products.
  </Card>

  <Card title="Describe what you want" icon="sparkles">
    Write what the function should do in plain language. Foundry builds and tests it for you.
  </Card>

  <Card title="Use it in workflows" icon="zap">
    Drop the function into any workflow as a step, just like a built-in action.
  </Card>

  <Card title="Give it to your agents" icon="bot">
    Your AI agents can call the function during conversations whenever it's the right tool for the job.
  </Card>
</CardGroup>

***

## Where to find Foundry

* **Foundry** in the workspace sidebar (between Agents and Workflows) is where you build, test, and publish functions.
* **Settings → Integrations** is where org admins create the custom integrations Foundry connects to. Custom integrations show up in their own **Custom** category alongside Ravenna's built-in integrations.
* **Settings → OAuth Providers** is where org admins register OAuth providers that Foundry can use for end-user account connections.

***

## How it works

<Steps>
  <Step title="Create an integration">
    An org admin connects to the tool from **Settings → Integrations**. Foundry reads the tool's documentation to learn what it can do.
  </Step>

  <Step title="Open Foundry and add a function">
    In Foundry, click **New Function** and write what you want it to do in plain language.
  </Step>

  <Step title="Connect integrations to the function">
    In the function's **Integrations** tab, attach the integrations it should call. A function can use more than one.
  </Step>

  <Step title="Test it">
    Run the function with sample inputs. Foundry shows you exactly what happened so you can confirm it works.
  </Step>

  <Step title="Refine in chat">
    Want to change something? Ask in plain language and Foundry updates the function.

    <Prompt description="Also return their account owner.">
      Also return their account owner.
    </Prompt>
  </Step>

  <Step title="Publish">
    Publishing makes the function available everywhere in Ravenna, as a workflow step and as a tool for your AI agents.
  </Step>
</Steps>

***

## Key terms

**Integration.** A connection to an outside tool. Stores the sign-in details and the tool's documentation so Foundry knows how to talk to it. Managed in **Settings → Integrations**.

**Function.** Something Foundry can do, like "send a DocuSign envelope" or "look up a Salesforce account." Built and tested inside Foundry, then published so workflows and agents can use it.

**Connected account.** For tools that use a sign-in flow (OAuth), the specific account a function runs as. You pick this when you build the function.

***

## Get started

<CardGroup cols={2}>
  <Card title="Set up an integration" icon="plug" href="/documentation/automate/foundry/integrations">
    Connect your first tool from Settings.
  </Card>

  <Card title="Build a function" icon="code" href="/documentation/automate/foundry/actions">
    Create, test, and publish your first function.
  </Card>
</CardGroup>

<Callout icon="book-open" color="#7C3AED">
  Want to go deeper? The [Foundry guide](/guides/how-to/foundry/overview) has end-to-end setup walkthroughs, OAuth examples for Google Cloud, GitHub, and DocuSign, and recipes you can adapt to your stack.
</Callout>
