result.data | object | Yes | — | A deliverability alert configuration. The alert is evaluated periodically against your warm-up or outreach metrics and triggers notifications through the configured channels (in-app, email, webhook, Slack) when the threshold is breached. |
result.data._id | string | No | — | Unique alert configuration identifier (prefixed with dac_). |
result.data.teamId | string | No | — | ID of the team that owns the alert. |
result.data.createdBy | string | No | — | ID of the user who created the alert. |
result.data.createdAt | string | No | — | Creation timestamp. Format: date-time. |
result.data.updatedAt | string | No | — | Last update timestamp. Format: date-time. |
result.data.widget | "warmup" | "outreach" | No | — | Data source the alert evaluates. warmup checks lemwarm metrics; outreach checks campaign-sending metrics. Allowed: warmup, outreach. |
result.data.metric | "inboxRate" | "spamRate" | "score" | "deliveryRate" | "bounceRate" | No | — | Metric being monitored. Valid combinations depend on widget: warmup supports inboxRate, spamRate, score; outreach supports deliveryRate, bounceRate. Allowed: inboxRate, spamRate, score, deliveryRate, bounceRate. |
result.data.severity | "warning" | "critical" | No | — | Alert severity. Allowed: warning, critical. |
result.data.scope | "global" | "mailbox" | "domain" | No | — | Aggregation level the metric is computed at. global covers all of the workspace’s mailboxes (warm-up only); mailbox evaluates each mailbox individually; domain groups mailboxes by their sending domain. Allowed: global, mailbox, domain. |
result.data.scopeEntities | array | No | — | Restricts the alert to a subset of entities matching scope. When empty, all entities of that scope are checked. For scope=mailbox, each entry is a composite string userId|email|mailboxId. For scope=domain, each entry is a domain (e.g. acme.com). Ignored when scope=global. |
result.data.threshold | number | No | — | Threshold value the metric is compared against (0–100, expressed as a percentage for rate metrics). Minimum: 0. Maximum: 100. |
result.data.comparisonOperator | "equal" | "below" | "above" | No | — | How threshold is compared to the current value. below triggers when the value drops under the threshold; above triggers when it exceeds it; equal triggers on exact match. Allowed: equal, below, above. |
result.data.periodDays | integer | No | — | Length of the evaluation window, in days (1–30). Minimum: 1. Maximum: 30. |
result.data.periodMode | "rolling" | "consecutive" | No | — | How the metric is computed over periodDays. rolling averages the metric across the window; consecutive requires the condition to hold on every one of the most recent periodDays. Allowed: rolling, consecutive. |
result.data.channelConfig | object | No | — | Notification channels triggered when the alert fires. At least one channel must be enabled. If omitted on creation, defaults to inapp only. |
result.data.channelConfig.email | object | No | — | — |
result.data.channelConfig.email.enabled | boolean | No | — | — |
result.data.channelConfig.email.addresses | array | No | — | Required when email.enabled is true. At least one valid address. |
result.data.channelConfig.inapp | object | No | — | — |
result.data.channelConfig.inapp.enabled | boolean | No | — | Show the alert in the lemlist app. |
result.data.channelConfig.webhook | object | No | — | — |
result.data.channelConfig.webhook.enabled | boolean | No | — | Send a webhook callback. Requires a webhook subscribed to the deliverabilityAlertTriggered event (see Add Webhook). |
result.data.channelConfig.slack | object | No | — | — |
result.data.channelConfig.slack.enabled | boolean | No | — | Send a Slack message. Requires a Slack integration to be connected on the team. |
result.data.enabled | boolean | No | — | Whether the alert is currently active. Disabled alerts are not evaluated. |
result.data.lastCheckedAt | string | No | — | Last time the alert was evaluated. Format: date-time. |
result.data.lastTriggeredAt | string | No | — | Last time the alert fired. Format: date-time. |
result.data.recheckDelayHours | integer | No | — | Cool-down between re-evaluations after the alert has triggered, in hours. Defaults to 12. |
result.meta | object | No | — | Additional response metadata (status, paging). |