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

# Custom Fields

> Custom fields in Vistaly support your team's unique needs.

export const Image = ({src, alt, caption}) => <figure>
    <img src={`https://cdn.vistaly.com/kb${src}`} {...alt ? {
  alt
} : {}} />
    {caption && <figcaption class="image-caption">{caption}</figcaption>}
  </figure>;

export const VideoGIF = ({src, className = '', ...otherProps}) => <Video src={src} autoPlay={true} muted={true} loop={true} controls={false} playsInline={true} className={className} style={{
  boxShadow: "0 2px 4px -1px rgba(0, 0, 0, 0.1), 0 2px 10px 0 rgba(0, 0, 0, 0.06)"
}} {...otherProps} />;

export const WistiaVideo = props => {
  const id = props.id;
  if (typeof window !== "undefined") {
    setTimeout(function () {
      const script1 = document.createElement("script");
      script1.src = "https://fast.wistia.com/embed/medias/" + id + ".jsonp";
      script1.async = true;
      document.body.appendChild(script1);
      const script2 = document.createElement("script");
      script2.src = "https://fast.wistia.com/assets/external/E-v1.js";
      script2.async = true;
      document.body.appendChild(script2);
    }, 1);
  }
  return <div className="wistia-container">
      <div className="wistia_responsive_padding" style={{
    padding: "56.25% 0 0 0",
    position: "relative"
  }}>
        <div className="wistia_responsive_wrapper" style={{
    height: "100%",
    left: 0,
    position: "absolute",
    top: 0,
    width: "100%"
  }}>
          <div className={"wistia_embed wistia_async_" + id + " videoFoam=true"} style={{
    height: "100%",
    width: "100%",
    position: "relative"
  }}></div>
        </div>
      </div>
    </div>;
};

export const Video = ({src, autoPlay = false, muted = false, loop = false, playsInline = true, controls = true, className = '', ...otherProps}) => <video src={`https://cdn.vistaly.com/kb${src}`} autoPlay={autoPlay} muted={muted} loop={loop} playsInline={playsInline} controls={controls} className={className} {...otherProps} />;

Add custom fields to any card type by visiting the card settings menu.

<Image src="/documentation/core-concepts/custom-fields/navigation.png" alt="" />

This video shows how custom fields are used to visualize and compare opportunity sizing.

<WistiaVideo id="yi1uq0b6f5" />

## Supported Custom Field Types

### Rating Scales (Likert)

Your standard rating scale - great for quick input.

Rating scales have two variations, sentiment and star.

**Note: Star rating scales can be adjusted to support between 3 and 10 inputs.**

<Image src="/documentation/core-concepts/custom-fields/star-rating-scale.png" alt="star rating scale" />

### Sliders

Sliders are a variation of the rating scale. Instead of picking fixed values, adjust your selection on a sliding scale.

<Image src="/documentation/core-concepts/custom-fields/slider-scale.png" alt="slider scale" />

### Yes / No (Checkbox)

Great for capturing true/false criteria.

<Image src="/documentation/core-concepts/custom-fields/yes-no.png" alt="yes/no input" />

### Single Select

Great when you have a set of standard options, like small/medium/large.

<Image src="/documentation/core-concepts/custom-fields/single-select.png" alt="single select input" />

## Controlling display order

To customize the order in which custom fields display within the workspace, drag and sort the fields.

<VideoGIF src="/documentation/core-concepts/custom-fields/reorder.mp4" />

## Displaying Custom Fields

Sometimes, you need to see sizing criteria side-by-side to make better decisions. Showing sizing criteria on the cards within the workspace view can be done by toggling the custom field display settings.

<VideoGIF src="/documentation/core-concepts/custom-fields/show-on-tree.mp4" />

*Tip: It's much easier to compare and contrast when the tree is top-down-oriented.*

*Tip: Keeping the custom fields visible while casually exploring the workspace can slow you down with extra scrolling. Enabling the custom fields only when needed will keep the workspace tidy.*

## Filtering the Workspace by Custom Fields

Use the filters menu to show only cards that match one or more specific custom field values.

Compose custom fields together for advanced filtering.

<VideoGIF src="/documentation/core-concepts/custom-fields/filter.mp4" />

## Standard Custom Fields

All workspaces start with a few default Custom Fields on Opportunity cards:

### Opportunities

| **Sizing Criterion** | Description                                              |
| -------------------- | -------------------------------------------------------- |
| **Frequency**        | How often do customers experience this pain/need?        |
| **Reach**            | How many customers experience this pain/need?            |
| **Severity**         | How painful will it be to customers if left unaddressed? |
| **Differentiation**  | Is it table stakes or a differentiator?                  |

<Note>
  These criteria help teams quantify and prioritize opportunities based on customer impact. Using a consistent evaluation framework allows for more objective comparison between different opportunities.
</Note>

### Assumptions

An assumption is a belief accepted as true without definitive proof. Every proposed idea inherently contains multiple assumptions that should be identified and validated. Below are common categories of assumptions that teams should consider:

| **Assumption Type** | Description                                                                           |
| ------------------- | ------------------------------------------------------------------------------------- |
| **Desirability**    | Does this solution solve a meaningful problem for users, and will they want it?       |
| **Usability**       | Will users intuitively understand and successfully use this solution?                 |
| **Feasibility**     | Can this solution be delivered with the current team, resources, and capabilities?    |
| **Viability**       | Does this solution align with strategic goals and generate measurable business value? |

**Additional Considerations:**

| **Assumption Type**        | Description                                                                                                     |
| -------------------------- | --------------------------------------------------------------------------------------------------------------- |
| **Ethical Considerations** | Does this solution align with ethical standards and avoid potential harm to users, society, or the environment? |
| **Scalability**            | Can this solution grow to meet increasing demand without degrading quality or performance?                      |
| **Legal**                  | Are there legal considerations that might impact implementation or adoption?                                    |

<Note>
  While the first four assumption types are foundational to most product development efforts, the additional types should be evaluated when relevant to the specific solution context.
</Note>
