Integrations & Webhooks
Connect Mailneo with your favorite tools to sync data, trigger automations, and streamline your workflow. This guide covers available integrations, webhooks, and the public API.
Available Integrations
Data & Productivity
Google Sheets
Two-way sync contacts with spreadsheets
Notion
Sync databases and create records
Airtable
Connect bases for contact management
Automation Platforms
Zapier
Connect to 5000+ apps via Zaps
Make (Integromat)
Build complex automation scenarios
n8n
Self-hosted workflow automation
E-commerce & Payments
Shopify
Import customers, trigger on purchases
Gumroad
Sync buyers, automate post-purchase
Polar
Subscription and payment events
Forms & Landing Pages
Typeform
Add respondents as subscribers
Tally
Sync form submissions
Setting Up Integrations
OAuth Integrations
- Go to Settings → Integrations.
- Find the integration you want and click "Connect".
- Authorize Mailneo in the provider's OAuth flow.
- Configure sync settings (what data to sync, frequency).
- Enable the integration to start syncing.
API Key Integrations
- Generate an API key in the external service.
- Go to Settings → Integrations in Mailneo.
- Paste the API key in the configuration.
- Test the connection.
- Configure sync options and save.
Webhooks
Webhooks allow real-time communication between Mailneo and external systems. Send data out on events or receive data from other services.
Outgoing Webhooks
Send HTTP requests when events occur in Mailneo:
- New subscriber added
- Subscriber unsubscribes
- Email opened or clicked
- Campaign completed
- Tag added/removed
- Custom field updated
Creating Outgoing Webhooks
- Go to Settings → Webhooks → Create Webhook.
- Enter the destination URL.
- Select which events should trigger the webhook.
- Choose HTTP method (POST, PUT, etc.).
- Optionally add custom headers or authentication.
- Save and test the webhook.
Webhook Payload
Webhooks send JSON data with event details:
{
"event": "subscriber.created",
"timestamp": "2024-12-31T10:00:00Z",
"data": {
"email": "john@example.com",
"firstName": "John",
"tags": ["new-subscriber"]
}
}Incoming Webhooks
Receive data from external services:
- Each webhook has a unique URL you provide to external services
- Supports signature verification for security
- Can trigger automations on receipt
- Logs all incoming requests for debugging
Webhook Security
- Use HTTPS endpoints only
- Verify webhook signatures when available
- Implement idempotency for duplicate requests
- Set up retry handling for failed deliveries
Public API
API Overview
The Mailneo API allows programmatic access to:
- Contacts: Create, read, update, delete
- Campaigns: Create and manage campaigns
- Newsletters: Manage lists and subscribers
- Tags: Apply and remove tags
- Analytics: Retrieve campaign metrics
Authentication
Use API keys for authentication:
- Go to Settings → API Keys.
- Click "Create API Key" and name your key.
- Copy the key (it won't be shown again).
- Include in requests:
Authorization: Bearer YOUR_API_KEY
Rate Limiting
- Default limit: 100 requests per minute
- Rate limit headers included in responses
- 429 status returned when limit exceeded
- Higher limits available on Business plans
Example Request
curl -X POST https://api.mailneo.co/v1/contacts \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"email": "john@example.com",
"firstName": "John",
"tags": ["api-import"]
}'Integration Events
Events That Trigger Automations
Integration events can start workflows:
- Form submission (Typeform, Tally)
- Purchase completed (Shopify, Gumroad)
- Subscription created/cancelled (Polar)
- Payment failed (Polar)
- Data synced from integration
- Custom webhook received
Troubleshooting
Common Issues
Integration disconnected
OAuth tokens can expire. Go to Settings → Integrations and click "Reconnect" to re-authorize.
Webhook not receiving data
Check the webhook URL is correct and accessible. Review webhook logs for errors. Ensure your server returns 2xx status.
Data not syncing
Verify the integration is enabled. Check sync settings for filters that might exclude data. Review the sync log for errors.
API rate limited
Implement exponential backoff in your code. Batch requests where possible. Consider upgrading for higher limits.