Dynamic Dataset Columns: Enrich Rows with AI-Generated Data
Use Dynamic Columns to add AI-generated summaries, sentiment labels, extracted entities, vector-retrieved context, parsed JSON fields, and conditional routing to any dataset — no code required.
Dynamic Columns let you enrich any dataset with AI-generated data — summaries, sentiment labels, entities, vector-retrieved context, parsed JSON fields, and conditional routing — directly from the FutureAGI dashboard, no code required.
| Time | Difficulty | Package |
|---|---|---|
| 15 min | Beginner | Dashboard only |
By the end of this guide you will have a support ticket dataset enriched with AI-generated summaries, sentiment labels, extracted entities, vector-retrieved context, parsed JSON fields, and conditional routing: all populated automatically across every row.
- FutureAGI account → app.futureagi.com
- An LLM API key configured in the platform (GPT-4o, Gemini, etc.)
- For the Retrieval column: a vector database (Pinecone, Qdrant, or Weaviate) with data already indexed
Starter dataset
Save as support_tickets.csv and upload via Dataset → Add Dataset → Upload a file (JSON, CSV).
ticket_id,customer_message,agent_response,response_metadata,priority
T001,My laptop battery drains in under 2 hours even after a factory reset.,I have opened a replacement request. You will receive a prepaid shipping label within 24 hours.,"{""resolution_time_hours"": 24, ""replacement_approved"": true, ""ticket_owner"": ""support_team""}",high
T002,I never received my order from three weeks ago. Tracking says it was delivered.,I see the delivery was marked complete. Let me file a lost shipment claim with the carrier right now.,"{""resolution_time_hours"": 48, ""replacement_approved"": false, ""ticket_owner"": ""logistics_team""}",high
T003,The app crashes every time I try to open my account settings.,This is a known issue in version 3.2. Please update to version 3.3 using the link below.,"{""resolution_time_hours"": 2, ""replacement_approved"": false, ""ticket_owner"": ""engineering_team""}",medium
T004,Can I change my subscription plan before the billing date?,Absolutely! You can change your plan at any time from Account > Billing. The new rate applies from the next billing cycle.,"{""resolution_time_hours"": 0, ""replacement_approved"": false, ""ticket_owner"": ""billing_team""}",low
T005,I was charged twice for the same order last month.,I have confirmed the duplicate charge and initiated a full refund. It will appear in 3-5 business days.,"{""resolution_time_hours"": 72, ""replacement_approved"": true, ""ticket_owner"": ""billing_team""}",high
Tutorial
Run Prompt — generate summaries
- Add Column → Dynamic Columns → Run Prompt
- Column Name:
summary - Model Type:
LLM, Select Model:gpt-4o-mini - System:
You are a support assistant that writes short, factual summaries. - User:
Summarize this customer support message in one sentence: {{customer_message}} - Concurrency:
5 - Test → Run
Classification — label sentiment
- Add Column → Dynamic Columns → Classification
- Column Name:
sentiment, Column (source):customer_message - Add labels:
Positive,Neutral,Negative - Choose a model, Concurrency:
5 - Test → Run
Extract Entities — pull structured data
- Add Column → Dynamic Columns → Extract Entities
- Name:
entities, Column:customer_message - Instructions:
Extract: issue type, product, urgency level, and location (if present).
Return concise entity values.- Choose a model, Concurrency:
5 - Test → Run
Retrieval — fetch context from a vector database
Note
Requires an external vector database (Pinecone, Qdrant, or Weaviate) with data already indexed; this is separate from FutureAGI’s Knowledge Base.
- Add Column → Dynamic Columns → Retrieval
- Select your Vector Database type
Pinecone:
| Field | Value |
|---|---|
| Column | agent_response |
| Pinecone API Key | Your API key |
| Index Name | Your index |
| Number of chunks to fetch | 3 |
| Key to extract | text |
| Concurrency | 5 |
Qdrant:
| Field | Value |
|---|---|
| Column | agent_response |
| Qdrant API Key | Your API key |
| Qdrant URL | Your instance URL |
| Collection Name | Your collection |
| Number of chunks to fetch | 3 |
| Key to extract | text |
| Concurrency | 5 |
Weaviate:
| Field | Value |
|---|---|
| Column | agent_response |
| Weaviate API Key | Your API key |
| Weaviate Cluster URL | Your cluster URL |
| Collection Name | Your collection |
| Number of chunks to fetch | 3 |
| Search Type | Semantic Search or Hybrid |
| Key to extract | content |
| Concurrency | 5 |
- Test → Run
Extract JSON Key — parse a field from JSON
- Add Column → Dynamic Columns → Extract a JSON Key
- Column Name:
resolution_time, Column:response_metadata - JSON Key:
$.resolution_time_hours - Concurrency:
5 - Run
Note
The source column must have data type JSON. If it’s stored as text, change its type to JSON using Edit Column first.
Conditional Node — route by priority
- Add Column → Dynamic Columns → Conditional Node
- Column Name:
triage_output
Branch 1 (if):
- Condition:
{{priority}} == "high" - Column Type: Run Prompt
- System:
You are a senior support analyst. - User:
Write a detailed triage summary and next action for this high-priority ticket: {{customer_message}}
Branch 2 (else):
- Column Type: Run Prompt
- System:
You are a support assistant. - User:
Write a one-line summary for this ticket: {{customer_message}}
- Concurrency:
5 - Test → Run
Tip
You can add elif branches between if and else for more granular routing; each branch supports all column types: Run Prompt, Retrieval, Extract Entities, Extract JSON Key, Classification, and API Calls.
Run evals on the enriched dataset
- Click Evaluate → Add Evaluations → select
groundedness - Map:
input→customer_message,output→agent_response - Add & Run
For all six dynamic column types in detail, see Create Dynamic Column.
What you built
You can now enrich any dataset with AI-generated columns, vector-retrieved context, parsed JSON fields, conditional routing, and inline evaluations — all from the FutureAGI dashboard.
- Generated summaries with Run Prompt
- Labeled sentiment with Classification
- Extracted entities with Extract Entities
- Fetched vector DB context with Retrieval
- Parsed JSON fields with Extract JSON Key
- Routed by priority with Conditional Node