Skip to main content

SEC Filings

SEC filing conditions let an Auto query trigger on enriched SEC filing metadata. Use source: "sec" when the trigger should be a deterministic filing event, such as a new 8-K, a late periodic filing notice, an offering form, or a specific 8-K item.

SEC conditions use the full EQL condition form and obey the standard limits: they can be combined with other sources inside AND/OR groups, up to depth 3 and 10 leaf conditions. See Triggers.

CIK Routing​

Every SEC condition takes a single args.ticker value. For sec, ticker means the issuer's CIK, not the stock ticker.

Rules:

  • args.ticker must contain 1 to 10 digits.
  • Surrounding whitespace is trimmed before validation.
  • Auto normalizes it to a 10-digit zero-padded CIK.
  • Example: "1652044" is stored and routed as "0001652044".
  • Validate/Create checks that the CIK exists in SEC submissions metadata.
  • Unknown or malformed CIKs are rejected instead of creating a plan that can never fire.
{
"source": "sec",
"method": "base_form_type",
"args": { "ticker": "0001652044" },
"operator": "==",
"value": "8-K"
}

Common Use Cases​

Use base_form_type when you need a specific filing form. Use form_category or a boolean method when a broader filing family or normalized flag is enough.

Use caseWhat the filing meansCondition pattern
New 8-K current reportAn 8-K is a current report for material company events between regular quarterly or annual reports.base_form_type == "8-K"
Cybersecurity disclosure8-K Item 1.05 is used for material cybersecurity incident disclosures.has_item_1_05 == true
Bankruptcy or receivership8-K Item 1.03 flags bankruptcy or receivership disclosures.has_item_1_03 == true
Results update8-K Item 2.02 is used for results of operations or financial condition updates.has_item_2_02 == true
Restructuring or exit costs8-K Item 2.05 covers exit or disposal costs, often tied to restructuring plans.has_item_2_05 == true
Delisting or listing-compliance notice8-K Item 3.01 flags exchange delisting or continued-listing-standard notices. Form 25-NSE is also listing-removal related.has_item_3_01 == true or base_form_type == "25-NSE"
Auditor change8-K Item 4.01 covers changes in the company's certifying accountant.has_item_4_01 == true
Executive or director change8-K Item 5.02 covers director and officer departures, appointments, and related compensation events.has_item_5_02 == true
Other current-report event8-K Item 8.01 is a catch-all for other events the company reports as important.has_item_8_01 == true
Late periodic filing noticeNT 10-K, NT 10-Q, and NT 20-F indicate that an annual, quarterly, or foreign private issuer report will be filed late.is_late_filing == true
Offering or registration filingOffering-style filings include registrations, prospectuses, free-writing prospectuses, and Form D notices.is_offering == true or form_category == "offering"
Ownership filing arrivalForms 3, 4, 5, 144, SC 13D, SC 13G, 13F-HR, and 13F-NT are ownership-related filings.is_ownership_filing == true or form_category == "ownership"
Proxy or M&A filing arrivalProxy and merger/acquisition forms include definitive/preliminary proxy materials and tender-offer filings.form_category == "proxy_ma"
Structured financial data availableSome periodic filings include XBRL artifacts that downstream workflows can use as structured financial data.has_xbrl == true

Methods​

MethodReturnsOperatorsDescription
base_form_typeenum==, !=Normalized base form. Amendments are stripped, so 10-K/A is 10-K; 424B* forms normalize to 424B.
form_categoryenum==, !=Broad filing bucket: current_report, periodic_report, ownership, offering, proxy_ma, listing, registered_fund, sec_review, other.
is_amendmentboolean==, !=Filing form ends in /A.
is_late_filingboolean==, !=Late notification form, such as NT 10-K, NT 10-Q, or NT 20-F.
is_offeringboolean==, !=Offering, registration, or prospectus-style filing.
is_ownership_filingboolean==, !=Insider, beneficial, or institutional ownership-style filing.
has_item_1_03boolean==, !=8-K Item 1.03 is present.
has_item_1_05boolean==, !=8-K Item 1.05 is present.
has_item_2_02boolean==, !=8-K Item 2.02 is present.
has_item_2_05boolean==, !=8-K Item 2.05 is present.
has_item_3_01boolean==, !=8-K Item 3.01 is present.
has_item_4_01boolean==, !=8-K Item 4.01 is present.
has_item_5_02boolean==, !=8-K Item 5.02 is present.
has_item_8_01boolean==, !=8-K Item 8.01 is present.
has_primary_documentboolean==, !=Enrichment found the primary filing document name.
has_xbrlboolean==, !=Archive includes XBRL artifacts.
submission_match_foundboolean==, !=Enrichment matched the accession inside SEC submissions metadata.
document_countnumber>, <, >=, <=, ==, !=Number of archive documents discovered.

Enum Values​

form_category accepts:

current_report
periodic_report
ownership
offering
proxy_ma
listing
registered_fund
sec_review
other

base_form_type accepts:

