Skip to content

3.1 Your First Automation: Step-by-Step Tutorial

Welcome to the most exciting part of this guide: building your first automation! In this section, you'll create a real, working automation from scratch. No theory, no abstraction—just hands-on building.

By the end of this tutorial, you'll have:

  • ✅ Created your first Taible
  • ✅ Added both manual and automatic columns
  • ✅ Imported data or entered it manually
  • ✅ Watched columns automatically process your data
  • ✅ Extracted results and understood the data flow

Let's dive in and build something real.


What We're Building: Contact Enrichment Pipeline

The Business Need

You have a list of email addresses (maybe from a form submission, conference attendance, or purchased list). You want to:

  1. Enrich each email with company information
  2. Extract specific fields like company name and size
  3. See all results in one organized table

Why This Example?

This is one of the most common automations in sales and marketing:

  • Simple enough to understand quickly
  • Practical enough to use immediately
  • Demonstrates core concepts: manual input, automatic columns, dependencies
  • Easily extensible: Once working, you can add scoring, routing, emails, etc.

What You'll Learn

By building this automation, you'll understand:

  • How to create Taibles and columns
  • The difference between manual and automatic columns
  • How columns wait for data from other columns
  • How to watch real-time execution
  • How to inspect results

Let's get started!


Step 1: Create Your Taible

  1. Log in to your account (if not already logged in)
  2. Click "Taibles" in the main navigation (left sidebar or top menu)
  3. You should see the Taibles Overview screen with existing Taibles (if any) and a "Create new Taible" card

Create new Taible

Start from blank

Lead Qualification

Qualify and score incoming leads

Updated 2 days ago

Customer Onboarding

Automate new customer setup

Updated 1 week ago

Create the Taible

  1. Click the "Create new Taible" card

    • It's usually the first card in the grid
    • Shows a "+" icon or "Create from Blank" text
  2. A sidebar panel opens on the right side with a form

Create New Taible

This is what you'll see in the overview

Helps you and your team understand the purpose

  1. Fill in the form:

    Taible Name:

    Contact Enrichment
    • This is what you'll see in the overview
    • Keep it descriptive but concise

    Description (optional but recommended):

    Enrich contact email addresses with company information
    • Helps your future self (and team) understand the purpose
    • Especially useful when you have many Taibles
  2. Click "Save" button (usually at the bottom of the sidebar)

What Happens Next

  • Sidebar closes
  • You're redirected to your new Taible
  • You see an empty grid with just the system ID column
  • The header shows "Contact Enrichment" as the title

🎉 Congratulations! You've created your first Taible. It's empty right now, but that's about to change.


Step 2: Add Manual Input Column (Email)

Now we need a place to enter email addresses. This will be a manual column where you type data.

Open Column Creation

  1. Click the "+ Add Column" button in the header

    • It's a prominent button in the top-right area
    • Usually has a plus icon
  2. Column Type Selection Modal opens

    • Shows a grid of available column types
    • Organized by categories (AI, Data, Utilities, etc.)

Categories

  • All
    52
  • Data
    15
  • AI
    8
  • Utilities
    12
  • Communication
    10
📝

Text

Simple text values

Data
🔢

Number

Numeric values

Data
📅

Date

Date and time

Data
☑️

Checkbox

True/false values

Data

AI Text Generator

Generate text with AI

AI
🤖

AI Assistant

Conversational AI agent

AI
🔍

Clearbit Enrichment

Company data enrichment

Utilities
✉️

Email

Send emails

Communication

Select Column Type

  1. You'll see categories in the left sidebar:

    • All (showing count of all types)
    • Data
    • AI
    • Utilities
    • Communication
    • etc.
  2. Click "Data" category

  3. Find and click "Text" column type

    • Shows a text icon
    • Description says something like "Simple text values"

Configure the Column

The Column Configuration Panel opens on the right side. You'll see multiple tabs at the top, but we'll focus on the main configuration:

Configure Text Column

Basic Settings

⚠️ Must be lowercase, no spaces. Use underscores for multiple words.

This appears in the column header (can have spaces and capitals)

Text Settings

Uncheck for single-line text like emails

Shows hint text in empty cells

Run Configuration

Run Mode: Manual Entry

This is a manual column - users enter data directly

Basic Settings

Column Name (technical identifier):

email
  • IMPORTANT: Must be lowercase, no spaces
  • Use underscores for multiple words (e.g., company_email)
  • This is the internal name

Display Label (what users see):

Email Address
  • Can have spaces, capital letters, special characters
  • This appears in the column header

Description (optional):

Contact email address to enrich

Text Column Settings

You'll see some text-specific settings:

