Make.com Integration
Imagine creating hundreds of branded short links while you sleep, getting Slack alerts when campaigns go viral, or syncing analytics across your entire marketing stack—all without writing a single line of code. Connect SnipLink with Make.com to turn those possibilities into reality.
Overview
Here's everything you can do with SnipLink's Make integration—think of these as building blocks for your automation dreams:
Actions
- Create, update, and delete links
- Get detailed link analytics
- Make custom API calls
Searches
- List links with filtering and sorting
- Search links by URL, slug, or title
Triggers
- Watch for new links (polling)
- Instant webhooks for created, updated, or deleted links
Prerequisites
Don't worry—setup is straightforward. Here's what you'll need to get started:
- Active SnipLink account - Sign up at sniplink.com if you don't have one
- Make.com account - Free or paid plan at make.com
- Admin access to your SnipLink workspace to create OAuth clients
Setup Instructions
Ready to connect? We'll walk through this together in three straightforward steps. First, you'll create an OAuth client in SnipLink (fancy term, simple process). Then you'll add your credentials to Make.com and authorize the connection. Let's dive in.
Step 1: Create OAuth Client in SnipLink
- Navigate to OAuth settings
Log in to your SnipLink dashboard and go to Settings → Integrations → OAuth Clients
- Create new OAuth client
Click "Create OAuth Client" and fill in the details:
- Name: "Make.com Integration" (or your preferred name)
- Client Type: Confidential
- Redirect URIs: Add Make.com's OAuth callback URL:text
https://www.integromat.com/oauth/cb/app
- Select required scopes
Grant the following permissions based on your automation needs:
links:read- Read links and their datalinks:write- Create, update, and delete linksanalytics:read- Access link analyticswebhooks:manage- Create and manage webhooks (for instant triggers)workspaces:read- Read workspace informationdomains:read- List available domainstags:read- List existing tags
Scope Permissions: Select only the scopes you need. You can always update permissions later by editing the OAuth client. - Save and copy credentials
After creating the client, copy both the Client ID and Client Secret. You'll need these for Make.com configuration.
Security Warning: Important: Your Client Secret appears only once for security reasons. Copy it now and tuck it somewhere safe (a password manager works great). If it goes missing later, no worries—you can always generate a new one, though you'll need to update Make.com with the new credentials.
Step 2: Configure Connection in Make.com
- Create a new scenario
In Make.com, click Create a new scenario and add a SnipLink module
- Add SnipLink connection
When prompted to create a connection, click Add and choose OAuth 2.0
- Enter OAuth credentials
Fill in the connection details:
- Connection Name: "SnipLink Production" (or your preferred name)
- Client ID: Paste the Client ID from Step 1
- Client Secret: Paste the Client Secret from Step 1
- Save and authorize
Click Save and then Continue to start the OAuth authorization flow
Step 3: Authorize the Connection
- Review permissions
You'll be redirected to SnipLink's authorization page. Review the requested permissions and the workspace you're granting access to.
- Authorize access
Click Authorize to grant Make.com access to your SnipLink account
- Verify connection
You'll be redirected back to Make.com. If successful, you'll see your workspace name and connection status as "Connected"
You're connected! SnipLink modules are now ready to use in your Make scenarios. Time to build something awesome.
Available Modules
Actions
Create a Link
Creates a new short link with optional customization: custom slug, domain selection, tags, expiration date, password protection, click limits, and UTM parameters.
Required: Destination URL
Optional: Slug, Domain, Title, Description, Tags, Expiration, Password, Click Limit, UTM Parameters
Update a Link
Updates an existing short link. You can modify any property including the destination URL, slug, metadata, or settings.
Required: Link ID
Optional: Any link property to update
Delete a Link
Permanently deletes a short link. This action cannot be undone.
Required: Link ID
Get Link Analytics
Retrieves detailed analytics for a specific link including total clicks, unique clicks, time-series data, and breakdowns by country, device, browser, and referrer.
Required: Link ID
Optional: Start Date, End Date, Group By (day/week/month/country/device/browser/referrer)
Make an API Call
Make a custom API call to any SnipLink endpoint. Useful for advanced operations not covered by standard modules or for accessing new API features.
Required: URL Path, HTTP Method
Optional: Headers, Query Parameters, Request Body
Example: Create a Link with Advanced Options
HTTP Request
POST /v1/workspaces/{workspaceId}/links
X-API-Key: {{connection.apiKey}}
Content-Type: application/json
{
"url": "https://example.com/campaign-landing-page",
"slug": "summer-sale",
"title": "Summer Sale Campaign",
"tags": ["campaign:summer-2026", "source:newsletter"],
"expiresAt": "2026-08-31T23:59:59Z",
"password": "VIP2026",
"maxClicks": 1000,
"utmSource": "newsletter",
"utmMedium": "email",
"utmCampaign": "summer-sale"
}Success Response (200 OK)
{
"success": true,
"data": {
"id": "link_abc123xyz",
"shortUrl": "https://snip.link/summer-sale",
"slug": "summer-sale",
"url": "https://example.com/campaign-landing-page?utm_source=newsletter&utm_medium=email&utm_campaign=summer-sale",
"title": "Summer Sale Campaign",
"tags": ["campaign:summer-2026", "source:newsletter"],
"expiresAt": "2026-08-31T23:59:59Z",
"passwordProtected": true,
"maxClicks": 1000,
"clicks": 0,
"createdAt": "2026-02-07T10:30:00Z",
"updatedAt": "2026-02-07T10:30:00Z"
}
}Error Response (400 Bad Request) - Slug Taken
{
"success": false,
"error": {
"code": "SLUG_ALREADY_EXISTS",
"message": "The slug 'summer-sale' is already in use",
"statusCode": 400,
"details": {
"field": "slug",
"value": "summer-sale",
"suggestion": "Try 'summer-sale-2026' or leave slug empty for auto-generation"
}
}
}Error Response (403 Forbidden) - Feature Not Available
{
"success": false,
"error": {
"code": "TIER_REQUIRED",
"message": "Password protection requires a Pro plan or higher",
"statusCode": 403,
"details": {
"feature": "password_protection",
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://app.sniplink.co/billing/upgrade"
}
}
}Searches
List Links
Lists all links in your workspace with pagination, sorting, and filtering options. Returns up to 100 links per request.
Optional: Limit (max 100), Sort By (created/updated/click count), Filter by Domain, Filter by Tags
Search Links
Full-text search across your links. Searches in URL, slug, title, and description fields with relevance-based ranking.
Required: Search Query
Optional: Limit (max 100), Sort By (relevance/created/click count)
Triggers
Watch New Links (Polling)
Checks for new links at regular intervals (every 15 minutes by default). Suitable for scenarios that don't require immediate execution.
Optional: Domain Filter, Limit
Polling Interval: 15 minutes (configurable)
Watch Link Created (Instant)
Triggers instantly when a new link is created via webhook. Executes in real-time without delays.
Optional: Domain Filter
Requires: webhooks:manage scope
Watch Link Updated (Instant)
Triggers instantly when a link is updated. Includes information about which fields changed.
Optional: Domain Filter
Payload Includes: Changed fields array
Watch Link Deleted (Instant)
Triggers instantly when a link is deleted. Useful for cleanup workflows or archiving.
Optional: Domain Filter
Payload Includes: Deleted link metadata
Example Workflows
Feeling inspired? Here are some real-world automation scenarios that SnipLink + Make users are loving. Use these as starting points or mix and match ideas to create something uniquely yours:
1. Auto-Create Links from Google Sheets
Scenario:
Automatically create short links for URLs listed in a Google Sheet. Perfect for marketing teams managing campaigns.
Modules:
- Google Sheets: Watch New Rows - Triggers when a new row is added
- SnipLink: Create a Link - Creates short link with URL from sheet
- Google Sheets: Update a Row - Writes short URL back to sheet
Use Case:
- Marketing campaign URL management
- Bulk link creation from spreadsheets
- Team collaboration on link collections
2. Track Link Clicks in Slack
Scenario:
Get Slack notifications whenever a specific link reaches click milestones (100, 500, 1000 clicks).
Modules:
- Schedule: Every 1 Hour - Run on schedule
- SnipLink: Get Link Analytics - Fetch current click count
- Filter - Only continue if milestone reached
- Slack: Send a Message - Notify team channel
Use Case:
- Campaign performance monitoring
- Team awareness of link traction
- Milestone celebrations
3. Create QR Codes and Save to Dropbox
Scenario:
When a new link is created, automatically generate a QR code and save it to Dropbox with the link slug as the filename.
Modules:
- SnipLink: Watch Link Created - Triggers on new link
- HTTP: Make a Request - Generate QR code (use QR code API)
- Dropbox: Upload a File - Save QR code image
Use Case:
- Event marketing materials
- Print campaign automation
- QR code asset management
4. Sync Link Analytics to Airtable
Scenario:
Daily sync of link performance data to Airtable for reporting and analysis.
Modules:
- Schedule: Every Day - Run daily at 9 AM
- SnipLink: List Links - Get all active links
- Iterator - Loop through each link
- SnipLink: Get Link Analytics - Fetch yesterday's stats
- Airtable: Create/Update a Record - Save to database
Use Case:
- Performance reporting dashboards
- Historical analytics tracking
- Cross-platform data aggregation
5. Auto-Expire Campaign Links
Scenario:
Automatically delete or update links tagged with specific campaigns after a set period.
Modules:
- Schedule: Every Week - Run weekly
- SnipLink: List Links - Filter by campaign tag
- Filter - Only links older than 30 days
- Iterator - Loop through old links
- SnipLink: Delete a Link - Remove expired links
Use Case:
- Campaign lifecycle management
- Link hygiene automation
- Temporary promotion cleanup
Troubleshooting
Hit a snag? Don't stress—most issues have simple fixes. We've collected the most common hiccups and their solutions below. You'll be back on track in no time.
Connection Issues
Error: "Invalid client credentials"
This usually means a small typo snuck in during setup. Here's what to check:
- Double-check that your Client ID and Client Secret match exactly (copy-paste is your friend here)
- Make sure there are no sneaky spaces before or after when you pasted them
- Verify the OAuth client is still active in your SnipLink settings
- Still stuck? Try generating a fresh client secret and reconnecting—sometimes a clean start does the trick
Error: "Redirect URI mismatch"
- Confirm the redirect URI in SnipLink exactly matches:
https://www.integromat.com/oauth/cb/app - Check for trailing slashes or protocol differences (http vs https)
- Make sure you saved the OAuth client after adding the redirect URI
Error: "Insufficient permissions"
- Review the scopes granted to your OAuth client
- Add missing scopes (e.g., webhooks:manage for instant triggers)
- Re-authorize the connection in Make.com after updating scopes
Webhook Issues
Instant triggers not firing
- Check that the scenario is active (not paused)
- Verify the webhook was created successfully in SnipLink dashboard
- Look for webhook delivery errors in Settings → Integrations → Webhooks → Deliveries
- Test the trigger by creating a link manually
- Check Make.com's webhook URL is publicly accessible
Webhook deliveries failing
- Check the webhook endpoint health in SnipLink settings
- View delivery attempt details and error messages
- Verify Make.com scenario is active and webhook module isn't rate-limited
- Check if the webhook was auto-disabled due to consecutive failures (10+)
- Manually retry failed deliveries from the Deliveries tab
Module Errors
Error: "Resource not found"
- Verify the link ID or resource ID is correct
- Check if the resource was deleted
- Confirm you're accessing the right workspace
- Use the "List Links" module to find the correct ID
Error: "Rate limit exceeded"
- Wait for the rate limit window to reset (check X-RateLimit-Reset header)
- Reduce the frequency of your scenario execution
- Use batching to process multiple items in fewer API calls
- Consider upgrading your SnipLink plan for higher rate limits
Error: "Validation error"
- Check that all required fields are filled in
- Verify data types match (e.g., numbers for click limits, not text)
- Ensure URLs are properly formatted with protocol (https://)
- Review the error message for specific field validation issues
Connection test passes but modules fail
If your connection shows as "Connected" but modules return permission errors, this is a scope mismatch issue.
- Check that OAuth client scopes match what your modules need (e.g.,
links:writefor Create Link module) - Verify you re-authorized the connection in Make.com after adding new scopes
- Check Make.com error logs in Settings → Scenario history for specific errors
- Confirm the OAuth client is still active in SnipLink dashboard (Settings → Integrations → OAuth Clients)
- Try disconnecting and reconnecting the SnipLink app in Make.com to refresh the OAuth token
Scope permission changes not taking effect
OAuth tokens are cached by Make.com for up to 1 hour, so scope updates won't be immediate.
- Quick fix: Disconnect and reconnect the SnipLink app in Make.com to force a fresh OAuth token
- Alternative: Wait up to 1 hour for Make.com to automatically refresh the token
- After reconnecting, test with a simple module (like "List Links") to verify the new scopes work
- If still failing, double-check the scope names in SnipLink dashboard match exactly (case-sensitive)
Webhook created but never fires
Webhooks need both SnipLink and Make.com configuration to be correct for events to flow through.
- Verify webhook URL in SnipLink dashboard: Settings → Webhooks → Endpoints (should show Make.com URL)
- Check Make.com scenario is active (NOT paused) - paused scenarios can't receive webhooks
- Manually test by triggering the event (e.g., create a link in SnipLink dashboard for "Link Created" webhook)
- Check SnipLink webhook delivery logs: Settings → Webhooks → Deliveries for HTTP status codes and errors
- Add a 1-second delay module before your first webhook action in Make.com (helps with timing issues)
- Verify webhook scope: OAuth client needs
webhooks:managepermission - If still not firing, delete and recreate the webhook trigger module in Make.com to get a fresh webhook URL
- Check our API status page to rule out any ongoing issues on our end
- Peek at your API logs in the SnipLink dashboard for specific error details
- Email us at Loading contact information—our team typically responds within a few hours
- Join our Discord community where fellow automation enthusiasts (and our team) hang out
Best Practices
Webhook-based instant triggers execute immediately and don't count against operation quotas during polling. They're perfect for time-sensitive automations.
Use Make.com's error handler routes to gracefully handle API errors, rate limits, and validation failures. Log errors to a Google Sheet or send alerts to Slack.
For important link creation or update operations, add retry mechanisms with exponential backoff to handle temporary API issues.
Add filters early in your scenario to process only relevant data. This reduces unnecessary API calls and operation consumption.
Instead of creating links one at a time, collect them in an array and process in batches. Use iterators to loop through arrays efficiently.
Check the
X-RateLimit-Remaining response header to track your quota usage. Set up alerts when approaching limits to prevent workflow interruptions.Use consistent tagging conventions (e.g., "campaign:summer-2024", "source:make-automation") to organize and filter links created through Make.com.
Use Make.com's manual execution and debugging tools to test your scenarios with real data before activating them. Verify all modules work as expected.
Never share your Client Secret publicly. Use separate OAuth clients for different environments (development, staging, production). Rotate secrets periodically.
Rate Limits
SnipLink API rate limits vary by plan tier. Your current limits are shown in API response headers:
X-RateLimit-Limit- Total requests allowed per windowX-RateLimit-Remaining- Requests remaining in current windowX-RateLimit-Reset- Timestamp when the window resets
Typical rate limits by plan:
| Plan | Rate Limit | Burst Limit |
|---|---|---|
| Free | 100 requests/hour | 20 requests/minute |
| Starter | 1,000 requests/hour | 100 requests/minute |
| Pro | 10,000 requests/hour | 500 requests/minute |
| Enterprise | Custom | Custom |
Security
OAuth 2.0 Security
The SnipLink Make.com integration uses OAuth 2.0 with PKCE (Proof Key for Code Exchange) for secure authentication:
- Authorization codes expire in 10 minutes
- Access tokens expire in 1 hour (automatically refreshed)
- Refresh tokens expire in 90 days
- All tokens are hashed with SHA-256 and encrypted at rest
Webhook Security
Instant triggers use webhook signatures to verify authenticity:
- Each webhook request includes an
X-Sniplink-Webhook-Signatureheader - Signatures are HMAC-SHA256 hashes of the payload with your webhook secret
- Timestamp validation prevents replay attacks (±30 second window)
- Make.com automatically verifies signatures - no additional configuration needed
Permissions and Scopes
Follow the principle of least privilege when granting OAuth scopes:
- Only grant scopes needed for your specific automation scenarios
- Review and audit OAuth client permissions quarterly
- Revoke access for unused OAuth clients
- Use separate OAuth clients for different teams or projects
Additional Resources
Your links are about to get a whole lot smarter
You've got everything you need to automate the repetitive stuff and focus on what matters. Whether you're streamlining campaign workflows, syncing analytics across tools, or building something we haven't even thought of yet—your automation journey starts here.