SendJob
Stored in the sendjobs collection. createdAt and updatedAt are maintained automatically.
Returned by POST /campaign/:id/retry-failed, POST /genie/:schedulerId/approve-all, POST /genie/:schedulerId/draft-all, POST /genie/leads/:leadId/approve-all, POST /genie/leads/:leadId/draft-all, GET /genie/leads/:leadId/pending-approvals and 3 more.
| Field | Type | Notes |
|---|---|---|
company | ObjectId -> Company | |
channel | string | required · one of email, whatsapp, instagram |
source | string | default api · one of genie, inbox, direct, workflow, api, campaign |
createdBy | ObjectId -> Member | |
messageType | string | default template · one of message, template |
templateId | ObjectId | |
appId | ObjectId | |
appType | string | |
content | any | |
recipientType | string | default individual |
contactSpecificMessage | boolean | default false |
recipients | object[] | default [] |
recipients.leadId | ObjectId -> Lead | |
recipients.contactId | ObjectId -> Contact | |
recipients.email | string | default "" |
recipients.countryCode | string | default "" |
recipients.number | string | default "" |
recipients.recipientId | string | default "" |
recipients.senderId | string | default "" |
recipients.status | string | default pending |
recipients.error | string | default "" |
recipients.sentAt | date | |
sendType | string | default immediate · one of immediate, scheduled |
scheduledAt | date | default null |
genieSchedulerId | ObjectId -> GenieScheduler | |
genieSchedulerLeadIds | string[] | default [] |
workflowRunId | ObjectId -> RunWorkflow | |
workflowNodeId | string | default "" |
campaignId | ObjectId -> Campaign | |
leasedAt | date | |
leaseAttempts | number | default 0 |
status | string | default pending · one of pending, queued, completed, failed, cancelled |
error | string | default "" |
draft | boolean | default false |
_id | ObjectId | default "6a95712f932657988a91c0d4" |
createdAt | date | set once |
updatedAt | date |