# Make (Integromat) Integration

## Overview

Custom Tomba.io integration for Make.com (formerly Integromat) enables you to automate email finding, verification, and enrichment workflows without code.

## Prerequisites

- Active Tomba.io account with API credentials
- Make.com account (free or paid)

## Creating a Connection

1. Add your Tomba.io app module to a scenario
2. Click **Create a connection**
3. Enter your Tomba.io API Key and Secret Key (available in your [Tomba.io dashboard](https://app.tomba.io/api))
4. Click **Save** - the connection will be tested automatically

## Available Modules

### Module 1: Find Email Address

Find a professional email address using a person's name and company domain.

**Configuration:**

- **Name:** `findEmail`
- **Label:** `Find Email Address`
- **Description:** Find a professional email address using a person's name and company domain

**Parameters:**

- `domain` (text, required) - Company domain (e.g., `tomba.io`)
- `firstName` (text, required) - Person's first name
- `lastName` (text, required) - Person's last name

**Example Use Case:**

```
Trigger: New row in Google Sheets
↓
Tomba.io: Find Email Address
↓
Action: Send email via Gmail
```

### Module 2: Verify Email Address

Verify if an email address is valid and deliverable.

**Configuration:**

- **Name:** `verifyEmail`
- **Label:** `Verify Email Address`
- **Description:** Verify if an email address is valid and deliverable

**Parameters:**

- `email` (email, required) - Email address to verify

**Returns:**

- Email deliverability status
- SMTP check results
- Risk score
- Accept-all detection

### Module 3: Search Domain Emails

Search for all email addresses associated with a domain.

**Configuration:**

- **Name:** `domainSearch`
- **Label:** `Search Domain Emails`
- **Description:** Search for all email addresses associated with a domain

**Parameters:**

- `domain` (text, required) - Company domain
- `page` (number, optional, default: 1) - Page number for pagination
- `limit` (number, optional, default: 10) - Results per page (max: 100)
- `department` (text, optional) - Filter by department (e.g., "engineering", "sales")

### Module 4: Get Email Count

Get the total number of email addresses associated with a domain.

**Configuration:**

- **Name:** `countEmail`
- **Label:** `Get Email Count`
- **Description:** Get the total number of email addresses associated with a domain

**Parameters:**

- `domain` (text, required) - Company domain

### Module 5: Find Email from LinkedIn

Find email addresses using LinkedIn profile URLs.

**Configuration:**

- **Name:** `findEmailLinkedIn`
- **Label:** `Find Email from LinkedIn`
- **Description:** Find email addresses using LinkedIn profile URLs

**Parameters:**

- `url` (text, required) - LinkedIn profile URL (e.g., `https://linkedin.com/in/username`)

### Module 6: Author Finder

Find the author of a webpage by URL.

**Configuration:**

- **Name:** `authorFinder`
- **Label:** `Author Finder`
- **Description:** Find the author of a webpage by URL

**Parameters:**

- `url` (text, required) - Webpage URL

### Module 7: Enrich Data

Enrich company or contact data using email or domain.

**Configuration:**

- **Name:** `enrich`
- **Label:** `Enrich Data`
- **Description:** Enrich company or contact data

**Parameters:**

- `email` (email, optional) - Email address to enrich
- `domain` (text, optional) - Domain to enrich

### Module 8: Phone Finder

Find phone numbers associated with a domain, email, or LinkedIn URL.

**Configuration:**

- **Name:** `phoneFinder`
- **Label:** `Phone Finder`
- **Description:** Find phone numbers associated with a domain, email, or LinkedIn URL

**Parameters:**

- `domain` (text, optional) - Company domain
- `email` (email, optional) - Email address
- `linkedin` (text, optional) - LinkedIn profile URL

### Module 9: Phone Validator

Validate phone numbers for format and deliverability.

**Configuration:**

- **Name:** `phoneValidator`
- **Label:** `Phone Validator`
- **Description:** Validate phone numbers for format and deliverability

**Parameters:**

- `phone` (text, required) - Phone number to validate
- `country_code` (text, optional) - Country code (e.g., `US`, `FR`, `GB`)

### Module 10: Similar Domains

Find domains similar to a given domain.

**Configuration:**

- **Name:** `similarDomains`
- **Label:** `Similar Domains`
- **Description:** Find domains similar to a given domain

**Parameters:**

- `domain` (text, required) - Company domain

### Module 11: Create Lead

Create a new lead in Tomba.io.

**Configuration:**

- **Name:** `createLead`
- **Label:** `Create Lead`
- **Description:** Create a new lead in Tomba.io

**Parameters:**

- `email` (email, required) - Lead's email address
- `firstName` (text, optional) - Lead's first name
- `lastName` (text, optional) - Lead's last name

## Example Workflows

### Lead Generation Automation

```
1. Google Sheets: Watch for new rows
   ↓
2. Tomba.io: Find Email Address (using name + domain)
   ↓
3. Tomba.io: Verify Email Address
   ↓
4. Router: Check if email is valid
   ↓
5a. Valid → Add to CRM (HubSpot/Salesforce)
5b. Invalid → Log to error sheet
```

### Domain Research

```
1. Webhook: Receive company domain
   ↓
2. Tomba.io: Search Domain Emails
   ↓
3. Tomba.io: Get Email Count
   ↓
4. Tomba.io: Find Similar Domains
   ↓
5. Google Sheets: Create comprehensive report
```

## Advanced Features

### Error Handling

Each module includes error handling that returns meaningful error messages. Add error handler routes in your scenarios to catch and handle these errors.

**Example:**

```
Tomba.io: Find Email
   ↓
Error Handler: Email Not Found
   ↓
Alternative Action: Log to database
```

### Pagination

For the Domain Search module, you can implement loops to fetch all pages:

```
Tomba.io: Domain Search (Page 1)
   ↓
Iterator: Repeat while more pages exist
   ↓
Tomba.io: Domain Search (Page N)
   ↓
Aggregator: Combine all results
```

### Data Filtering

Use Make.com's built-in filters between modules:

```
Tomba.io: Domain Search
   ↓
Filter: Only emails with @company.com
   ↓
Tomba.io: Verify Each Email
```

## Troubleshooting

### Connection Test Fails

- Verify your API credentials are correct in [Tomba.io dashboard](https://app.tomba.io/api)
- Check that your Tomba.io account is active
- Ensure you have API access enabled in your plan

### Module Returns No Data

- Check the request URL and parameters
- Use Make.com's "Run Once" feature to see the actual API response
- Verify the output mapping matches the response structure
- Check your [API usage limits](https://app.tomba.io/usage)

### Rate Limiting

- Tomba.io API has rate limits based on your plan
- Use Make.com's scheduling features to space out requests
- Implement error handling for 429 (Too Many Requests) responses

## Best Practices

1. **Batch Operations**: Use pagination and iterators for large datasets
2. **Error Handling**: Always add error handlers to gracefully handle API failures
3. **Data Validation**: Verify inputs before sending to Tomba.io
4. **Monitoring**: Use Make.com's execution history to monitor your workflows
5. **Testing**: Test scenarios with "Run Once" before activating

## Resources

- [Tomba.io API Documentation](https://docs.tomba.io)
- [Make.com Documentation](https://www.make.com/en/help)
- [Tomba.io API Status](https://status.tomba.io)
- [Make.com Community](https://community.make.com)

## Support

For issues with:

- **Tomba.io API**: Contact [Tomba.io support](mailto:support@tomba.io)
- **Make.com Platform**: Contact Make.com support
- **Authentication**: Verify credentials in both platforms

## Version History

**v1.0.0** - Initial release

- 11 core modules covering all major Tomba.io API endpoints
- API Key authentication
- Full error handling
- Comprehensive output mapping
