Bulko
Integrations

Connect Bulko to your process

REST API for campaigns and data, IMAP sync for replies, separate SMTP Access, and setup guides for popular SMTP providers.

Basic primitives

Three ways to interact with the platform. Choose whichever suits your task best.

REST API

Push model. Create campaigns, import subscribers, read statistics. JSON-only, Bearer-token authorization.

Go to documentation →

JSON import

Add addresses to an existing list or create a new one. Invalid and unsubscribed addresses are skipped.

API Example →

IMAP Reply-Sync

Connect IMAP to each SMTP. Bulko retrieves responses every 5 minutes and classifies them using AI. Nothing needs to be done manually.

IMAP configuration →
Code samples

Launch a campaign from any language

Minimal example: creating a campaign and starting the send. Input — a list of emails and a template. Output — campaign_id and the statistics dashboard URL.

# Launch a campaign
curl -X POST 'https://bulko.io/api/v1/campaigns/launch' \
  -H 'Authorization: Bearer YOUR_API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Q2 Outreach",
    "subject": "{Hi|Hello} {{name}}",
    "body": "<p>Hi {{name}}, ...</p>",
    "subscriber_list_id": 42,
    "ai_rotation": true
  }'

Endpoints (short list)

POST/api/v1/campaigns/launchCreate and launch a campaign
GET/api/v1/campaigns/{id}/statsCampaign statistics
POST/api/v1/subscribers/importImport Addresses (JSON)
GET/api/v1/replies/?status=positiveReply list with filters
GET/api/v1/smtp/accessesSMTP Access Limits
GET/api/v1/account/balanceEmail and AI credits

The API token is generated in your profile settings. Rate limit: 60 requests/min per token.

Webhooks

Webhooks are the next API stage

Outbound webhooks are not currently available in production. The events below are planned after the REST API is stabilized. For current automation, poll the statistics and replies endpoints.

delivered

The email was successfully accepted by the recipient's SMTP server. Contains campaign_id, recipient, smtp_used, timestamp.

opened

The recipient opened the email. Unique opens (one event per address).

clicked

Click on a link. Contains url, recipient, and campaign_id.

replied

A reply was received. Contains body, AI classification (positive/negative/question), confidence.

bounced

Bounce. Contains SMTP error code (550, 553, 421...) and raw bounce-reason.

unsubscribed

The recipient clicked the unsubscribe link. The email is added to the global suppression list.

// Planned "replied" payload — not yet a production API
{
  "event": "replied",
  "campaign_id": 142,
  "recipient": "[email protected]",
  "reply": {
    "subject": "Re: Quick question",
    "body": "Sounds great, when can we talk?",
    "received_at": "2026-05-09T14:32:11Z",
    "ai_classification": "positive",
    "ai_confidence": 0.94
  },
  "timestamp": "2026-05-09T14:32:14Z"
}

SMTP providers

This is a library of step-by-step standard SMTP guides, not a list of native Bulko integrations. Use Campaign Platform or SMTP Access to send without your own setup.

Payment gateways

Optimal payment methods for each region. All providers process payments on their end; Bulko does not store card details.

Stripe

Visa / Mastercard / Apple Pay / Google Pay. All international cards.

CoinGate

BTC / ETH / USDT / USDC and 70+ other cryptocurrencies. Lightning supported.

Heleket

Crypto payments with extended stablecoin support. Lower fees than CoinGate.

CactusPay

Russian cards, SBP QR. The fastest method for users in Russia.

No-code and CRM

You can call the REST API through a generic HTTP Request/Webhooks action. Bulko does not yet have listed apps in these service directories.

Zapier

Use Webhooks by Zapier to POST to the address import and campaign launch endpoints.

n8n

The HTTP Request node gives full control over the JSON body and can periodically retrieve statistics and replies.

CRM (HubSpot, Pipedrive, Bitrix24)

Connect your CRM to the REST API through its built-in HTTP actions or an intermediate Zapier/n8n workflow. This is not a native integration.

Need a custom integration?

Describe your task — we'll help you choose the best approach. SDK examples for Python and Node.js on request.

[email protected]