Zapier Integration
How to use personalize.marketing with Zapier
Zapier Integration
Connect personalize.marketing to 5,000+ apps with Zapier.
Zapier Timeout Limitation
Zapier's maximum timeout is 30 seconds, which is often too short for our API. Scraping social profiles and generating personalized messages takes time.
Platform reliability:
- LinkedIn - Works most reliably within Zapier's timeout
- Instagram & TikTok - Often timeout due to longer scraping times
We're actively working on solutions to make Zapier integration more reliable. For now, consider using n8n or Make which support longer timeouts.
Prerequisites
You need an API key. See Get Started for instructions.
Setup
Use Zapier's Webhooks by Zapier app to call the personalize.marketing API.
Step 1: Create a Zap
- Create a new Zap with your trigger (e.g., new row in Google Sheets)
- Add Webhooks by Zapier as an action
- Choose Custom Request
Step 2: Configure the Webhook
URL:
https://personalize.marketing/api/v1/personalize-apiMethod: POST
Headers:
Authorization: Bearer YOUR_API_KEY
Content-Type: application/jsonBody:
{
"profile_url": "{{profile_url_from_trigger}}",
"template": "Hey {{first name}},\n\nLove what you are building with {{their company or product}}. We make fitness supplements that would pair perfectly with your brand.\n\nWorth a quick chat?",
"brand_context": "We are a fitness supplement brand targeting health-conscious entrepreneurs",
"ai_instructions": "Keep the tone professional but friendly",
"enable_brand_fit_score": false,
"include_profile_report": false,
"include_raw_data": false
}Step 3: Handle Timeouts
Set the webhook timeout to 30 seconds (Zapier's maximum). However, our API often needs longer to scrape profiles and generate personalized messages.
You need to handle timeout errors in your Zap:
- Add error handling with retry logic for failed requests
- Or skip profiles that timeout and continue with the next one
- Instagram & TikTok are especially prone to timeouts due to longer scraping times
- LinkedIn works most reliably within Zapier's timeout limit
Step 4: Use the Response
The response includes personalized_text which you can use in subsequent Zap steps (e.g., send via Gmail, add to spreadsheet).
Response:
{
"success": true,
"personalized_text": "Hey Arnold,\n\nLove what you are building with The Pump app. We make fitness supplements that would pair perfectly with your brand.\n\nWorth a quick chat?",
"profile_url": "https://linkedin.com/in/arnold-schwarzenegger/",
"brand_fit_score": 9,
"profile_report": "Arnold Schwarzenegger is an entrepreneur, actor, and fitness icon with 500K+ LinkedIn followers. He actively promotes his businesses including The Pump app and his daily newsletter. His content focuses on fitness, motivation, and health advice. High engagement rates with a professional, health-conscious audience.",
"raw_data": {
"profile": {
"firstName": "Arnold",
"lastName": "Schwarzenegger",
"headline": "Businessman | Founder of The Pump",
"followerCount": 500000
},
"posts": ["..."]
}
}Request Fields
| Field | Required | Description |
|---|---|---|
profile_url | Yes | LinkedIn, Instagram, or TikTok profile URL |
template | Yes | Your message with {{instruction}} placeholders (e.g., {{first name}}) |
ai_instructions | No | Custom tone/style instructions for the AI |
brand_context | No | Your brand description for better post matching |
enable_variations | No | Rephrase output to avoid spam detection |
enable_brand_fit_score | No | Get 1-10 brand fit score |
include_profile_report | No | Get detailed influencer analysis |
include_raw_data | No | Get raw profile data (unstable, for debugging only) |
See API Reference for complete documentation.
Interested in a Zap template? Let us know at contact@personalize.marketing