Automate SEC Alerts with Make (Integromat)
Make (formerly Integromat) is a visual automation platform that connects hundreds of apps. In this tutorial you will create a Make scenario that listens for OMNI Datastream enforcement-action events and sends a daily digest email to your compliance team.Prerequisites
- An Omni Datastream API key (set as
OMNI_DATASTREAM_API_KEY) - A Make account (free tier works for testing)
- An email address or distribution list for compliance alerts
- (Optional) Familiarity with the Search Enforcement Actions tutorial
Architecture overview
Step 1 --- Create a custom webhook in Make
- Log in to Make and create a new scenario.
- Click the + button and search for Webhooks.
- Select Custom webhook as the trigger module.
- Click Add to create a new webhook. Name it
OMNI Enforcement Events. - Make generates a URL like:
- Copy this URL --- you will register it with OMNI Datastream next.
- Click OK, then click Run once to put Make in listening mode.
Step 2 --- Register the webhook with OMNI Datastream
Create a webhook endpoint
Create an enforcement filing monitor
Monitor for enforcement-related filings (administrative proceedings, litigation releases):we_abc123 with the endpoint ID returned in the previous step.
Send a test event
To establish the data structure in Make, send a test POST to make the webhook learn the schema:Step 3 --- Add a Set Variable module to format the alert
Add a Tools > Set variable module after the webhook trigger. Configure these variables:| Variable name | Value |
|---|---|
alert_subject | SEC Enforcement: {{1.data.company_name}} |
alert_body | See template below |
Step 4 --- Send an immediate email alert
Add an Email > Send an Email module (or use Gmail, Outlook, or SendGrid).| Field | Value |
|---|---|
| To | compliance-team@yourcompany.com |
| Subject | {{2.alert_subject}} |
| Content | {{2.alert_body}} |
Step 5 --- Build the daily digest (optional)
For a daily summary instead of (or in addition to) individual alerts:5a. Add a Data Store
- Go to Data Stores in Make and create a new store named
enforcement_events. - Add these fields:
accession_number(text, key),company_name(text),form(text),filed_at(text),description(text).
5b. Store each event
Add a Data Store > Add/Replace a Record module in parallel with the email module (use a Router):| Field | Value |
|---|---|
| Data Store | enforcement_events |
| accession_number | {{1.data.accession_number}} |
| company_name | {{1.data.company_name}} |
| form | {{1.data.form}} |
| filed_at | {{1.data.filed_at}} |
| description | {{1.data.description}} |
5c. Create a scheduled digest scenario
Create a second scenario that runs on a schedule (e.g., daily at 8:00 AM):- Trigger: Schedule (every day at 08:00).
- Data Store > Search Records: Fetch all records from
enforcement_events. - Array Aggregator: Combine all records into a single bundle.
- Text Aggregator: Format as a digest.
- Email > Send an Email: Send the compiled digest.
- Data Store > Delete all records: Clear the store for the next day.
Module configuration summary
Expected result
When an enforcement action is filed, your compliance team receives an email like:Troubleshooting
| Problem | Solution |
|---|---|
| Make webhook shows no data | Click Run once before sending a test event. The scenario must be listening. |
| Data structure not detected | Send the test curl payload from Step 2 while the scenario is in listening mode. |
| Emails not arriving | Check the Email module configuration. Make sure your email service credentials are valid and the recipient is correct. |
| Duplicate enforcement events | Use the Data Store with accession_number as the key field --- duplicates are automatically overwritten. |
| Monitor not triggering | Verify the monitor is active with GET /v1/monitors and that form_types includes the expected values. |
Next steps
- Add Slack in parallel: Use a Router to send both email and Slack alerts for high-priority enforcement actions.
- Enrich with entity data: Add an HTTP module to call
GET /v1/companies?name={company_name}to resolve the company and include ticker/CIK in the alert. - Filter by keyword: Add a Filter module between the webhook and the email to only alert on specific violation types (e.g., insider trading, accounting fraud).