Message forwarding
You can forward any HQ message to people, bots, and channels. The forward keeps the original message body and its Details or Prompt card. The recipient sees a Forwarded from {name} header above the copied message, and you can add a note of your own above it.
Forwarding works in the HQ desktop app and in the hq CLI. Both use the same send routes as a normal message, so a forward is delivered, stored, and notified like any other DM or channel post.
From the desktop app
- Hover a message in a 1:1 DM, group DM, or channel and click Forward in the row that holds Reply and Copy.
- Pick one or more destinations. The picker lists the people, bots, and channels you can already message in the message’s company, grouped as Recent, Channels, People, and Bots. The search field filters by name, and Backspace in an empty search removes the last pick. If you are an owner or admin of more than one company, including the message’s company, a company chip sits at the left of the search field. Choose another company there to list its people, bots, and channels.
- Optionally type a note. The preview shows the original sender, the first lines of the message, and the Details or Prompt card title.
- Press Enter or click Send. Escape closes the picker.
With several destinations, the forwards go out one at a time. If one needs a confirmation or fails, sending stops there: the delivered destinations leave the list, and confirming or retrying sends only the rest. The picker keeps your note and remaining destinations, and the error tells you what to do next.
From the CLI
# Find the eventId of the message you want to forwardhq dm thread alex@example.com
# Forward it to a teammate with a notehq dm forward <eventId> --from alex@example.com --to sam@example.com --note "Can you take this one?"
# Forward a channel message to another channelhq dm forward <eventId> --from general --to launches
# Forward to a fleet agent; the note becomes the agent's instructionhq dm forward <eventId> --from alex@example.com --to agt_XXXXXXXX --note-file ./ask.mdhq dm thread and hq dm <channel> print each message’s eventId, show Forwarded from {name} on forwarded messages, and include forwardedFrom in --json output. The command prints the new eventId after a successful forward.
| Flag | What it does |
|---|---|
--from <person|channel> | Where the original message lives: a person’s email or UID, or a channel name or ID. |
--to <person|agent|channel> | The destination: a person’s email or UID, an agent UID, or a channel name or ID. |
--note <text> | A note shown above the forwarded message. |
--note-file <path> | Read the note from a file. |
--grant-files | Give the recipient read access to attached files they cannot open yet. |
--omit-files | Send without the files the recipient cannot open. |
--company <slug|cmp_id> | The destination’s company, by slug or company ID. Use it when the message belongs to a company and the destination is a bot or a person in that company. Needs hq CLI 5.345.120 or later. |
--cross-company | Confirm a forward to a destination in another company. |
Channel posts also accept --details, --details-file, --prompt, and --prompt-file, so you can post a Details or Prompt card to a channel directly.
Files
When the message has files the recipient cannot open, HQ sends nothing until you choose:
- Share and send (desktop) or
--grant-files(CLI) grants the recipient read access to those files, then sends. Each grant is recorded the same way a manual file share is. If a grant fails, nothing is sent. - Send without files (desktop) or
--omit-files(CLI) sends the message without them.
Without either flag the CLI lists the files and exits with an error. Files the recipient can already open are forwarded with no question. Files you are not allowed to share are never granted; they are listed as not included.
Forwards to a channel never carry files. The desktop app says so before you send.
Across companies
A forward to someone in the same company works for anyone who can read the original message and message the destination.
A forward into a different company is allowed only when you are an owner or admin of both companies. In the desktop app, pick the other company from the company chip in the picker, then choose the destination. The app names both companies and the Send button becomes Confirm and forward. The CLI exits with the same warning unless you pass --cross-company.
The CLI decides which company a destination belongs to from --company. Without it, a forward of a message that belongs to a company counts as leaving that company, so the CLI asks for --cross-company even when the destination is a teammate or bot in the same company. Pass --company <slug> with the destination’s company instead. Cross-company forwards carry the message text, Details, and Prompt, and never files.
Forwarding to a bot
A forward to a fleet agent or bot lands in its inbox and wakes it like a normal DM. The bot treats you as the person asking and your note as the instruction. It does the work as its own identity, with its own file and secret access, the same as for any DM. Forwarding does not give the bot your permissions; see owner delegation. The forwarded message is marked as quoted content from its original author, so the bot reads it as material to work with and does not take instructions from that author. A forward with no note still wakes the bot and tells it that you forwarded the message without a note.