Skip to content

Add workiq_send_channel_message tool for top-level channel posts #155

Description

@johnlyonms

Summary

Add a workiq_send_channel_message tool for posting a top-level message to a Teams channel. Today the workiq surface can read channel messages and reply to existing threads, but it cannot start a new channel post — leaving a gap versus the chat surface, which has both workiq_send_chat_message and workiq_reply_to_chat_message.

Current channel tools

  • workiq_list_channels — read
  • workiq_list_channel_messages — read
  • workiq_reply_to_channel_message — reply only

Missing: create a new top-level channel post.

Graph API

Supported and documented — no new permissions needed beyond what the existing reply tool already uses:

Reply endpoint used by the existing workiq_reply_to_channel_message tool is a different route (.../messages/{id}/replies), so this is genuinely a separate capability.

Suggested tool shape

Mirror workiq_send_chat_message for consistency:

workiq_send_channel_message({
  teamId: string,           // required
  channelId: string,        // required
  content: string,          // required
  contentType?: "html" | "text",  // default "html"
  subject?: string,         // channel posts support a subject/title line
  importance?: "normal" | "high" | "urgent",
  mentions?: [ /* same shape as send_chat_message mentions */ ]
})

Returns the created chatMessage (id, webUrl, createdDateTime) so callers can link back to the post.

Motivating use case

I have a Copilot/Scout automation ("Post my Daily Summary") that runs on weekdays, reads my Obsidian daily note, and needs to post it to a Teams channel as a new top-level post — not as a reply to any existing thread. Without this tool the automation has to fall back to Playwright browser automation against teams.microsoft.com, which is fragile.

This is likely a common pattern for status updates, standups, release announcements, incident notifications, etc.

Nice-to-have follow-ups (out of scope for this ask, but related)

  • Optional attachments / hostedContents support for images and file cards.
  • A matching workiq_send_channel_announcement or messageType: "announcement" flag — announcement posts are a distinct channel message type that would be very useful for release/broadcast automations.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions