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

# Custom Entities

> Extend Wizflow with custom-built components for your unique business needs

Custom Entities let you go beyond Wizflow’s 35+ built-in entities. They’re perfect when your workflow needs something specific — a custom input, a specialised integration, or a unique user interface.

<Note>
  **Powered by Web Standards**\
  Custom entities are built with JavaScript Web Components, supported by all modern browsers. This means they’re flexible, reusable, and future-proof.
</Note>

***

## Why use Custom Entities?

<CardGroup cols={2}>
  <Card title="Industry-specific" icon="building">
    Build entities tailored to your sector (finance, healthcare, legal, etc.)
  </Card>

  <Card title="Integration-focused" icon="plug">
    Connect directly to internal systems or third-party APIs
  </Card>

  <Card title="Advanced UI" icon="palette">
    Create rich interactive widgets that go beyond form fields
  </Card>

  <Card title="Reusable" icon="recycle">
    Develop once and use across multiple flows or teams
  </Card>
</CardGroup>

***

## Common use cases

<AccordionGroup>
  <Accordion title="Financial Services">
    Risk assessment calculators, compliance checklists, mortgage or pension widgets
  </Accordion>

  <Accordion title="Healthcare & Insurance">
    Adaptive medical forms, symptom checkers, coverage visualisers
  </Accordion>

  <Accordion title="Technical Tools">
    QR code scanners, digital signature pads, custom charts or dashboards
  </Accordion>
</AccordionGroup>

***

## How it works

1. **Plan** – Define what data to collect and what experience to deliver
2. **Generate** – Use the Custom Entity Copilot to create a working prototype from a text description
3. **Refine** – Adjust behaviour or styling with standard JavaScript (Lit, Stencil, or vanilla)
4. **Configure** – Decide what settings flow builders can customise (labels, ranges, formats)
5. **Test & Publish** – Preview the entity and make it available across flows

<Tip>
  Start simple: even a small custom checkbox or lookup widget can add big value.
</Tip>

***

## Best practices

<CardGroup cols={2}>
  <Card title="Performance" icon="gauge">
    Keep entities lightweight and mobile-friendly\
    Avoid unnecessary dependencies
  </Card>

  <Card title="User experience" icon="user">
    Follow familiar patterns\
    Provide clear labels, help text, and error states
  </Card>

  <Card title="Security" icon="shield">
    Validate all inputs\
    Use HTTPS for external calls\
    Handle sensitive data responsibly
  </Card>

  <Card title="Maintenance" icon="wrench">
    Document options and usage\
    Plan for updates and backwards compatibility
  </Card>
</CardGroup>

***

## Getting started

To create a custom entity:

1. Open **Flow Builder**
2. Go to **Entities → Custom Entities → Create New**
3. Describe what you want in the **Copilot** (e.g. “mortgage calculator with loan amount, rate, and duration”)
4. Preview, refine, and save

Your entity will now appear in the entity palette alongside Wizflow’s built-in components.

***

## Example

Here’s a simple confirmation widget built as a custom entity:

```javascript theme={null}
class ConfirmationSteps extends HTMLElement {
  connectedCallback() {
    this.innerHTML = `
      <div>
        <h3>Please confirm the steps:</h3>
        <ul>
          <li><input type="checkbox" /> Step 1</li>
          <li><input type="checkbox" /> Step 2</li>
        </ul>
        <button>All steps confirmed</button>
      </div>
    `;
  }
}

customElements.define('confirmation-steps', ConfirmationSteps);
```
