Connect External Services
Incoming webhooks allow external systems to send data directly to your SkunkCRM. This is perfect for connecting contact forms, payment processors, and other external services.
Quick Setup
1. Generate a Webhook Token
- Go to SkunkCRM → Webhooks in your WordPress admin
- In the Incoming Webhook Tokens section, click "Create Token"
- Enter a descriptive name (e.g., "Contact Form Integration")
- Click "Create Token" to generate
- Copy the complete webhook URL provided - you'll use this in external systems
2. Get Your Webhook URL
Your webhook URL will be automatically generated and displayed after creating a token:
POST https://yoursite.com/wp-json/skunkcrm/v1/webhook/{generated-token}
The complete URL with token will be shown in the SkunkCRM interface - no need to manually construct it.
Supported Data Formats
Contact Data
The most common use case - creating new contacts from form submissions:
terminalbash1curl -X POST "https://yoursite.com/wp-json/skunkcrm/v1/webhook/abc123" \ 2 -H "Content-Type: application/json" \ 3 -d '{ 4 "contact": { 5 "name": "Jane Smith", 6 "email": "jane@example.com", 7 "company": "Tech Corp", 8 "phone": "+1-555-0123", 9 "status": "lead", 10 "source": "website_form", 11 "notes": "Interested in premium plan" 12 } 13 }'
Form Submissions
For generic form data that should be converted to contacts:
terminalbash1curl -X POST "https://yoursite.com/wp-json/skunkcrm/v1/webhook/abc123" \ 2 -H "Content-Type: application/json" \ 3 -d '{ 4 "form_submission": { 5 "name": "John Doe", 6 "email": "john@example.com", 7 "company": "Acme Inc", 8 "message": "Interested in your services", 9 "phone": "+1-555-0199", 10 "form_source": "contact_page" 11 } 12 }'
Lead Data
Specifically for lead generation:
terminalbash1curl -X POST "https://yoursite.com/wp-json/skunkcrm/v1/webhook/abc123" \ 2 -H "Content-Type: application/json" \ 3 -d '{ 4 "lead": { 5 "name": "Sarah Johnson", 6 "email": "sarah@startup.com", 7 "company": "Cool Startup", 8 "source": "linkedin_ad", 9 "notes": "Downloaded whitepaper" 10 } 11 }'
Action-Based Format (Recommended)
The modern format that gives you more control:
terminalbash1curl -X POST "https://yoursite.com/wp-json/skunkcrm/v1/webhook/abc123" \ 2 -H "Content-Type: application/json" \ 3 -d '{ 4 "action": "create_contact", 5 "data": { 6 "name": "Alex Chen", 7 "email": "alex@example.com", 8 "company": "Example Corp", 9 "status": "prospect", 10 "custom_fields": { 11 "utm_source": "google", 12 "utm_campaign": "summer2025" 13 } 14 } 15 }'
Response Format
Successful webhook processing returns:
json1{ 2 "success": true, 3 "message": "Webhook received and processed", 4 "token": "abc123", 5 "result": { 6 "action": "created", 7 "contact_id": 456, 8 "message": "New contact created from webhook" 9 }, 10 "processing_successful": true 11}
Common Integration Examples
Gravity Forms (WordPress)
- Install a webhook add-on for Gravity Forms
- Configure the webhook URL:
https://yoursite.com/wp-json/skunkcrm/v1/webhook/{token} - Set the format to JSON
- Map form fields to contact fields
Stripe Payments
- In your Stripe dashboard, go to Webhooks
- Add endpoint:
https://yoursite.com/wp-json/skunkcrm/v1/webhook/{token} - Select events:
customer.created,payment_intent.succeeded - SkunkCRM will automatically create contacts from customer data
External Contact Forms
For any external form system that supports webhooks:
- Configure the webhook URL in the form system
- Use the
form_submissionformat shown above - Map your form fields to SkunkCRM contact fields
Smart Field Detection
SkunkCRM automatically detects common field patterns:
- Email: Any field containing a valid email address
- Name: Fields named
name,full_name,first_name+last_name - Phone: Fields containing phone number patterns
- Company: Fields named
company,organization,business
This means even if external systems use different field names, SkunkCRM can often figure out what the data represents.
Security & Best Practices
Token Security
- Keep tokens private - never expose them in frontend code
- Use HTTPS - always use secure connections
- Rotate tokens - regularly generate new tokens for security
Rate Limiting
- Each token has built-in rate limiting
- Contact support if you need higher limits for legitimate use cases
Data Validation
- SkunkCRM validates all incoming data
- Invalid data is logged but won't crash the system
- Check webhook logs in WordPress admin for debugging
Troubleshooting
Webhook Not Working?
- Check the token - Make sure you're using the correct token
- Verify the URL - Ensure you're posting to the right endpoint
- Check logs - Go to SkunkCRM → Webhooks and click "View Logs" on your webhook to see delivery history
- Test with curl - Use the examples above to test manually
Contact Not Created?
- Check required fields - At minimum, provide a name or email
- Verify data format - Make sure you're sending valid JSON
- Review field mapping - Check that your field names are recognized
Authentication Errors?
- Token format - Don't include extra characters or spaces
- HTTPS required - Some servers require secure connections
- Check permissions - Ensure SkunkCRM has proper WordPress permissions
Next Steps
- Test your integration - Use the curl examples to verify everything works
- Set up monitoring - Check the webhook logs regularly
- Configure data mapping - Customize how external data maps to SkunkCRM fields
Powerful REST API Ready for Integration
SkunkCRM provides a comprehensive REST API designed for seamless integrations and external access. Build powerful integrations with full CRUD operations, secure authentication, and real-time webhook support.
Complete control over contacts, deals, and activities
WordPress Application Passwords with permission controls
Built-in protection and performance optimization
Clean, RESTful endpoints with consistent responses
Real-time integrations and event notifications
Get started with examples, authentication guides, and interactive endpoint testing.
Need help with a specific integration? Check our WordPress Forms guide or Payment Processors guide for detailed setup instructions.