Allow Multiline:

  • Uncheck this (we want single-line emails)

Placeholder (optional):

john@example.com
  • Shows hint text in empty cells

Save the Column

  1. Scroll down (if needed) to see the footer
  2. Click "Save" button (bottom right)
  3. Panel closes
  4. New column appears in your grid!

What You Should See

Your grid now has columns:

  1. ID (system column) - shows row numbers
  2. Email Address (your new column) - empty, ready for data

🎉 Milestone! You have your first user-input column. Time to add some data.


Step 3: Add Data to Process

Now let's give your automation something to work with. You have two options: manual entry (great for learning) or CSV import (faster for bulk data).

Option A: Manual Entry (Recommended for First Time)

Let's add 3-5 email addresses manually to see how it works.

ID
Email Address
1
2
3
4
5

Add First Row

  1. Click the "+ Add Row" button in the toolbar

    • Usually in the bottom-left of the grid area
    • Alternatively, just click in the empty space below column headers
  2. New row appears with empty cells

  3. Click in the "Email Address" cell

    • Cell becomes editable (you'll see a cursor)
  4. Type an email address:

    john@acme.com
    • Use a real email if you want real data
    • Or make up a company email to test
  5. Press Tab or Enter

    • Cell saves automatically
    • Cursor moves to next row (Enter) or next column (Tab)

Add More Rows

Repeat the process to add a few more emails:

Suggested test emails:

sarah@techcorp.io
mike@startup.ai
anna@enterprise-solutions.com

Or use real emails from your business if you prefer.

Option B: CSV Import (Faster for Many Emails)

If you have many emails or want to import from a spreadsheet:

Import CSV Preview

contacts.csv
4 rows detected

Column Mapping

CSV Column
email
Maps to
Email Address
Auto-detected

Preview (first 4 rows)

Row Email Address
1john@acme.com
2sarah@techcorp.io
3mike@startup.ai
4anna@enterprise-solutions.com

Prepare Your CSV

Create a CSV file with one column:

csv
email
john@acme.com
sarah@techcorp.io
mike@startup.ai
anna@enterprise-solutions.com

Or export from Excel/Google Sheets.

Import the CSV

  1. Click "Upload CSV/Excel" button in the toolbar

    • Located near the "Add Row" button
  2. File picker opens

  3. Select your CSV file

  4. Import Preview Modal appears

    • Shows first few rows
    • Column mapping (should auto-detect "email" → "Email Address")
  5. Verify mapping is correct

    • "email" from CSV → "Email Address" column in Taible
    • If wrong, click dropdown to change mapping
  6. Click "Import" button

  7. Rows appear in grid automatically

Verify Your Data

You should now see 3-5 rows (or however many you added) with email addresses populated.

✅ Data Check: Scroll through your rows, make sure emails look correct.

🎉 Progress! You have data in your Taible. Now let's add the automation that will enrich it.


Step 4: Add Processing Column (Company Enrichment)

This is where the magic happens. We'll add an automatic column that calls an API to enrich each email with company data.

Before You Start: Account Setup

Important: To use enrichment services like Clearbit, you need an account connected.

If you already have a Clearbit account connected:

  • Great! Skip to "Open Column Creation" below

If you don't have an account connected yet:

  1. You'll be prompted to add one during column configuration
  2. Click "Add Account" when asked
  3. Enter your API key or complete OAuth flow
  4. Come back to this step

Don't have a Clearbit API key?

  • Sign up at clearbit.com for a free trial
  • Or use a similar service (Hunter.io, Apollo.io, etc.)

Open Column Creation

  1. Click "+ Add Column" button again

  2. Column Type Selection Modal opens

💡 Tip: Search for "clearbit" to find enrichment integrations

Showing 3 results for "clearbit"
🔍

Clearbit Enrichment

Recommended

Enrich company and person data

Utilities
🎯

Hunter.io Email Finder

Find email addresses

Utilities
🚀

Apollo.io Enrichment

B2B contact enrichment

Utilities

Find Enrichment Integration

Option 1: Search

  1. Type "clearbit" in the search bar at the top
  2. Results filter to show Clearbit integration
  3. Click "Clearbit Enrichment"

Option 2: Browse

  1. Click "Utilities" or "Data"** category in the left sidebar
  2. Scroll to find "Clearbit Enrichment"
  3. Click it

Configure the Enrichment Column

Column Configuration Panel opens with several tabs:

🔍

Configure Clearbit Enrichment

Basic Settings

Integration Settings

Select which operation to perform

Data from: [Email Address]

💡 The system automatically inserts data from the Email Address column

Run Configuration

Run once when the email address is available

Depends on: Email Address

This column will run once the Email Address column has data

Maximum 100 enrichments per hour (respects API limits)

Basic Settings

Column Name:

company_data
  • Again, lowercase, no spaces
  • Use underscores if needed

Display Label:

Company Information
  • This appears in the column header

Description:

Company data enriched from Clearbit API

Integration Settings

Account (Clearbit account):

  • Select your connected Clearbit account from dropdown
  • Or click "Add Account" if you don't have one yet

Method (what operation to perform):

  • You'll see a dropdown with options like:
    • "Enrich Company"
    • "Find Person"
    • "Reveal Email"
  • Select "Enrich Company" (or similar wording)

Email (input parameter):

  • This field asks "which email to enrich?"
  • Click in the field
  • The system will automatically insert data from the Email Address column
  • You'll see a placeholder like: [Email Address]

💡 How Data Flows Between Columns

When you configure a column that needs data from another column, the system automatically connects them. You don't need to write any code - just select the column you want to use, and the data flows automatically.

Run Configuration

This determines when this column executes.

Run Mode:

  • Select "Run once when ready" from dropdown
  • This means: "Run once when the email address is available"

Dependencies:

  • Click "Add Dependency" (if not already added)
  • A dependency selector appears:
    • Select "Email Address" column
  • What this means: "Wait for the Email Address column to have data, then run"

Rate Limiting (optional but recommended):

  • Toggle "Enable Rate Limiting" ON
  • Rate Limit Count: 100
  • Rate Limit Window: 1 Hour
  • What this means: Maximum 100 enrichments per hour (respects API limits)

Save the Column

  1. Review your settings:

    • Column Name: company_data
    • Method: Enrich Company
    • Email: Connected to Email Address column
    • Run Mode: Run once when ready
    • Dependency: Email Address column
  2. Click "Save"

  3. Panel closes

What Happens Next (The Exciting Part!)

Watch carefully because this happens fast:

ID
Email Address
Company Information
1
john@acme.com
DoneCompany data loaded
2
sarah@techcorp.io
RunningCalling API...
3
mike@startup.ai
QueuedWaiting to execute
4
anna@enterprise.com
ReadyNot yet queued

Possible States

Queued - Waiting
Running - Executing
Done - Success
Unsuccessful - Error
Rate Limited - Throttled
Scheduled - Waiting
  1. New column appears in your grid ("Company Information")

  2. Cells in that column immediately start processing!

  3. You'll see cells progress through these states:

    • "Queued" with clock icon ⏱️ - waiting to execute
    • "Running" with spinning gear icon ⚙️ - actively calling the API
    • Checkmark badge ✓ - successfully finished

    Other states you might see:

    • "Rate Limited" with pause icon ⏸️ - throttled, waiting for API quota
    • "Unsuccessful" badge - execution failed (click to see details)
    • "Scheduled" with hourglass icon ⏳ - waiting for scheduled time
    • "Skipped" - condition not met or dependencies missing
  4. Data appears in the cells as each finishes!

⏱️ Timing: Each enrichment takes 1-5 seconds depending on API speed. With 3-5 rows, you'll see all complete within 10-20 seconds.

Watch the Real-Time Magic

This is one of the most satisfying moments in using Taibles—watching your automation run:

What to observe:

  • Column header shows status indicators (queued count, running spinner)
  • Individual cells show state badges and icons that update in real-time
  • No page refresh needed—it all happens live
  • You can click cells even while they're processing to see current state

🎉 Incredible! You just automated API calls for multiple emails, and you can watch it happen in real-time. This is what makes Taibles different.


Step 5: Inspect Results

Let's explore what just happened and examine the results.

Check the Column Header

Look at the "Company Information" column header:

Status Display:

  • Header shows state indicators (spinning gear if running, count badges)
  • Most cells should show checkmark badge ✓ (successful execution)
  • You may also see clock icons ⏱️ (queued) or gear icons ⚙️ (running)

What if you see errors (cells with "Unsuccessful" badge)?

  • Common causes:
    • Invalid email format
    • Email domain not in database (e.g., Gmail personal emails often don't have company data)
    • API quota exceeded
    • API key issue
  • Don't worry! Click the error cell to see details

Inspect Cell Data

Let's look at what data was returned.

Done

Cell Details

Status:Completed
Updated:2024-10-24 15:42:33

Data

Name:Acme Corporation
Domain:acme.com
Industry:Manufacturing
Location:Seattle, WA
Founded:1985
Employees:2,500
Revenue:$500M
Raised:N/A

Description: Industrial tools and equipment manufacturer specializing in heavy machinery and construction equipment. Family-owned business with strong presence in the Pacific Northwest.

Click a Completed Cell

  1. Click any cell showing a checkmark ✓ in the Company Information column

  2. A data button appears (usually an expand or eye icon)

  3. Click the data button

  4. Cell Detail Sidebar opens on the right side showing:

You'll see:

State Badge:

✓ Done

(shown with a success/green checkmark badge)

Data (example for john@acme.com):

Company Name: Acme Corporation
Domain: acme.com
Description: Industrial tools and equipment manufacturer
Employees: 2,500
Industry: Manufacturing
Location: Seattle, WA
Founded: 1985
Revenue: $500M
Tech Stack: Salesforce, Zendesk, Slack
...and more...

Timestamp:

Updated: 2024-10-24 15:42:33

Amazing! From just an email address, you now have:

  • Company name
  • Size (employees, revenue)
  • Industry
  • Location
  • Tech stack
  • And much more

Inspect Multiple Results

Close the panel and click other cells to see different companies' data.

Notice:

  • Each cell has different data based on its email
  • All cells completed around the same time (parallel execution)
  • The structure is the same but values differ

Understanding What Happened

The big picture:

  1. You entered email addresses (manual input)
  2. System detected Company Information column depends on Email Address
  3. System saw Email Address has data
  4. System queued Company Information for all rows
  5. API calls executed (with rate limiting)
  6. Results stored in cells
  7. UI updated in real-time
  8. You can now use this data!

🎉 Victory! You've successfully automated company enrichment for multiple contacts. But we can make this even more useful.


Step 6: Extract Specific Fields

Right now, all company data is in one big object. Let's extract specific fields into separate columns for easier viewing and use.

Add "Company Name" Column

Let's create a column that pulls just the company name.

Create the Column

  1. Click "+ Add Column" again

  2. Select "Text" type from Data category

  3. Configure:

Configure Text Column (Extract Field)

Basic Settings

Data Source

Select which column to extract data from

💡 These fields are automatically detected from the source column data

🔍

How This Works

This column will automatically extract the name field from the Company Information column. When Company Information has data, this column will immediately pull out just the company name.

Run Configuration

Automatically depends on: Company Information

This column will run once Company Information completes

Basic Settings:

  • Column Name: company_name
  • Display Label: Company Name
  • Description: Extracted company name from enrichment data

Data Source:

  • Source Column: Select "Company Information"
  • Field to Extract: Select "name" (or "Company Name")
  • The system shows you available fields from the company data

Run Configuration:

  • Run Mode: "Run once when ready"
  • Dependencies: Automatically set to "Company Information"
  • What this means: "Wait for company_data to complete, then extract the name"

Save the column.

Watch It Extract

Immediately after saving:

  1. New column appears: "Company Name"
  2. Cells process instantly (data already available)
  3. You see company names extracted:
    Acme Corporation
    Tech Corp
    Startup AI
    Enterprise Solutions

This was even faster! Why? Because the data was already there—we're just extracting a field. No API call needed.

Add More Extracted Columns (Optional)

Try adding more columns to extract other useful fields:

Contact Enrichment

4 rows processed All columns completed successfully
ID Email Address Company Info Company Name Size Industry Location Website
1john@acme.comAcme Corporation2,500ManufacturingSeattle, WAacme.com
2sarah@techcorp.ioTech Corp150TechnologySan Francisco, CAtechcorp.io
3mike@startup.aiStartup AI45AI/MLAustin, TXstartup.ai
4anna@enterprise.comEnterprise Solutions5,000SoftwareNew York, NYenterprise.com
🎉

Automation Complete!

Your contact enrichment pipeline is now working. Each email address has been enriched with company data, and specific fields have been extracted into separate columns for easy viewing and use.

Company Size:

  • Column Name: company_size
  • Source: Company Information → Employees field
  • Dependency: Company Information

Industry:

  • Column Name: industry
  • Source: Company Information → Industry field
  • Dependency: Company Information

Location:

  • Column Name: location
  • Source: Company Information → Location field
  • Dependency: Company Information

Website:

  • Column Name: website
  • Source: Company Information → Domain field
  • Dependency: Company Information

Your Completed Automation

After adding a few extracted columns, your grid looks organized with clean, actionable data in separate columns.

Beautiful! Clean, organized, actionable data.

Test It With New Data

Want to see it work again?

  1. Add a new row (click "+ Add Row")
  2. Enter a new email address
  3. Watch as all automatic columns process:
    • Company Information enriches (queued → running → done)
    • Company Name extracts (queued → done)
    • Company Size extracts (queued → done)
    • etc.

No configuration needed! The automation just works for every new row.

🎉🎉🎉 Congratulations! You've built your first complete automation pipeline.


Next Steps: Extending Your Automation

Your contact enrichment pipeline works, but you can make it more powerful:

Add Validation

Before enrichment, validate the email format:

  • Add "Email Validation" column
  • Make Company Information depend on validation passing
  • Skip enrichment for invalid emails

Add Scoring

After enrichment, score the lead:

  • Add "Lead Score" column (using AI or custom logic)
  • Calculate score based on company size, industry, etc.
  • Use for routing or prioritization

Add Routing

After scoring, assign to sales reps:

  • Add "Assigned To" column
  • Configure condition: only assign if score is high enough
  • Use round-robin or territory-based logic

Add Email Outreach

After assignment, send personalized email:

  • Add "Outreach Email" column (email integration)
  • Use company data to personalize message
  • Manual trigger: Require user approval before sending

Add Trigger

Automate row creation:

  • Set up webhook trigger
  • Form submissions create rows automatically
  • Entire pipeline runs without manual intervention

Troubleshooting Common Issues

If something didn't work as expected, here are common issues and solutions:

"Column didn't execute"

Symptoms: Cells stay showing "Ready" or empty, don't progress to "Queued" or "Running"

Common causes:

  1. Dependencies not satisfied: Check that dependency columns have data
  2. Condition failed: If you added a condition, verify it's met
  3. Run mode is Manual: Change to "Run once when ready"

Solution:

  • Click column header settings (gear icon)
  • Review Run Configuration section
  • Verify dependencies are correct
  • Try manual run: Right-click cell → "Recalculate"

"All cells show Unsuccessful"

Symptoms: Cells show "Unsuccessful" badge immediately after queuing

Common causes:

  1. API key invalid: Account not configured correctly
  2. Configuration error: Missing required field
  3. API quota exceeded: Hit rate limit on external service
  4. Network issue: Temporary connectivity problem

Solution:

  • Click error cell to see error details
  • Sidebar shows what went wrong
  • If "Authentication failed": Reconnect account in column settings
  • If "Rate limit": Wait or adjust rate limiting settings
  • If "Missing parameter": Check column configuration

"Some cells show Unsuccessful, others are done"

Symptoms: Mix of successful and failed cells

Common causes:

  1. Data-specific issues: Some emails invalid or not in database
  2. API limitations: Personal emails (Gmail, Yahoo) often have no company data

Solution:

  • Click error cells individually to see specific error details
  • If "Not found": That email doesn't have company data (expected for some)
  • If consistent error across all cells: Fix configuration
  • If random errors: Might be API issues, try recalculate

"Process is too slow"

Symptoms: Cells stuck showing "Queued" with clock icon ⏱️ for a long time

Common causes:

  1. Rate limiting: System throttling to respect limits (pause icon ⏸️)
  2. API slow: External service taking time to respond
  3. System load: Many users processing simultaneously
  4. Large queue: Many cells waiting to execute

Solution:

  • If showing pause icon ⏸️: This is rate limiting, cells will process when quota resets
  • If stuck in "Queued": System is processing in order
  • If consistently slow: Check external API service status
  • Be patient: First few cells might take longer, then speeds up

Celebration Time! 🎉

You did it! You've built a real, working automation from scratch.

What This Means

You now have the skills to:

  • ✅ Create Taibles for any process
  • ✅ Design column pipelines with dependencies
  • ✅ Integrate with external APIs
  • ✅ Monitor execution in real-time
  • ✅ Debug issues when they occur

The Power In Your Hands

With these fundamentals, you can automate:

  • Sales processes: Lead enrichment, outreach, follow-up
  • Marketing operations: Campaign management, analytics, reporting
  • Customer support: Ticket routing, response generation, satisfaction tracking
  • Data operations: ETL pipelines, data cleaning, synchronization
  • And much more: If it follows a process, you can automate it

Keep Building

This is just the beginning. Your contact enrichment automation can grow:

  • Add more enrichment sources (Hunter, Apollo, LinkedIn)
  • Add AI analysis (sentiment, intent, qualification)
  • Add human-in-the-loop approval steps
  • Add CRM synchronization
  • Add automated outreach campaigns

Each addition is just another column in your Taible.


Next: Section 3.2: Understanding What Just Happened — Now that you've experienced the automation in action, let's dive deep into the concepts and patterns you just learned.

🎊 Congratulations again on completing your first automation! You're now officially a Taibles user. Keep experimenting, keep building, and don't hesitate to explore the advanced features as you grow more comfortable.

Happy automating! 🚀

Built with VitePress