# Columns & Configuration

Columns define the structure of your list. Each column represents a data field — from simple text and numbers to AI-enabled fields that your agent fills automatically during processing.

{% hint style="success" %}
**Manual + AI Columns**: Combine columns you fill yourself (company name, website URL) with AI-enabled columns the agent researches (company overview, tech stack, decision makers) for a powerful hybrid workflow.
{% endhint %}

## Column Types

Every column has a type that determines what data it holds and how it's displayed:

| Type       | Description                   | Example Use                       |
| ---------- | ----------------------------- | --------------------------------- |
| **Text**   | Free-form text content        | Company overview, notes           |
| **Number** | Numeric values                | Employee count, revenue           |
| **Date**   | Date values                   | Founded date, last contact        |
| **Email**  | Email addresses               | Primary contact email             |
| **URL**    | Web links                     | Company website, LinkedIn profile |
| **Enum**   | Predefined options (dropdown) | Industry, company size tier       |

## AI-Enabled Columns

AI-enabled columns are the core of what makes Lists powerful. When a row is processed, the assigned AI agent uses its tools — web search, webpage visits, tech stack inspection, CRM lookups — to research and fill each AI-enabled column.

### How AI Columns Work

1. You create a column and toggle **AI Enabled** on
2. You write a **Prompt Template** that tells the agent what to research for that column
3. When rows are processed, the agent executes the prompt for each row and writes the result

### Writing Effective Prompt Templates

The prompt template is the instruction your AI agent follows when filling the column. Be specific about what you want and the expected format.

{% hint style="info" %}
**Pro Tip**: Reference other columns in your prompt to give context. For example: *"Research the company at {website} and provide a 2-3 sentence overview of their core business, target market, and key differentiators."*
{% endhint %}

**Good prompt examples:**

| Column Name         | Prompt Template                                                                                     |
| ------------------- | --------------------------------------------------------------------------------------------------- |
| Company Overview    | Research the company and provide a concise 2-3 sentence overview of their business model and market |
| Decision Makers     | Find the top 3 decision makers (C-level or VP) at this company with their name, title, and LinkedIn |
| Tech Stack          | Inspect the company's website and identify key technologies, frameworks, and cloud providers used   |
| Qualification Score | Based on all available data, rate this lead 1-10 for fit with our ideal customer profile            |

**Avoid vague prompts:**

| Bad Prompt             | Better Alternative                                                                           |
| ---------------------- | -------------------------------------------------------------------------------------------- |
| "Research the company" | "Provide a 2-3 sentence overview covering business model, founding year, and employee count" |
| "Find contacts"        | "List the top 3 C-level executives with name, title, and LinkedIn URL"                       |
| "Is this a good lead?" | "Score 1-10 based on: company size 50-500, B2B SaaS, and US-based. Explain your reasoning."  |

### Knowledge Base Integration

Some AI columns can be configured to reference your organization's knowledge base during processing. Toggle **Requires Knowledge Base** when the agent needs internal context — such as your product catalog, pricing tiers, or qualification criteria — to fill the column accurately.

## Creating Columns

{% stepper %}
{% step %}
**Open Your List** Navigate to the list where you want to add columns.
{% endstep %}

{% step %}
**Add a Column** Click the **+** button in the table header or use the column management panel. Provide a name and select a type.
{% endstep %}

{% step %}
**Configure AI (Optional)** Toggle **AI Enabled** and write a prompt template. Optionally enable **Requires Knowledge Base** if the agent needs internal data.
{% endstep %}

{% step %}
**Save** The column is added to your list immediately and will be included in future processing runs.
{% endstep %}
{% endstepper %}

## Column Library

DarcyIQ provides a reusable column library so you don't have to recreate common columns for every list.

### Library Levels

| Level              | Scope                                   | Who Can Create      |
| ------------------ | --------------------------------------- | ------------------- |
| **System Columns** | Pre-built columns available to everyone | DarcyIQ (read-only) |
| **Organization**   | Shared across your entire organization  | Admins and Owners   |
| **User**           | Personal columns only you can see       | Any user            |

### Using the Column Library

1. Open the **Column Selector** when editing your list
2. Browse available system, organization, and user columns
3. Select columns to add them to your list
4. Customize the prompt template or configuration for your specific use case

{% hint style="info" %}
**Pro Tip**: Create organization-level columns for standardized fields like "Company Overview" or "Qualification Score" so every team member uses the same enrichment prompts.
{% endhint %}

## Managing Columns

### Column Operations

| Action          | Description                                                  | Permission Required |
| --------------- | ------------------------------------------------------------ | ------------------- |
| **Add**         | Add a new column or select from the library                  | Editor              |
| **Edit**        | Update name, type, prompt template, or configuration         | Editor              |
| **Reorder**     | Drag columns to change their display order                   | Editor              |
| **Hide/Show**   | Toggle column visibility without removing data               | Editor              |
| **Remove**      | Remove a column from the list                                | Editor              |
| **Detach Data** | Remove the column's data while keeping the column definition | Editor              |

### Column Visibility

Use the **Column Visibility Selector** to show or hide columns in your table view. Hidden columns retain their data and will still be processed by AI — they're just not displayed in the table.

## Column Configuration Fields

| Field               | Description                                                 | Required |
| ------------------- | ----------------------------------------------------------- | -------- |
| **Name**            | Display name shown in the table header                      | Yes      |
| **Type**            | Data type (text, number, date, email, URL, enum)            | Yes      |
| **AI Enabled**      | Whether the agent should fill this column during processing | No       |
| **Prompt Template** | Instructions for the AI agent when populating the column    | If AI    |
| **Requires KB**     | Whether the agent should reference the knowledge base       | No       |
| **Description**     | Help text or notes about the column's purpose               | No       |
| **Mandatory**       | Whether the column must have a value                        | No       |
| **Visible**         | Whether the column is shown in the table by default         | No       |

## Best Practices

1. **Name columns descriptively**: "Primary Decision Maker" is better than "Contact"
2. **Limit AI columns to 3–5**: More AI columns means longer processing time per row
3. **Order matters**: Place identifying columns (name, website) first, AI columns after
4. **Use the library**: Save time by reusing organization-level columns across lists
5. **Test prompts early**: Process a few rows to validate your prompt templates before running the full list
6. **Combine manual and AI**: Let AI handle research while you provide the seed data
