Message Threads
Current status: Beta
Message Threads helps you work with existing NoxInfluencer communication threads after a creator relationship or email-task context already exists.
Best-fit scenarios
- You need to list or inspect existing message threads
- You need to filter message-center threads by SaaS project, task creator, team member, cooperation status, or label
- You want to manage labels, cooperation status, or draft state on a known thread
- You need to attach approved files to a thread draft before sending or scheduling
- You need to send, schedule, or cancel an approved reply on an existing
thread_id
Current beta scope
- List and read message threads
- List SaaS-aligned project and task creator/team member filter options
- Resolve sibling projects or related threads for a creator/channel
- List, save, and apply message templates
- List and set labels
- List and update cooperation status
- Save a draft body
- List, upload, and delete draft attachments
- Send, schedule, or cancel a reply on one existing thread
Important routing rule
Use message send or message schedule only for existing thread_id replies. If you only have an email task ID, resolve the thread first with message list --business_kind email_task --business_id <task_id>. If no thread exists, use the Email Tasks path for platform creators or approved external email addresses.
Message attachments belong to the thread draft. Upload them before message send or message schedule; NoxInfluencer attaches those draft files during send.
SaaS-aligned list filters
Use message filter helper commands before building filtered thread lists:
noxinfluencer message creator-filters
noxinfluencer message project-filters --creator_uids <user_uid>
noxinfluencer message labels --page_size 20
noxinfluencer message coop-statuses
Then pass the returned filter IDs to message list:
noxinfluencer message list --project_ids email_task:<task_id> --creator_uids <user_uid> --coop_status 2 --label_id 12
project_ids use the public <business_kind>:<business_id> format, such as email_task:1829 or campaign_offer:99001. Do not use raw upstream business type values.
Key commands
Inspect schema before building draft, send, schedule, label, or cooperation-status bodies:
noxinfluencer schema "message list"
noxinfluencer schema "message project-filters"
noxinfluencer schema "message creator-filters"
noxinfluencer schema "message send"
noxinfluencer schema "message attachments upload"
noxinfluencer schema "message attachments delete"
noxinfluencer schema "message labels set"
Read thread state first:
noxinfluencer message list --business_kind email_task --business_id <task_id>
noxinfluencer message list --project_ids email_task:<task_id> --creator_uids <user_uid> --page_size 20
noxinfluencer message get <thread_id>
noxinfluencer message projects <thread_id>
Manage metadata on a known thread:
noxinfluencer message labels --page_size 20
noxinfluencer message labels set <thread_id> --body-file labels.json --force
noxinfluencer message coop-statuses
noxinfluencer message coop set <thread_id> --body-file coop.json --force
Use templates and drafts only on existing threads:
noxinfluencer message templates list --language en
noxinfluencer message templates save --body-file template-save.json --force
noxinfluencer message templates use <template_id> --body-file template-use.json --force
noxinfluencer message draft save <thread_id> --body-file draft.json --force
Attach approved files to the thread draft before send or schedule:
noxinfluencer message attachments list <thread_id>
noxinfluencer message attachments upload <thread_id> --file brief.pdf --force
noxinfluencer message attachments delete <thread_id> <attachment_id> --force
Send or schedule only after content and sender are approved:
noxinfluencer message send <thread_id> --body-file send.json --force
noxinfluencer message schedule <thread_id> --body-file schedule.json --force
noxinfluencer message cancel <thread_id> --force
Safe execution rules
- Mutation commands default to dry-run and require approval before
--force - Send and schedule commands require approved content,
sender_auth_id, and the exact target thread status=draftandstatus=scheduledrequire--business_kindand--business_id; upstream project tabs are deprecated--project_idscannot be combined with--business_kindand--business_id- Get
--creator_uidsvalues frommessage creator-filters; they are SaaS task creator or team member user IDs, not creator channel IDs message schedulerequires an ISO 8601 timestamp with a whole-hour timezone offset, such asZ,+08:00, or-05:00- Draft attachment upload uses
--file, not--body-file - A thread supports at most 2 draft attachments, up to 10MB each; dangerous executable or script extensions are rejected
- Upload or delete draft attachments only after confirming the exact
thread_id
Current boundary
- Message Threads does not start a new external messaging channel from scratch
- It does not create a new message thread when no
thread_idexists - It does not write message copy for you
- It does not operate external messaging platforms outside NoxInfluencer
- Some project-tab concepts are deprecated upstream; use the CLI schema for current filters
message getembeds composer state and metadata; there is no separate public draft-get or metadata-get command- Draft attachments are not message-template attachments; template attachments remain outside the current public command surface




