CrowdStrike NG-SIEM
Material sends events like Issue Change and Audit Log Updated to CrowdStrike NG-SIEM through a Custom SIEM integration, where CrowdStrike ingests them through a data connection and parser for search, detections, and alert routing.
Before You Begin
A Super Admin or Tenant Admin role is required to create custom SIEM integrations.
In CrowdStrike, you need a parser and a data connection.
Always consult CrowdStrike's Falcon LogScale documentation directly for up-to-date instructions.
Part One: Set Up CrowdStrike to Receive Data
Create and configure a parser
In CrowdStrike, navigate to Next-Gen SIEM > Log Management > Data onboarding.
Select Parsers then click Add new parser.
Name your parser (e.g. "Material_Parser"), select Blank template, then click Create.
Select all content in the Parser Script section, remove it, and paste the following:
// PREPARSE
parseJson(prefix="Vendor.", excludeEmpty="true", handleNull="discard")
| parseTimestamp(field="Vendor.timestamp")
// METADATA
| Vendor := "material"
| event.module := "material"
| event.dataset := "material.issues"
| observer.type := "material"
| event.kind := "event"
| Parser.version := "1.0.0"
| ecs.version := "9.0.0"
| Cps.version := "1.1.0"
// NORMALIZATION
| array:append("event.category[]", values=["configuration"])
| array:append("event.type[]", values=["change"])
| Vendor.severity match {
"01_INFO" => event.severity := 10;
"02_LOW" => event.severity := 30;
"03_MEDIUM" => event.severity := 50;
"04_HIGH" => event.severity := 70;
"05_CRITICAL" => event.severity := 90;
* => event.severity := 50;
}Click Save then exit.
Refer to the CrowdStrike parser template and CPS Standard for more detail on writing and customizing parsers.
Create a data connection
Navigate to NG-SIEM > Log Management > Data onboarding.
Select Data connections then click Add connection.
Search for HEC then click Configure.
Fill in the required fields:
Data source: Material Security
Data type: JSON
Connector name: Material Security
Parser: select the parser you created above.
Click Save, then Generate API key.
Copy the API key and API URL — you'll need both in Part Two.
Part Two: Configure Material Custom SIEM Integration
In Material, click Integrations (the puzzle icon in the top toolbar).
Click Create New Integration.
Scroll to SIEM, then click Custom SIEM.
Complete the required fields:
Method
POST
URI
Your CrowdStrike API URL from Step One, with /raw appended
Headers
{ "Authorization": "Bearer <your-api-key>", "Content-Type": "application/json" }
Click Add Event to configure your triggering events (see Events below).
Integrations are toggled On by default. If you want to test before going live, toggle Off, then Save.
Click Save.
Events
Two useful events to start with are Issue Change and Audit Log Updated. By default, the webhook triggers on any issue change or audit log update if you enable these pre-populated rows. Click an event row to edit and filter further.

Use the form to build the trigger based on multiple event filters. The most common event is Issue Change — it covers most needs.
Test Your Integration
Open a saved event, then click Send Test Event. (You need to save the integration first to see this option).
In CrowdStrike, navigate to NG-SIEM > Advanced event search and run the following queries to confirm events are arriving correctly:
vendor="Material Security"
One or more events appear with Material as the source and recent timestamps
product="Material Security"
Results overlap with the vendor query, confirming normalization is present
vendor="Material Security" event.category="email"
All returned events are email-related
vendor="Material Security" event.action="issue_change"
Issue-level events appear (rather than raw lower-level detections)
Payload
All webhooks send payloads with the same fields in JSON format. Event Descriptions are in app; click the API icon in the toolbar then click Events.
Material verifies SSL certificates when delivering payloads.
Once you have saved the integration, you can click Copy Test Event to view an example payload.
Field Mapping
Material sends the standard JSON payload as-is. Field mapping and normalization are handled on the CrowdStrike side in your parser.
Troubleshooting
Timestamp Field Mapping
Material sends timestamps in ISO 8601 format (e.g. 2026-05-08T19:51:51.625Z) in a field named timestamp. CrowdStrike requires the field to be named @timestamp and parsed using the parseTimestamp() function. This is handled by the parser script above via parseTimestamp(field="Vendor.timestamp").
If you're using a custom parser and see events failing with:
ensure your parser includes parseTimestamp(field="Vendor.timestamp"). See Parsing Timestamps in the LogScale documentation for more detail.
Common Errors
400
Bad Request
Confirm your payload fields are formatted correctly for CrowdStrike's requirements
401
Unauthorized
Verify your API key
403
Forbidden
Check your headers for correct permissions and bearer token
404
Not Found
Verify your endpoint URL
408
Timeout
Double check your endpoint and tool requirements
502
Bad Gateway
Verify your endpoint URL, any intermediate infrastructure, and your webhook implementation
504
Timeout
Double check your endpoint and tool requirements
Troubleshooting Workflow
Check Event Subscription Status: Look for error messages in Material indicating why events might be failing or if subscriptions have been auto-disabled.
Verify connectivity: Confirm CrowdStrike can receive test events using Send Test Event.
Validate permissions: Ensure your Material account has a Super Admin or Tenant Admin role.
Check integration logs: Look for specific error messages in both Material and CrowdStrike.
Falcon LogScale (Ingest API)
If you're using standalone Falcon LogScale rather than Falcon NG-SIEM, the setup uses the LogScale Ingest API directly instead of Connectors. The high-level approach is the same — Material sends a POST request with a JSON payload — but the CrowdStrike-side setup differs:
Create a Repository and an Ingest Token in LogScale under Settings → Repositories and Settings → Ingest Tokens
Your ingest endpoint will follow the pattern:
https://cloud.<region>.humio.com/api/v1/ingest/jsonUse the same Bearer token pattern in the Material headers
Create a custom Parser in LogScale to normalize Material's fields, including the
timestamp→@timestampmapping described aboveCreate a custom Parser in LogScale to normalize Material's fields, including
parseTimestamp(field="Vendor.timestamp")as described above
Refer to CrowdStrike's Ingest API documentation for full setup instructions.
Resources
Last updated
Was this helpful?




