Add Fabric Connector to Event Handler#

Link an automation connector (webhook) to an event handler for automated incident response.

✅ All code examples tested: Verified against FortiAnalyzer v7.4.8, v7.6.4, v8.0.0.

Overview#

This endpoint associates an automation connector with an event handler - useful for:

  • Configuring webhook destinations for event-triggered alerts

  • Linking event handlers to SIEM/SOAR platforms

  • Setting up automated notifications for security events

  • Creating event-driven integration workflows

  • Routing specific events to designated external systems

Event handlers trigger automated actions when security events occur. Linking them to automation connectors enables real-time event forwarding to external platforms.

Endpoint Details#

Method: POST URL: /jsonrpc API Path: /eventmgmt/adom/{adom}/config/trigger/{eid}/fabric-connector ADOM Support: Yes Requires Authentication: Yes Minimum Version: 7.4.0

Request Example#

{
    "method": "add",
    "params": [{
        "url": "/eventmgmt/adom/root/config/trigger/1/fabric-connector",
        "data": {
            "name": "Splunk_HEC",
            "status": "enabled"
        }
    }],
    "session": "{{session_id}}",
    "id": 1
}
{
    "result": [{
        "data": {},
        "status": {
            "code": 0,
            "message": "OK"
        },
        "url": "/eventmgmt/adom/root/config/trigger/1/fabric-connector"
    }],
    "session": "{{session_id}}",
    "id": 1
}

Complete Python Example#

import requests
import urllib3

urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

def add_fabric_connector_to_event_handler(session_id, adom, event_handler_id, connector_name):
    """
    Link automation connector to event handler

    Args:
        session_id: Active session ID
        adom: ADOM name
        event_handler_id: Event handler ID (integer)
        connector_name: Name of automation connector to link

    Returns:
        bool: True if successful
    """
    url = "https://faz.example.com/jsonrpc"

    payload = {
        "method": "add",
        "params": [{
            "url": f"/eventmgmt/adom/{adom}/config/trigger/{event_handler_id}/fabric-connector",
            "data": {
                "name": connector_name,
                "status": "enabled"
            }
        }],
        "session": session_id,
        "id": 1
    }

    response = requests.post(url, json=payload, verify=False)
    result = response.json()

    if result['result'][0]['status']['code'] == 0:
        print(f"✓ Linked connector '{connector_name}' to event handler {event_handler_id}")
        return True
    else:
        raise Exception(f"API error: {result['result'][0]['status']['message']}")

# Example: Link Splunk connector to critical IPS event handler
add_fabric_connector_to_event_handler(
    session_id="your_session_id",
    adom="root",
    event_handler_id=1,
    connector_name="Splunk_HEC"
)

Use Cases#

Configure Severity-Based Routing#

# Route different severity levels to different systems
severity_routing = {
    1: ["Splunk_HEC", "ServiceNow_Incidents", "Slack_Security_Channel"],  # Critical
    2: ["Splunk_HEC", "Teams_SOC_Channel"],  # High
    3: ["Splunk_HEC"]  # Medium
}

for handler_id, connectors in severity_routing.items():
    for connector in connectors:
        add_fabric_connector_to_event_handler(
            session_id=session,
            adom="root",
            event_handler_id=handler_id,
            connector_name=connector
        )