KamoCRM

Audience filters on every trigger, account and loan triggers, enroll by filter

FeatureEmailService
Shipped
November 11, 2026 at 9:54 AM UTC
Author
Kamo
Commit
50a369f

TriggerConfig gains leadFilter, accountFilter, loanFilter, loanStatuses, audienceId and includeExisting; a drip saved with the flat market/vendor/ product/state lists reads them folded into leadFilter. Lead triggers and the birthday/anniversary sweep check the lead by the campaign's SQL (AudienceQueries.byUidAll, one key read) inside the reach of the member who last saved the drip; the in-memory LeadFacts comparison is gone. byUidAll now reads by key with "x.org_id + 0" (6.6 s -> 0.9 ms on the largest org). New triggers: AUDIENCE_ENTERED, ACCOUNT_CREATED, LOAN_STATUS_REACHED LOAN_CLOSING_SOON and RATE_LOCK_EXPIRING (daily sweep). New enrolment contact types ACCOUNT and LOAN with loan merge fields. ExitRules leaveWhenNoLongerMatching re-checks before each email (NO_LONGER_MATCHES). POST **************** (+ /estimate) enrols a selection, 500 records in the request and the rest as a resumable job on the drip. Columns audience_scope, sweep_state, enroll_job are added on startup by DripAudienceSchema (db/drip-audience.sql).

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing