Automation Guide
Automate reward distribution using no-code platforms like Zapier, Make, IFTTT, and n8n.
Overview
Connect Loyalteez to hundreds of platforms and services without writing code. Perfect for:
- Marketing automation
- CRM integrations
- E-commerce workflows
- Social media rewards
- Customer onboarding
- Content creation rewards
Platform Integrations
Zapier Integration
Quick Start
-
Create a Zap
- Trigger: Choose your trigger app (e.g., "New Email Subscriber" in Mailchimp)
- Action: Choose "Webhooks by Zapier" → "POST"
-
Configure Webhook
- URL:
https://api.loyalteez.app/loyalteez-api/manual-event - Method: POST
- Headers:
Content-Type: application/json - Body:
{
"brandId": "YOUR_BRAND_ID",
"eventType": "newsletter_signup",
"userEmail": "{{email}}",
"domain": "yourdomain.com",
"metadata": {
"source": "zapier",
"trigger": "mailchimp"
}
}
- URL:
Example Workflows
Mailchimp Newsletter Signup
Trigger: New Subscriber in Mailchimp
↓
Filter: Status is "subscribed"
↓
Action: POST to Loyalteez
{
"brandId": "YOUR_BRAND_ID",
"eventType": "newsletter_signup",
"userEmail": "{{subscriber_email}}",
"metadata": {
"list_name": "{{list_name}}",
"signup_date": "{{timestamp}}"
}
}
↓
Result: User receives 25 LTZ automatically!
Shopify Purchase Rewards
Trigger: New Order in Shopify
↓
Filter: Order status is "paid"
↓
Action: POST to Loyalteez
{
"brandId": "YOUR_BRAND_ID",
"eventType": "purchase",
"userEmail": "{{customer_email}}",
"metadata": {
"order_id": "{{order_id}}",
"amount": "{{total_price}}",
"items": "{{line_items}}"
}
}
Airtable Task Completion
Trigger: New Record in Airtable View
↓
Filter: Status is "Completed"
↓
Action: POST to Loyalteez
{
"brandId": "YOUR_BRAND_ID",
"eventType": "task_completed",
"userEmail": "{{email_field}}",
"metadata": {
"task_name": "{{name}}",
"category": "{{category}}",
"points_earned": "{{base_reward}}"
}
}
Make (Integromat) Integration
Module Setup
-
Add HTTP Module
- Choose "Make an API Call"
- Method: POST
- URL:
https://api.loyalteez.app/loyalteez-api/manual-event
-
Configure Headers
{
"Content-Type": "application/json"
} -
Configure Body
{
"brandId": "{{YOUR_BRAND_ID}}",
"eventType": "{{event_type}}",
"userEmail": "{{user_email}}",
"domain": "yourdomain.com",
"metadata": {
"source": "make",
"workflow_id": "{{scenario.id}}"
}
}
Example Scenario
Google Sheets to Rewards
Watch Rows (Google Sheets)
↓
Router
├─ If status = "completed" → Reward user
├─ If status = "premium" → Bonus reward
└─ If status = "referral" → Referral reward
↓
HTTP Request (Loyalteez)
↓
Update Row (Mark as rewarded)
IFTTT Integration
Create Applet
-
Choose Trigger
- Example: "New post on Medium"
- Or: "New tweet with hashtag"
-
Choose Action: Webhooks
- Action: "Make a web request"
- URL:
https://api.loyalteez.app/loyalteez-api/manual-event - Method: POST
- Content Type: application/json
- Body:
{
"brandId": "YOUR_BRAND_ID",
"eventType": "content_created",
"userEmail": "{{CreatorEmail}}",
"metadata": {
"platform": "medium",
"post_title": "{{Title}}",
"post_url": "{{Url}}"
}
}
Example Applets
Twitter Engagement Rewards
IF: New tweet with #YourBrand
THEN: POST to Loyalteez API
eventType: "social_engagement"
metadata: { platform: "twitter", tweet_id: "..." }
Instagram Post Rewards
IF: New Instagram post
THEN: POST to Loyalteez API
eventType: "content_creation"
metadata: { platform: "instagram", post_url: "..." }
n8n (Self-Hosted) Integration
Workflow Setup
-
Add HTTP Request Node
- Method: POST
- URL:
https://api.loyalteez.app/loyalteez-api/manual-event
-
Configure JSON Body
{
"brandId": "{{ $env.LOYALTEEZ_BRAND_ID }}",
"eventType": "{{ $node['Trigger'].json['event_type'] }}",
"userEmail": "{{ $node['Trigger'].json['email'] }}",
"domain": "{{ $env.DOMAIN }}",
"metadata": {
"source": "n8n",
"workflow_id": "{{ $workflow.id }}",
"execution_id": "{{ $execution.id }}"
}
} -
Add Error Handling
- Use "Error Trigger" node
- Log failures to database
- Send alerts on critical errors
Advanced Workflow Example
Webhook Trigger (User signup)
↓
Code Node (Validate data)
↓
Switch Node (Check user type)
├─ Premium → Reward 500 LTZ
├─ Standard → Reward 100 LTZ
└─ Trial → Reward 50 LTZ
↓
HTTP Request (Loyalteez API)
↓
If Error
├─ Retry (3x with delay)
└─ Send Alert (Slack/Email)
↓
Database (Log reward)
↓
Email Node (Confirmation)
Common Automation Patterns
1. Email Marketing Integration
Reward Newsletter Signups
// Mailchimp → Loyalteez
Trigger: New Subscriber
Action: Reward 25 LTZ
Metadata: List name, source, campaign
Reward Email Opens
// SendGrid → Loyalteez
Trigger: Email Opened
Filter: First open only
Action: Reward 5 LTZ
2. E-Commerce Integration
Purchase Rewards
// Shopify/WooCommerce → Loyalteez
Trigger: New Order
Filter: Payment completed
Action: Reward 1 LTZ per $1 spent
Metadata: Order ID, items, total
Review Submission
// Judge.me/Reviews → Loyalteez
Trigger: New Review
Filter: 4+ stars
Action: Reward 50 LTZ
3. CRM Integration
Deal Closed Rewards
// HubSpot/Salesforce → Loyalteez
Trigger: Deal Stage Changed
Filter: Stage = "Closed Won"
Action: Reward sales rep
Metadata: Deal value, client name
Contact Engagement
// Pipedrive → Loyalteez
Trigger: Activity Completed
Filter: Type = "Meeting"
Action: Reward 10 LTZ
4. Social Media Rewards
Content Creation
// Buffer/Hootsuite → Loyalteez
Trigger: Post Published
Action: Reward 15 LTZ
Metadata: Platform, engagement
Community Moderation
// Discord/Slack → Loyalteez
Trigger: Message contains "helpful"
Action: Reward 5 LTZ
Metadata: Channel, message ID
5. Project Management
Task Completion
// Asana/Trello → Loyalteez
Trigger: Task Moved to "Done"
Action: Reward based on priority
Metadata: Task name, assignee
Sprint Goals
// Jira → Loyalteez
Trigger: Sprint Completed
Filter: Velocity > target
Action: Bonus rewards for team
Best Practices
1. Use Metadata Extensively
{
"brandId": "YOUR_BRAND_ID",
"eventType": "custom_event",
"userEmail": "[email protected]",
"metadata": {
"source": "zapier",
"workflow_name": "Newsletter Signup Flow",
"trigger_app": "mailchimp",
"list_name": "Main Newsletter",
"signup_source": "website_footer",
"timestamp": "2025-11-17T10:00:00Z",
"user_country": "US",
"referrer": "google"
}
}
Why?
- Debugging & analytics
- Attribution tracking
- Custom reporting
- A/B testing insights
2. Implement Error Handling
HTTP Request (Loyalteez)
↓
IF Success
├─ Log to database
└─ Send confirmation
ELSE
├─ Retry (3x)
├─ Log error
└─ Alert admin
3. Use Filters to Prevent Duplicates
Trigger: New Order
↓
Filter: Order status = "paid" AND
NOT previously rewarded
↓
Action: Reward user
↓
Update: Mark as rewarded in database
4. Test with Sandbox Data
{
"brandId": "YOUR_BRAND_ID",
"eventType": "test_event",
"userEmail": "[email protected]",
"metadata": {
"test_mode": true,
"workflow": "my_workflow_test"
}
}
5. Monitor & Optimize
- Track success rates in automation platform
- Set up alerts for failures
- Monitor reward costs in Partner Portal
- A/B test different reward amounts
Security Considerations
Protect Your Brand ID
# Use environment variables
LOYALTEEZ_BRAND_ID=0x47511fc1c6664c9598974cb112965f8b198e0c725e
# Don't hardcode in shared workflows
Validate Domain
{
"brandId": "YOUR_BRAND_ID",
"eventType": "event",
"userEmail": "[email protected]",
"domain": "yourdomain.com", // ← Always include!
"metadata": {}
}
Rate Limiting
- Implement cooldown periods in your workflows
- Use filters to prevent duplicate rewards
- Monitor for abuse patterns
Troubleshooting
Events Not Appearing
Check:
- ✅ Brand ID is correct
- ✅ Domain matches Partner Portal settings
- ✅ Email format is valid
- ✅ Event type exists in your configuration
Debug:
{
"debug": true,
"brandId": "YOUR_BRAND_ID",
"eventType": "test_event",
"userEmail": "[email protected]"
}
Rate Limit Errors
Solution:
- Add delays between bulk actions
- Implement retry logic with exponential backoff
- Contact support to increase limits
Domain Not Authorized
Fix:
- Go to Partner Portal → Settings
- Update
website_urlfield - Ensure domain matches exactly (no protocol, no trailing slash)
Advanced Patterns
Multi-Step Rewards
User signs up (50 LTZ)
↓ Wait 24 hours
User verifies email (50 LTZ)
↓ Wait 7 days
User makes first purchase (200 LTZ)
↓
Total: 300 LTZ earned
Conditional Rewards
IF purchase_amount > $100
THEN reward = 200 LTZ
ELSE IF purchase_amount > $50
THEN reward = 100 LTZ
ELSE
THEN reward = 50 LTZ
Referral Tracking
Trigger: New user signup
↓
Check: Has referral code?
├─ YES → Reward referrer 100 LTZ
└─ NO → Continue
↓
Reward new user 50 LTZ
Platform-Specific Tips
Zapier
- Use "Code by Zapier" for complex logic
- Implement webhook queues for high-volume
- Use Zapier's built-in retry logic
Make
- Use routers for conditional logic
- Implement error branches on HTTP modules
- Use data stores for deduplication
n8n
- Self-hosted = full control
- Use environment variables for secrets
- Implement comprehensive logging
IFTTT
- Great for simple triggers
- Limited error handling
- Best for social media integrations
Example Use Cases
Content Creator Platform
New article published → Reward 100 LTZ
Article gets 100 views → Reward 50 LTZ
Article shared → Reward 25 LTZ
SaaS Onboarding
Account created → Reward 50 LTZ
Profile completed → Reward 50 LTZ
First project created → Reward 100 LTZ
Invited team member → Reward 100 LTZ
Community Engagement
Discord message → Reward 5 LTZ
Helpful reaction → Reward 10 LTZ
Weekly active → Reward 50 LTZ
Monthly MVP → Reward 500 LTZ
Next Steps
- Custom Events Guide - Define custom event types
- Event Handler API - Direct API integration
- Webhooks Guide - Receive event notifications
- Testing Guide - Test your integrations
Support
- Zapier Template: [Coming Soon]
- Make Blueprint: [Coming Soon]
- n8n Workflow: [Coming Soon]
- Email: [email protected]