Source type
Microsoft Graph Source Configuration
Microsoft Graph sources receive change notifications and answer validationToken checks when Graph creates or renews a subscription.
Microsoft Graph configuration
Create a Microsoft Graph source, keep POST and PUT and PATCH and DELETE enabled, and provide the configured Optional Client State values for provider signature. FastHook uses these settings to validate each Microsoft Graph delivery before it enters the routing workflow.
Source TypeMICROSOFT_GRAPH
Allowed methodsPOST, PUT, PATCH, DELETE
AuthenticationProvider signature
Credential fieldsOptional Client State
{
"type": "MICROSOFT_GRAPH",
"config": {
"auth_type": "PROVIDER_SIGNATURE",
"auth": {
"provider": "MICROSOFT_GRAPH",
"client_state": "optional-client-state"
},
"allowed_http_methods": ["POST","PUT","PATCH","DELETE"]
}
}Validation token before change notifications
- Microsoft Graph validates the notification URL with a validationToken value.
- FastHook returns the validationToken as plaintext.
- After validation succeeds, Graph sends change notifications and FastHook can check clientState when configured.
Microsoft Graph request contract
Microsoft Graph validation is challenge-based. FastHook echoes validationToken and optionally verifies notification clientState values.
Special response: Validation requests return the validationToken value as plaintext.
Microsoft Graph headers
Preserve validationToken, clientState when sending Microsoft Graph test deliveries. FastHook evaluates this request context before accepting the payload, so missing or modified values remain visible as rejected requests instead of routed events.
validationTokenGET query parameter FastHook echoes for subscription validation.
clientStateNotification body value FastHook can compare when configured.
Microsoft Graph setup
- Create a Graph change notification subscription with the FastHook Source URL.
- If you use clientState, configure the same value in FastHook.
- Use Requests to confirm validation requests and POST notifications are stored separately.