Save Big: Bundle all Skunk products and save up to 57%

Docs/Integrations/Connect External Services

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

  1. Go to SkunkCRM → Webhooks in your WordPress admin
  2. In the Incoming Webhook Tokens section, click "Create Token"
  3. Enter a descriptive name (e.g., "Contact Form Integration")
  4. Click "Create Token" to generate
  5. 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:

terminalbash
1curl -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:

terminalbash
1curl -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:

terminalbash
1curl -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  }'

The modern format that gives you more control:

terminalbash
1curl -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:

json
1{
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)

  1. Install a webhook add-on for Gravity Forms
  2. Configure the webhook URL: https://yoursite.com/wp-json/skunkcrm/v1/webhook/{token}
  3. Set the format to JSON
  4. Map form fields to contact fields

Stripe Payments

  1. In your Stripe dashboard, go to Webhooks
  2. Add endpoint: https://yoursite.com/wp-json/skunkcrm/v1/webhook/{token}
  3. Select events: customer.created, payment_intent.succeeded
  4. SkunkCRM will automatically create contacts from customer data

External Contact Forms

For any external form system that supports webhooks:

  1. Configure the webhook URL in the form system
  2. Use the form_submission format shown above
  3. 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?

  1. Check the token - Make sure you're using the correct token
  2. Verify the URL - Ensure you're posting to the right endpoint
  3. Check logs - Go to SkunkCRM → Webhooks and click "View Logs" on your webhook to see delivery history
  4. Test with curl - Use the examples above to test manually

Contact Not Created?

  1. Check required fields - At minimum, provide a name or email
  2. Verify data format - Make sure you're sending valid JSON
  3. Review field mapping - Check that your field names are recognized

Authentication Errors?

  1. Token format - Don't include extra characters or spaces
  2. HTTPS required - Some servers require secure connections
  3. 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.

🔧
Full CRUD Operations

Complete control over contacts, deals, and activities

🔐
Secure Authentication

WordPress Application Passwords with permission controls

Rate Limiting

Built-in protection and performance optimization

📡
JSON API

Clean, RESTful endpoints with consistent responses

🎯
Webhook Support

Real-time integrations and event notifications

📖 Explore Complete API Documentation →

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.

Was this page helpful?