WPForms Integration
If you’re looking to integrate WPForms with Support Genix for converting form submissions into tickets,…
Read moreAllow external systems to create support tickets in Support Genix by sending HTTP POST requests. Use incoming webhooks to integrate with CRMs, form builders, monitoring tools, e-commerce platforms, and custom applications. This is a Pro feature.
Incoming webhooks provide a URL endpoint that accepts POST requests and automatically creates tickets (or adds replies to existing tickets) in Support Genix. Each webhook has a unique authentication token — no API keys or OAuth needed.
The system automatically generates:
https://yoursite.com/?sgwebhook=1&hash=XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXXCopy this URL — you’ll configure it in your external system.
Send a POST request to the webhook URL with ticket data.
The webhook accepts multiple payload formats:
| Content-Type | Format |
|---|---|
application/json | JSON body |
application/xml | XML body (auto-converted to JSON) |
multipart/form-data | Form data with file uploads |
application/x-www-form-urlencoded | Standard form encoding |
| Field | Type | Description |
|---|---|---|
user_email | string | Customer’s email address (must be valid) |
ticket_subject | string | Ticket subject line |
ticket_description | string | Ticket body content (HTML supported) |
| Field | Type | Description |
|---|---|---|
user_first_name | string | Customer’s first name |
user_last_name | string | Customer’s last name |
ticket_category_id | integer | Category ID to assign |
ticket_priority | string | N (Normal), M (Medium), H (High) — also accepts normal, medium, high |
ticket_mailbox_id | integer | Mailbox ID to associate |
ticket_mailbox_type | string | M (Mail) or T (Transactional) |
ticket_attachment | string (URL) | Single file attachment URL |
ticket_attachments | array of URLs | Multiple file attachment URLs |
ticket_custom_fields | object | Custom field values (see below) |
curl -X POST "https://yoursite.com/?sgwebhook=1&hash=YOUR_TOKEN"
-H "Content-Type: application/json"
-d '{
"user_email": "[email protected]",
"user_first_name": "John",
"user_last_name": "Doe",
"ticket_subject": "Cannot access my account",
"ticket_description": "<p>I am unable to log in to my account since this morning. I get an error message saying "Invalid credentials" even though my password is correct.</p>",
"ticket_category_id": 1,
"ticket_priority": "H"
}'curl -X POST "https://yoursite.com/?sgwebhook=1&hash=YOUR_TOKEN"
-F "[email protected]"
-F "user_first_name=Jane"
-F "user_last_name=Smith"
-F "ticket_subject=Billing question"
-F "ticket_description=I was charged twice for my subscription."
-F "ticket_priority=M"{
"user_email": "[email protected]",
"ticket_subject": "Screenshot of the bug",
"ticket_description": "Please see the attached screenshots.",
"ticket_attachments": [
"https://example.com/uploads/screenshot1.png",
"https://example.com/uploads/screenshot2.png"
]
}{
"user_email": "[email protected]",
"ticket_subject": "Product issue",
"ticket_description": "Details of the issue...",
"ticket_custom_fields": {
"order_number": "ORD-12345",
"product_name": "Widget Pro",
"browser": "Chrome 120"
}
}Custom fields can be referenced by:
{"order_number": "ORD-12345"}{"D5": "ORD-12345"} (where 5 is the custom field ID)ticket_custom_fields__order_number=ORD-12345If the email matches an existing user:
If the email doesn’t match any existing user:
{
"success": true,
"message": "Ticket creation success."
}{
"success": false,
"message": "User Email is required."
}| Error Message | Cause |
|---|---|
| “User Email is required.” | user_email field missing |
| “User email is invalid.” | user_email is not a valid email format |
| “Ticket Subject is required.” | ticket_subject field missing |
| “Ticket Description is required.” | ticket_description field missing |
| “User not found.” | Email doesn’t exist and guest creation is disabled |
The incoming webhook automatically detects WooCommerce order webhook payloads and extracts:
This allows you to create support tickets from WooCommerce order events without custom field mapping.
.php, .js, .sh, .bash, .cgi) are blocked.Point your form’s webhook/notification URL to the Support Genix webhook. Map form fields to:
user_emailuser_first_nameticket_subjectticket_descriptionConfigure your monitoring system (Uptime Robot, Pingdom, etc.) to send alerts to the webhook URL. Set a fixed subject like “Server Alert” and include the alert details in the description.
Use an HTTP POST action to send data to the webhook URL. Map your trigger data to the required fields.
From any backend application:
import requests
response = requests.post(
"https://yoursite.com/?sgwebhook=1&hash=YOUR_TOKEN",
json={
"user_email": "[email protected]",
"ticket_subject": "Automated ticket",
"ticket_description": "Created from our internal system."
}
)
print(response.json())