← All Developer Tools

Plivo email verification with BillionVerify

Plivo is a cloud communications platform that lets developers build voice and SMS applications. Teams that send transactional messages or OTPs through Plivo depend on accurate contact data β€” one bad address or invalid phone-paired email can tank deliverability and burn API credits.

Why verify before the send

Before routing messages through Plivo workflows, verifying the associated email addresses protects your sender reputation and reduces wasted API calls. BillionVerify filters out invalid, disposable, role-based, and catch-all addresses so every contact in your Plivo pipeline is real and reachable.

Ready-to-use n8n workflow

Import this workflow into n8n β€” it verifies every address with BillionVerify before Plivo sends, so only deliverable contacts are emailed. Install the BillionVerify community node first, then add your API key.

verify-emails-in-plivo.json
{
  "name": "Verify emails before sending in Plivo + BillionVerify",
  "nodes": [
    {
      "parameters": {},
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        240,
        300
      ],
      "name": "When clicking β€˜Test workflow’"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "email-field",
              "name": "email",
              "value": "jane@example.com",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        460,
        300
      ],
      "name": "Get contacts"
    },
    {
      "parameters": {
        "sendTo": "={{ $json.email }}",
        "subject": "Message for Plivo contacts",
        "message": "Replace this Gmail send with your Plivo node β€” only deliverable, verified contacts reach it.",
        "options": {}
      },
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.1,
      "position": [
        900,
        300
      ],
      "name": "Send email",
      "webhookId": "",
      "credentials": {
        "gmailOAuth2": {
          "id": "",
          "name": "Gmail account"
        }
      }
    },
    {
      "parameters": {
        "operation": "verify",
        "email": "={{ $json.email }}",
        "additionalOptions": {}
      },
      "type": "n8n-nodes-billionverify.billionVerify",
      "typeVersion": 1,
      "position": [
        540,
        300
      ],
      "name": "Verify Email (BillionVerify)",
      "credentials": {
        "billionVerifyApi": {
          "id": "",
          "name": "BillionVerify account"
        }
      }
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "is-deliverable",
              "leftValue": "={{ $json.is_deliverable }}",
              "rightValue": "",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              }
            }
          ]
        }
      },
      "type": "n8n-nodes-base.if",
      "typeVersion": 2,
      "position": [
        720,
        300
      ],
      "name": "IF deliverable"
    }
  ],
  "connections": {
    "When clicking β€˜Test workflow’": {
      "main": [
        [
          {
            "node": "Get contacts",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get contacts": {
      "main": [
        [
          {
            "node": "Verify Email (BillionVerify)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Verify Email (BillionVerify)": {
      "main": [
        [
          {
            "node": "IF deliverable",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IF deliverable": {
      "main": [
        [
          {
            "node": "Send email",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  }
}

Workflow templates with Plivo

Ready-to-use workflows that verify emails before Plivo sends.

How it works

  1. 1

    Install the BillionVerify n8n community node or connect via Integrately.

  2. 2

    Trigger a verification step whenever a new contact enters your Plivo workflow.

  3. 3

    BillionVerify checks each email for validity, disposability, role-based patterns, and catch-all status.

  4. 4

    Pass only verified addresses downstream to your Plivo send node.

  5. 5

    Log rejected contacts for review or re-engagement campaigns.

When to use this

Clean contacts before OTP delivery

When users register with an email to receive OTPs via Plivo, verify the address in real time. Catch typos and disposable inboxes before they enter your system and trigger failed message flows.

Scrub bulk contact lists

Before launching a mass SMS or voice campaign tied to email records, run the list through BillionVerify to remove bounces and invalid addresses, keeping your Plivo sender metrics healthy.

FAQ

Does BillionVerify work with Plivo's n8n node?

Yes. Install the BillionVerify n8n community node alongside the Plivo node in your workflow. Chain them so verification runs before any send action.

What types of addresses does BillionVerify catch?

BillionVerify detects invalid, disposable, role-based (info@, support@), and catch-all addresses β€” the main sources of bounces and low engagement in communications pipelines.

Can I verify emails in real time as users sign up?

Yes. Use the BillionVerify REST API to verify addresses at the point of collection, before they ever reach your Plivo contact list or trigger a message.

Verify emails in Plivo

Create a free account, grab your API key, and stop bounces before they happen.

Get started free