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

# Connect Figma

> Add a Figma file to Bilt and use its frames while building your app

This guide shows you how to connect a Figma design to Bilt. You will install the Bilt plugin, create a secure API key, add a Figma file, and attach selected frames in chat.

After one person connects the file, other members of the Bilt project can use its frames without a Figma account.

## Before you start

You need:

* A Bilt account
* A Figma account
* Access to the Figma file you want to use
* A Bilt project, unless you want to create a new project from the design

## Step 1: Open the Figma setup in Bilt

If you already have a Bilt project:

1. Open the project
2. Open **Settings**
3. Choose **Figma**
4. Click **Get plugin + API key**

This opens the Bilt API-key settings in another tab.

<Frame>
  <img src="https://mintcdn.com/buildingppou/Eg5vvKqxHX5gf36V/images/connectFigma3.png?fit=max&auto=format&n=Eg5vvKqxHX5gf36V&q=85&s=cba25668636124b61a892c434dc5e85d" alt="The Figma tab in project settings with the Get plugin + API key button" width="1410" height="515" data-path="images/connectFigma3.png" />
</Frame>

## Step 2: Install the Bilt Figma plugin

1. Open the [Bilt plugin in the Figma Community](https://www.figma.com/community/plugin/1646501627216086982)
2. Click the button Figma shows to open or install the plugin
3. Open the design file you want to use
4. Start the Bilt plugin inside that file

<Frame>
  <img src="https://mintcdn.com/buildingppou/Eg5vvKqxHX5gf36V/images/connectFigma1.png?fit=max&auto=format&n=Eg5vvKqxHX5gf36V&q=85&s=12f0adcf915bb816843a621dc96a59d0" alt="The Bilt plugin in the Figma Community" width="395" height="292" data-path="images/connectFigma1.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/buildingppou/Eg5vvKqxHX5gf36V/images/connectFigma2.png?fit=max&auto=format&n=Eg5vvKqxHX5gf36V&q=85&s=63efa8e25ee3626228da37e48eb386e8" alt="The Bilt plugin page in Figma with the Run button" width="636" height="747" data-path="images/connectFigma2.png" />
</Frame>

## Step 3: Create a Bilt API key

The plugin uses a personal Bilt API key to identify your Bilt account. It does not receive your Figma password.

<Steps>
  <Step title="Create the key">
    In **Bilt → Settings → API Keys**, click **Create API Key**.

    <Frame>
      <img src="https://mintcdn.com/buildingppou/Eg5vvKqxHX5gf36V/images/connectFigma4.png?fit=max&auto=format&n=Eg5vvKqxHX5gf36V&q=85&s=e9194c48537040ce40a415579be32f07" alt="The API Keys settings page with the Create API Key button" width="652" height="401" data-path="images/connectFigma4.png" />
    </Frame>
  </Step>

  <Step title="Name the key">
    Enter a clear name such as `Figma plugin`, then click **Create**.
  </Step>

  <Step title="Copy it immediately">
    Click **Copy**. Bilt only shows the complete key once.
  </Step>

  <Step title="Add it to the plugin">
    Return to Figma and paste the key when the Bilt plugin asks for it.

    <Frame>
      <img src="https://mintcdn.com/buildingppou/Eg5vvKqxHX5gf36V/images/connectFigma5.png?fit=max&auto=format&n=Eg5vvKqxHX5gf36V&q=85&s=abb9838d9c2dce79c4371d80e49f4be2" alt="The plugin asking for your Bilt API key" width="478" height="410" data-path="images/connectFigma5.png" />
    </Frame>
  </Step>
</Steps>

<Warning>
  Treat the API key like a password. Do not put it in messages, screenshots, email, or shared documents. If it is exposed, revoke it in **Settings → API Keys** and create a new one.
</Warning>

## Step 4: Add the Figma file to Bilt

1. Keep the design file open in Figma
2. Open the Bilt plugin
3. Click **Add this file to Bilt**
4. Wait for the plugin to finish

<Frame>
  <img src="https://mintcdn.com/buildingppou/Eg5vvKqxHX5gf36V/images/connectFigma6.png?fit=max&auto=format&n=Eg5vvKqxHX5gf36V&q=85&s=cce48a595fa54d3b574e664a2993d555" alt="The connected plugin with the Add this file to Bilt button" width="815" height="755" data-path="images/connectFigma6.png" />
</Frame>

The plugin sends the design information Bilt needs, including frame structure, names, text, styles, previews, and embedded images. It only reads the file when you start this action, and it does not change the Figma design.

<Frame>
  <img src="https://mintcdn.com/buildingppou/Eg5vvKqxHX5gf36V/images/connectFigma7.png?fit=max&auto=format&n=Eg5vvKqxHX5gf36V&q=85&s=69199c38bfc48c336e5971a515278d70" alt="Selecting which frames to push to Bilt" width="621" height="756" data-path="images/connectFigma7.png" />
</Frame>

<Check>
  The file now appears under **My files** in the Bilt Figma frame picker.
</Check>

## Step 5: Connect the file to a project

### Use the file in an existing project

1. Open the Bilt project
2. Click the **+** button beside the chat box
3. Choose **Figma frame**
4. Open **My files**
5. Find the file
6. Click **Add to this project**

<Frame>
  <img src="https://mintcdn.com/buildingppou/Eg5vvKqxHX5gf36V/images/connectFigma8.png?fit=max&auto=format&n=Eg5vvKqxHX5gf36V&q=85&s=46a304542753db87ec2bee80d764f5ba" alt="The + menu in chat with the Figma frame option" width="268" height="241" data-path="images/connectFigma8.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/buildingppou/Eg5vvKqxHX5gf36V/images/connectFigma9.png?fit=max&auto=format&n=Eg5vvKqxHX5gf36V&q=85&s=3dc66545a0ef4079ba88c6a6e323bc91" alt="The file picker with My files and the Add to this project button" width="1040" height="365" data-path="images/connectFigma9.png" />
</Frame>

The file now also appears under **In this project**.

### Create a new project from the file

1. Go to the Bilt dashboard
2. Click the **+** button beside the prompt box
3. Choose **Figma frame**
4. Open **My files**
5. Select the file and the frames you need
6. Type what you want Bilt to build
7. Send the message

Bilt creates the project and connects the selected file automatically.

## Step 6: Attach frames in chat

1. Click **+** beside the chat box
2. Choose **Figma frame**
3. Open a file
4. Expand the correct Figma page
5. Click one or more frames
6. Click **Attach frames**
7. Describe what Bilt should build or change
8. Send the message

You can search for files and frames by name. In multi-select mode, double-clicking a frame attaches only that frame.

<Frame>
  <img src="https://mintcdn.com/buildingppou/Eg5vvKqxHX5gf36V/images/connectFigma10.png?fit=max&auto=format&n=Eg5vvKqxHX5gf36V&q=85&s=f8c4d81a22c9743dd5263c3f8991a854" alt="The frame picker with three frames selected and the Attach frames button" width="965" height="851" data-path="images/connectFigma10.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/buildingppou/Eg5vvKqxHX5gf36V/images/connectFigma11.png?fit=max&auto=format&n=Eg5vvKqxHX5gf36V&q=85&s=3ab565ca4baff7a21b4a24627f12f4d6" alt="The chat composer with attached frame chips and a build instruction" width="860" height="311" data-path="images/connectFigma11.png" />
</Frame>

Send it, and Bilt builds screens that match the frames:

<Frame>
  <img src="https://mintcdn.com/buildingppou/Eg5vvKqxHX5gf36V/images/connectFigma12.png?fit=max&auto=format&n=Eg5vvKqxHX5gf36V&q=85&s=8458d4cf956e6ea0ea55874dd1330c5e" alt="A generated plant-detail screen matching the attached design frames" width="478" height="665" data-path="images/connectFigma12.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/buildingppou/Eg5vvKqxHX5gf36V/images/connectFigma13.png?fit=max&auto=format&n=Eg5vvKqxHX5gf36V&q=85&s=c0e48ff6d21804848cbee0d33934d6fd" alt="A generated stats screen with charts matching the attached design frames" width="431" height="895" data-path="images/connectFigma13.png" />
</Frame>

Good prompts explain both the design and the expected behavior:

```text theme={null}
Use these frames for the sign-up flow. Match the spacing, colors, and typography. Make Continue open the next screen and show a clear error when a required field is empty.
```

<Tip>
  Attach only the frames needed for the current request. A focused selection makes it clearer which design Bilt should follow.
</Tip>

## Pin frames you use often

When selecting several frames, enable **Pin selected frames to project** before attaching them.

You can also manage pins in **Settings → Figma → Pinned frames**:

1. Click **+ Pin frame**
2. Select the frames
3. Click **Pin to project**

Pinned frames appear above the chat box for one-click attachment.

## Refresh a file after the design changes

1. Open the updated file in Figma
2. Run the Bilt plugin
3. Click **Add this file to Bilt** again
4. Return to Bilt
5. Refresh or reopen the Figma picker
6. Attach the updated frame in your next message

You do not need another API key and you do not need to reconnect the file to each project.

## Remove a Figma file

Open **Settings → Figma**.

* **Remove from this project** disconnects the file from the current project and removes its pins. It stays under **My files**.
* Removing it from **My files** removes it from your Bilt account and unlinks it from your projects. If nobody else added the same file, its stored design data is also deleted.

You can add the file again later through the plugin.

## Troubleshooting

<AccordionGroup>
  <Accordion title="The plugin says the API key is invalid">
    Make sure you copied the complete key beginning with `bilt_live_`. Bilt cannot show an old key again. Revoke the old key, create a new one, and paste the new value into the plugin.
  </Accordion>

  <Accordion title="The file does not appear in My files">
    Open the file in Figma and click **Add this file to Bilt** again. In Bilt, open the picker, switch to **My files**, and click refresh. Check that the plugin uses a key from the same Bilt account.
  </Accordion>

  <Accordion title="Bilt cannot read a Figma link">
    A normal `figma.com` URL is not enough. Add the file through the Bilt plugin, then attach the frame using **+ → Figma frame**.
  </Accordion>

  <Accordion title="A frame is missing or out of date">
    Open the file in Figma and click **Add this file to Bilt** again. Then refresh the picker or pin. You can still send the message, but Bilt receives less reliable design context until the file is refreshed.
  </Accordion>
</AccordionGroup>

## Further reading

* [Figma Integration feature](/docs/features/figma-integration) — What the connection provides
* [Prompting guide](/docs/guides/prompting) — How to describe the app and request changes
