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

# Bundles: Group Workflows

> Combine multiple workflows into one shareable bundle, set free or paid Stripe pricing, enforce completion order, and embed bundle cards on your site.

Bundles let you group multiple workflows together under one link or embeddable card. A client who accesses your bundle can move through each workflow in the package — for example, an estate planning bundle might include a will questionnaire, a healthcare proxy, and a power of attorney — rather than receiving three separate links. You can offer bundles for free or gate them behind a Stripe payment, and you can control whether users must complete the workflows in a specific order.

## Viewing and creating bundles

Select **Bundles** from the left-hand menu on your Dashboard to open the Bundles page. All existing bundles are listed here, and from here you can create, edit, duplicate, copy links, and manage assignments.

***

## Creating a free bundle

<Steps>
  <Step title="Start a new bundle">
    Click **+ New Bundle** on the Bundles page.
  </Step>

  <Step title="Name your bundle">
    Enter a **Bundle Name** that describes the outcome for the user — for example, "LLC Formation," "Estate Planning — Wills and Trust," or "Pre-Marital Agreement Package." This name is displayed to your clients.
  </Step>

  <Step title="Add a description">
    Click **Next** and enter a **Bundle Description** explaining what the user will receive or accomplish by completing this bundle. This is also visible to end users.
  </Step>

  <Step title="Select workflows">
    Choose the workflows you want to include. You can reorder them by clicking and dragging the handle (⠿) to the left of each workflow name. Delete any workflow from the bundle by clicking the trash icon.
  </Step>

  <Step title="Enforce completion order (optional)">
    If you want users to complete the workflows sequentially rather than in any order, check **Bundles must be completed in the order above**.
  </Step>

  <Step title="Set pricing to free">
    On the Bundle Pricing screen, choose **Free**.
  </Step>

  <Step title="Save the bundle">
    Click **Finalize** (or **Save** and use the back arrow) to return to the Bundles page.
  </Step>
</Steps>

***

## Creating a paid bundle

To charge clients before they access a workflow or before documents are generated, you need a **Stripe Connect** account linked to Gavel.

<Steps>
  <Step title="Start a new bundle">
    Follow steps 1–5 from the free bundle instructions above to name, describe, and select your workflows.
  </Step>

  <Step title="Connect Stripe">
    On the Bundle Pricing screen, select **Flat Rate**. If you have not yet connected Stripe, a yellow banner will appear prompting you to complete the Stripe Connect onboarding. Click the link in the banner and follow the steps. You will be redirected back to Gavel once onboarding is complete.

    <Note>
      If you previously used the legacy Stripe Paywall Questions feature, you had a standard Stripe account connected. For bundles, you connect a **Stripe Connect** account instead. The onboarding flow will guide you through linking them.
    </Note>
  </Step>

  <Step title="Set the price">
    Enter the flat-rate amount users will be charged.
  </Step>

  <Step title="Choose when payment is collected">
    Select where in the bundle the payment step appears. You can require payment:

    * Before the user begins any workflow in the bundle
    * Before documents are generated for any specific workflow

    Click **Add another payment step** if you want to collect payment at multiple points.
  </Step>

  <Step title="Save the bundle">
    Click **Finalize** to save and return to the Bundles page.
  </Step>
</Steps>

<Tip>
  To view payments, customers, and reports for your bundle purchases, sign in to your Stripe dashboard at [dashboard.stripe.com](https://dashboard.stripe.com) and use the toolbar to navigate to Products, Payments, or Reports.
</Tip>

***

## Sharing a bundle link

Once a bundle is saved, you can give clients access to it by sharing a direct link.

1. On the Bundles page, click the **copy** icon next to the bundle you want to share.
2. Paste the copied URL into an email, a chat message, or as the destination of a button on your website.

When a client opens the link, they see the bundle's start page — including the name, description, and pricing — before beginning the first workflow.

Admins and Builders can also click the **Run** button next to a bundle on the Bundles page to start the bundle themselves, which is useful for testing.

***

## Embedding a bundle card on your website

Rather than sharing a plain link, you can embed a visual bundle card directly into a web page. The card displays the bundle name, description, and a button for clients to get started.

<Steps>
  <Step title="Open the Generate Code dialog">
    On the Bundles page, click the **Generate Code** icon (`</>`) for the bundle you want to embed.
  </Step>

  <Step title="Copy the code snippets">
    The dialog provides two code snippets:

    * A **Head snippet** — paste this inside the `<head>` tag of your page HTML.
    * A **Body snippet** — paste this inside the `<body>` tag where you want the card to appear.
  </Step>

  <Step title="Paste into your site">
    Add both snippets to your page. A preview of the bundle card will appear once the code is in place.
  </Step>
</Steps>

<Tabs>
  <Tab title="Squarespace">
    In the Squarespace editor, click **Edit**, then **+ ADD BLOCK** and choose either **Embed** or **Code**. Click the new block, then the pencil icon, and paste the Head snippet in the `<head>` and the Body snippet in the `<body>`. A live preview of your card should appear in the editor.
  </Tab>

  <Tab title="WordPress">
    WordPress requires a Business Plan subscription to run custom JavaScript. The simplest approach is to use a JavaScript WordPress plugin. Once the plugin is active, add the Head snippet to your site's `<head>` and the Body snippet to the page content where the card should appear.
  </Tab>
</Tabs>

***

## Assigning bundles to users

You can push a bundle directly into a user's portal so it appears there automatically, rather than requiring them to follow a shared link. There are three assignment methods:

<AccordionGroup>
  <Accordion title="Assign to all current and future users">
    On the Bundles page, click the purple **Assign** button for the bundle. Check the box **Automatically assign this bundle to all current and future users**. The bundle will immediately appear in the portal of every existing user on your account — Admin, Builder, Organizational User, and User — and will be automatically assigned to every new user who joins.

    Users can view all their assigned bundles by going to `yoursubdomain.gavel.io/portal`.
  </Accordion>

  <Accordion title="Assign to users with a specific email domain">
    Click the purple **Assign** button, then type an email domain (e.g., `clientfirm.com`) into the domain field and add it. Every user whose account uses that email domain will have the bundle assigned to their portal automatically — including future users who sign up with that domain.
  </Accordion>

  <Accordion title="Assign to specific users">
    Click the purple **Assign** button, then type a user's email address or select it from the dropdown. After assigning, the user's address appears in the list of assignees. Repeat for each individual user you want to add.
  </Accordion>
</AccordionGroup>

### Removing an assignment

To unassign a bundle from a specific user or domain, click the purple **trash can** icon to the right of their name or domain in the assignment list. Once removed, the bundle no longer appears in that user's portal.

***

## Duplicating a bundle

To create a copy of an existing bundle — useful when building a variant with different pricing or a slightly different workflow set — click the **duplicate** icon on the far right of the bundle row on the Bundles page. The duplicate is created immediately and can be renamed and reconfigured independently.
