Feature · Work
Outreach
Control who may contact people outside your organization.
How it works
Who can reach out
The chief executive and the assistants can reach out by default. Other workers cannot until an admin turns outreach on for them on Outreach. Each worker has its channels, a daily limit and an approval rule.
What a worker gets back
Each message is sent, waiting for approval, queued or blocked. A blocked message shows the reason, for example "Outreach is off for Maya. Turn it on in Maya's settings." A queued message waits for the sending hours and then goes out.
Approvals
The owner approves the first message to each new contact. The approval comes as a decision card on WhatsApp and on the web. Under Every message, each message waits for a person. Under Never, a message to a contact who opted in goes at once.
Contacts and consent
Workers add contacts as they work. You can add them or import a CSV after a preview. A contact who replies STOP, or opens the unsubscribe link in an email, opts out. Nobody can send to them again until a person records new consent.
WhatsApp and email rules
On WhatsApp, a worker can send free text only within 24 hours of the contact's last message. Outside that window, only a template that Meta approved can start the conversation. Each email names your organization, says why the person gets it and has an unsubscribe link. Replies go to the owner's email.
Limits
The organization sends at most 50 messages each day by default, and each worker at most 20. Change the limits, the sending hours and the reply address in the Outreach settings. Only owners and admins can change them.
From the help article Outreach to people outside your organization, checked against the product on .
What you can do
The operations this feature's screens call. Each one is POST /api/<name>, and the badge says who may call it.
ViewergetOutreachSettingsGets outreach settings.
Types:
Record<string, never>returnsOutreachSettingsView
ViewergetOutreachStatsGets outreach stats.
Types:
{ days?: number }returnsOutreachStatsDto
ViewerlistOutreachMessagesLists outreach messages.
Types:
ListOutreachMessagesRequestreturnsListOutreachMessagesResult
AdminsaveOutreachSettingsSaves outreach settings.
Types:
SaveOutreachSettingsRequestreturnsOutreachSettingsView
ApproverNo API tokensdecideOutreachMessageDecides the outreach message.
Types:
{ messageId: string; decision: 'approved' | 'denied'; comment?: string }returnsOutreachMessageDto
ViewerlistOutreachContactsLists outreach contacts.
Types:
ListOutreachContactsRequestreturnsListOutreachContactsResult
AdmindeleteOutreachContactDeletes the outreach contact.
Types:
{ id: string }returns{ deleted: boolean }
MembersaveOutreachContactSaves the outreach contact.
Types:
SaveOutreachContactRequestreturnsOutreachContactDto
MemberimportOutreachContactsImports outreach contacts.
Types:
ImportOutreachContactsRequestreturnsImportOutreachContactsResult
AdminreleaseOutreachContactReleases the outreach contact.
Types:
{ id: string }returnsOutreachContactDto
Screens
What it records
The feature writes these events to the audit log, the permanent record of what happened.
- Action denied
- Approval expired
- Approval received
- Outreach contact changed
- Outreach message changed
- Outreach settings changed