{
  "service": "tomba",
  "displayName": "Tomba",
  "categories": [
    "Marketing",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "ta_...",
      "description": "Tomba API key used with the X-Tomba-Key header. Find or create API credentials in the Tomba API Keys page.",
      "extraFields": [
        {
          "key": "apiSecret",
          "label": "API Secret",
          "inputType": "password",
          "required": true,
          "secret": true,
          "placeholder": "Your Tomba API secret",
          "description": "Tomba API secret used with the X-Tomba-Secret header."
        }
      ]
    }
  ],
  "homepageUrl": "https://tomba.io",
  "actions": [
    {
      "id": "tomba.domain_search",
      "service": "tomba",
      "name": "domain_search",
      "description": "Search for email addresses and company intelligence for a domain.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "minLength": 1,
            "description": "The domain name or website URL to search."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "Optional page number for paginated Tomba results."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "Optional maximum number of results to request from Tomba."
          }
        },
        "additionalProperties": false,
        "required": [
          "domain"
        ],
        "description": "Input for searching email addresses by company domain."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw JSON payload returned by Tomba."
          }
        },
        "additionalProperties": false,
        "description": "A Tomba API response with the upstream payload preserved."
      }
    },
    {
      "id": "tomba.email_count",
      "service": "tomba",
      "name": "email_count",
      "description": "Count known email addresses and related breakdowns for a domain.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "minLength": 1,
            "description": "The domain name to count email addresses for."
          }
        },
        "additionalProperties": false,
        "description": "Input for counting known emails for a domain."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw JSON payload returned by Tomba."
          }
        },
        "additionalProperties": false,
        "description": "A Tomba API response with the upstream payload preserved."
      }
    },
    {
      "id": "tomba.email_finder",
      "service": "tomba",
      "name": "email_finder",
      "description": "Find the most likely professional email address for a person at a domain.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "minLength": 1,
            "description": "The company domain to search."
          },
          "firstName": {
            "type": "string",
            "minLength": 1,
            "description": "The person's first name."
          },
          "lastName": {
            "type": "string",
            "minLength": 1,
            "description": "The person's last name."
          }
        },
        "additionalProperties": false,
        "description": "Input for finding one professional email address by person and company."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw JSON payload returned by Tomba."
          }
        },
        "additionalProperties": false,
        "description": "A Tomba API response with the upstream payload preserved."
      }
    },
    {
      "id": "tomba.email_sources",
      "service": "tomba",
      "name": "email_sources",
      "description": "Retrieve public source URLs where Tomba found an email address.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "The email address whose sources should be returned.",
            "format": "email"
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving public sources for an email."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw JSON payload returned by Tomba."
          }
        },
        "additionalProperties": false,
        "description": "A Tomba API response with the upstream payload preserved."
      }
    },
    {
      "id": "tomba.email_verifier",
      "service": "tomba",
      "name": "email_verifier",
      "description": "Verify deliverability and metadata for an email address.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "The email address to verify.",
            "format": "email"
          }
        },
        "additionalProperties": false,
        "description": "Input for verifying one email address."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw JSON payload returned by Tomba."
          }
        },
        "additionalProperties": false,
        "description": "A Tomba API response with the upstream payload preserved."
      }
    },
    {
      "id": "tomba.enrich",
      "service": "tomba",
      "name": "enrich",
      "description": "Enrich a known email address with person and company attributes.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "The email address to enrich.",
            "format": "email"
          }
        },
        "additionalProperties": false,
        "description": "Input for enriching a known email address."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw JSON payload returned by Tomba."
          }
        },
        "additionalProperties": false,
        "description": "A Tomba API response with the upstream payload preserved."
      }
    },
    {
      "id": "tomba.get_account",
      "service": "tomba",
      "name": "get_account",
      "description": "Retrieve information about the authenticated Tomba account.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input is required for this Tomba action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "email": {
            "anyOf": [
              {
                "type": "string",
                "description": "The authenticated account email address when returned by Tomba.",
                "format": "email"
              },
              {
                "type": "null"
              }
            ]
          },
          "userId": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The authenticated Tomba user ID when returned by Tomba."
              },
              {
                "type": "null"
              }
            ]
          },
          "planName": {
            "anyOf": [
              {
                "type": "string",
                "description": "The authenticated account plan name when available."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Tomba account payload."
          }
        },
        "additionalProperties": false,
        "description": "The authenticated Tomba account response."
      }
    },
    {
      "id": "tomba.linkedin",
      "service": "tomba",
      "name": "linkedin",
      "description": "Find contact data associated with a public LinkedIn profile URL.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The public LinkedIn profile URL to search.",
            "format": "uri"
          }
        },
        "additionalProperties": false,
        "description": "Input for finding contact data from a LinkedIn URL."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw JSON payload returned by Tomba."
          }
        },
        "additionalProperties": false,
        "description": "A Tomba API response with the upstream payload preserved."
      }
    },
    {
      "id": "tomba.search_companies",
      "service": "tomba",
      "name": "search_companies",
      "description": "Search companies with Tomba Reveal using a natural-language query or filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "Natural language company search query. Use this on the first request, then reuse filters from the response when needed."
          },
          "filters": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Structured Tomba Reveal filters to apply instead of a query."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "Optional page number for paginated company search results."
          }
        },
        "additionalProperties": false,
        "description": "Input for searching companies with Tomba Reveal."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw JSON payload returned by Tomba."
          }
        },
        "additionalProperties": false,
        "description": "A Tomba API response with the upstream payload preserved."
      }
    },
    {
      "id": "tomba.technology",
      "service": "tomba",
      "name": "technology",
      "description": "Detect technologies and tools used by a company domain.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "minLength": 1,
            "description": "The domain name to inspect for technologies."
          }
        },
        "additionalProperties": false,
        "description": "Input for detecting technologies used by a domain."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw JSON payload returned by Tomba."
          }
        },
        "additionalProperties": false,
        "description": "A Tomba API response with the upstream payload preserved."
      }
    }
  ]
}