3
4
5
144
6-K
8-K
8-A12B
8-A12G
10-K
10-Q
10-D
11-K
13F-HR
13F-NT
20-F
25-NSE
40-F
424B
497
497K
ABS-EE
ARS
CORRESP
D
DEF 14A
DEF 14C
DEFA14A
DEFA14C
DEFM14A
EFFECT
F-1
F-3
F-4
FWP
N-CEN
N-CSR
N-PORT
NPORT-P
NT 10-K
NT 10-Q
NT 20-F
PRE 14A
PRE 14C
PREM14A
RW
SC 13D
SC 13G
SC 14D9
SC 14F1
SC TO-C
SC TO-I
SC TO-T
SD
S-1
S-3
S-3ASR
S-4
S-8
S-11
UPLOAD

Runtime Semantics​

SEC filings are event-like. Each enriched filing has a distinct accession identity.

  • Without repeat, the first matching filing triggers the plan once and moves it to a terminal state.
  • With repeat, the plan can fire once per distinct matching accession.
  • Use repeat.cooldown: "0" for "notify me about every matching filing" plans.
  • SEC methods do not support dynamic field-vs-field values.
  • crosses_above and crosses_below are not supported for SEC fields.

Raw strings such as company name, filing title, raw form, and document body text are not conditionable in v1. Use the enum and boolean methods for deterministic filing triggers.

Examples​

New 8-K For A Company​

This example watches Alphabet by CIK and re-fires for each matching accession.

{
"title": "Alphabet 8-K filings",
"description": "Notify on each new Alphabet 8-K filing while this plan is active.",
"conditions": {
"AND": [
{
"source": "sec",
"method": "base_form_type",
"args": { "ticker": "0001652044" },
"operator": "==",
"value": "8-K"
}
]
},
"actions": [
{
"stepId": "step_1",
"type": "notify",
"params": { "message": "Alphabet filed a new 8-K" }
}
],
"expiresIn": "168h",
"repeat": { "cooldown": "0", "maxTriggers": 20 }
}

For HTTP calls, wrap conditions, actions, expiresIn, and repeat under a top-level query key. See HTTP Request Wrapper.

8-K Cybersecurity Disclosure​

{
"source": "sec",
"method": "has_item_1_05",
"args": { "ticker": "0001652044" },
"operator": "==",
"value": true
}

Late Periodic Filing Notice​

{
"title": "Alphabet late periodic filing",
"description": "Notify when Alphabet files a late 10-K, 10-Q, or 20-F notice.",
"conditions": {
"AND": [
{
"source": "sec",
"method": "form_category",
"args": { "ticker": "0001652044" },
"operator": "==",
"value": "periodic_report"
},
{
"source": "sec",
"method": "is_late_filing",
"args": { "ticker": "0001652044" },
"operator": "==",
"value": true
}
]
},
"actions": [
{
"stepId": "step_1",
"type": "notify",
"params": { "message": "Alphabet filed a late periodic report notice" }
}
],
"expiresIn": "168h"
}

Offering Or Registration Filing​

Use the broad offering flag when any supported offering-style filing should trigger the plan.

{
"source": "sec",
"method": "is_offering",
"args": { "ticker": "0001652044" },
"operator": "==",
"value": true
}

Use base_form_type instead when the plan should watch one exact form, such as S-3, 424B, FWP, or D.

Ownership Filing Arrival​

Use the ownership flag for insider, beneficial-owner, or institutional ownership filing arrivals.

{
"source": "sec",
"method": "is_ownership_filing",
"args": { "ticker": "0001652044" },
"operator": "==",
"value": true
}

Use base_form_type for a narrower watch, such as 4, 144, SC 13D, SC 13G, or 13F-HR.

Listing Notice​

Use an OR when either an 8-K listing-compliance item or a listing-removal form should trigger.

{
"conditions": {
"OR": [
{
"source": "sec",
"method": "has_item_3_01",
"args": { "ticker": "0001652044" },
"operator": "==",
"value": true
},
{
"source": "sec",
"method": "base_form_type",
"args": { "ticker": "0001652044" },
"operator": "==",
"value": "25-NSE"
}
]
}
}

Periodic Filing With XBRL​

Use this when a downstream workflow only wants periodic reports that include structured financial-data artifacts.

{
"conditions": {
"AND": [
{
"source": "sec",
"method": "form_category",
"args": { "ticker": "0001652044" },
"operator": "==",
"value": "periodic_report"
},
{
"source": "sec",
"method": "has_xbrl",
"args": { "ticker": "0001652044" },
"operator": "==",
"value": true
}
]
}
}

Validation Notes​

Common errors:

Error signalWhat it meansNext action
EQL_INVALID_ARG_VALUE with "expected a SEC CIK"args.ticker is not 1 to 10 digits.Use the issuer CIK, not the exchange ticker.
EQL_INVALID_ARG_VALUE with "SEC CIK was not found"The CIK does not exist in SEC submissions metadata.Check the CIK and re-validate.
External service failure while validating SEC entitiesThe SEC metadata lookup was unavailable, so validation/create failed closed.Retry later rather than creating a query that may never receive events.
Invalid enum valuevalue is not one of the allowed base_form_type or form_category values.Use one of the enum values above, or choose a broader category.
Invalid operatorThe method does not support the selected operator.Use equality for enum/boolean fields; use level operators for document_count.