Integrate Tomba Finder with Steampipe
Overview
The Tomba Steampipe plugin allows you to query email intelligence data using SQL. This plugin provides access to Tomba.io's powerful email finder, verifier, and enrichment APIs through familiar SQL syntax.
Key Features
- 🔍 Email Discovery: Find email addresses from names and domains
- ✅ Email Verification: Verify email deliverability and validity
- 🌐 Domain Intelligence: Search entire domains for email patterns
- 📊 Data Enrichment: Get detailed information about contacts and companies
- 🔗 SQL Interface: Query using standard SQL syntax
- ⚡ Real-time Data: No ETL required - query live data directly
Use Cases
- Lead Generation: Find and verify prospect email addresses
- Data Enrichment: Complete missing contact information in your database
- Email Validation: Bulk verify email lists for marketing campaigns
- Competitive Intelligence: Research competitor team structures
- Sales Prospecting: Build targeted contact lists with verified emails
- Security Auditing: Monitor your domain for exposed email addresses
Quick Start
Prerequisites
- Steampipe installed
- Tomba.io account with API access
- Tomba API credentials (Key and Secret)
Install and Query
# Install the plugin steampipe plugin install tomba-io/tomba # Start Steampipe steampipe query # Query email enrichment select email, first_name, last_name, position, score from tomba_enrich where email = 'm@wordpress.org';bash
Installation
Install Plugin
steampipe plugin install tomba-io/tombabash
Verify Installation
steampipe plugin list | grep tombabash
Configuration
Basic Configuration
Create or edit the configuration file at ~/.steampipe/config/tomba.spc
:
connection "tomba" { plugin = "tomba-io/tomba" # Tomba API credentials key = "ta_xxxx" secret = "ts_xxxx-6f90-4856-9017-b12b5079adc9" }hcl
Environment Variables
Alternatively, set environment variables:
export TOMBA_KEY=ta_xxxx export TOMBA_SECRET=ts_xxxx-6f90-4856-9017-b12b5079adc9bash
Configuration Options
Option | Environment Variable | Description | Required |
---|---|---|---|
key | TOMBA_KEY | Your Tomba API key | ✅ Yes |
secret | TOMBA_SECRET | Your Tomba API secret | ✅ Yes |
timeout | TOMBA_TIMEOUT | Request timeout in seconds (default: 60) | ❌ No |
retries | TOMBA_RETRIES | Number of retry attempts (default: 3) | ❌ No |
Getting API Credentials
- Sign up for a Tomba.io account
- Navigate to the API section
- Copy your API Key and Secret
- Configure the plugin with your credentials
Tables
The Tomba plugin provides the following tables:
Table | Description |
---|---|
tomba_enrich | Enrich email addresses with contact information |
tomba_email_finder | Find email addresses from names and domains |
tomba_email_verifier | Verify email address deliverability |
tomba_domain_search | Search domains for all email addresses |
tomba_company_finder | Get company information and statistics |
tomba_sources | Find sources where emails appear online |
Table Schemas
tomba_enrich
Enrich email addresses with detailed contact information.
Key Columns:
email
(text) - Email address to enrichfirst_name
(text) - Contact's first namelast_name
(text) - Contact's last namefull_name
(text) - Contact's full nameposition
(text) - Job title/positioncompany
(text) - Company namecountry
(text) - Country locationscore
(integer) - Confidence score (0-100)sources
(jsonb) - Array of sources where email was found
tomba_email_finder
Find email addresses using first name, last name, and domain.
Key Columns:
domain
(text) - Company domain (required)first_name
(text) - Person's first name (required)last_name
(text) - Person's last name (required)email
(text) - Found email addressscore
(integer) - Confidence scoreposition
(text) - Job positiondepartment
(text) - Departmentsources
(jsonb) - Sources where found
tomba_email_verifier
Verify email address deliverability and validity.
Key Columns:
email
(text) - Email address to verify (required)status
(text) - Verification status (valid/invalid/risky)result
(text) - Detailed verification resultscore
(integer) - Deliverability scoredisposable
(boolean) - Is disposable emailwebmail
(boolean) - Is webmail providerrole
(boolean) - Is role-based emailfree
(boolean) - Is free email provider
tomba_domain_search
Search entire domains for email addresses and patterns.
Key Columns:
domain
(text) - Domain to search (required)email
(text) - Found email addressfirst_name
(text) - Contact first namelast_name
(text) - Contact last nameposition
(text) - Job positiondepartment
(text) - Departmentseniority
(text) - Seniority levelsources
(jsonb) - Sources array
tomba_company_finder
Get comprehensive company information and statistics.
Key Columns:
domain
(text) - Company domain (required)organization
(text) - Company namedescription
(text) - Company descriptionindustry
(text) - Industry sectorcountry
(text) - Company locationsize
(text) - Company size rangefounded
(integer) - Founded yearwebsite_url
(text) - Company websitetotal_emails
(integer) - Total email count
tomba_sources
Find sources where email addresses appear online.
Key Columns:
email
(text) - Email address to search (required)uri
(text) - Source URLwebsite_url
(text) - Website domainextracted_on
(timestamp) - When email was extractedlast_seen_on
(timestamp) - Last seen datestill_on_page
(boolean) - Still appears on page
Examples
Email Enrichment
-- Enrich a single email address select email, first_name, last_name, position, company, score from tomba_enrich where email = 'contact@example.com';sql
Bulk Email Verification
-- Verify multiple email addresses select email, status, score, disposable, webmail from tomba_email_verifier where email in ( 'user1@example.com', 'user2@example.com', 'user3@example.com' );sql
Find Decision Makers
-- Find executives at a company select email, full_name, position, department from tomba_domain_search where domain = 'techcompany.com' and ( position ilike '%CEO%' or position ilike '%CTO%' or position ilike '%VP%' or position ilike '%Director%' );sql
Email Discovery Pipeline
-- Find and verify emails in one query with found_emails as ( select domain, first_name, last_name, email, score as finder_score from tomba_email_finder where domain = 'startup.com' and first_name = 'John' and last_name = 'Smith' ) select f.email, f.first_name, f.last_name, f.finder_score, v.status as verification_status, v.score as verification_score, v.disposable from found_emails f left join tomba_email_verifier v on f.email = v.email;sql
Company Intelligence Report
-- Get comprehensive company overview select c.organization, c.industry, c.size, c.total_emails, count(d.email) as found_emails, count(case when d.position ilike '%manager%' or d.position ilike '%director%' or d.position ilike '%vp%' then 1 end) as leadership_count from tomba_company_finder c left join tomba_domain_search d on c.domain = d.domain where c.domain = 'bigcorp.com' group by c.organization, c.industry, c.size, c.total_emails;sql
Lead Scoring System
-- Create lead quality scores select e.email, e.first_name, e.last_name, e.position, v.score as email_score, case when v.score >= 90 then 'High Quality' when v.score >= 70 then 'Good Quality' when v.score >= 50 then 'Medium Quality' else 'Low Quality' end as lead_grade, case when e.position ilike '%CEO%' or e.position ilike '%founder%' then 50 when e.position ilike '%VP%' or e.position ilike '%director%' then 40 when e.position ilike '%manager%' then 30 else 10 end as position_score, (v.score * 0.7 + case when e.position ilike '%CEO%' or e.position ilike '%founder%' then 50 when e.position ilike '%VP%' or e.position ilike '%director%' then 40 when e.position ilike '%manager%' then 30 else 10 end * 0.3) as composite_score from tomba_enrich e join tomba_email_verifier v on e.email = v.email where e.email in ('lead1@company.com', 'lead2@company.com') order by composite_score desc;sql
Domain Monitoring
-- Monitor competitor domains for new hires select domain, email, first_name, last_name, position, department, extract(month from current_date) as current_month from tomba_domain_search where domain in ('competitor1.com', 'competitor2.com') and department in ('Engineering', 'Sales', 'Marketing') order by domain, department, position;sql
Development
Prerequisites for Development
Clone and Build
# Clone the repository git clone https://github.com/tomba-io/steampipe-plugin-tomba.git cd steampipe-plugin-tomba # Build the plugin make # Install the plugin locally make installbash
Testing
# Run tests make test # Test specific table go test ./tomba -run TestTableTombaEnrich # Integration tests (requires API credentials) make test-integrationbash
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Add tests for new functionality
- Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Development Guidelines
- Follow Steampipe plugin development guidelines
- Add comprehensive tests for new tables and columns
- Update documentation for any changes
- Ensure proper error handling and logging
- Follow Go best practices and formatting
Support
Documentation & Resources
Community & Support
Getting Help
- Check the FAQ for common questions
- Search existing issues
- Join the Steampipe community
- Create a new issue with detailed information
Acknowledgments
- Thanks to the Steampipe team for creating an amazing platform