All three have markup of their own, and none of it is Markdown — which is why a pasted .md file arrives with its asterisks showing.
Convert Markdown for Confluence
Markdown to Jira wiki markup, Markdown to Slack mrkdwn
Confluence stores a page as XHTML with macros of its own, Jira’s older markup writes bold as `*one asterisk*` and a heading as `h2.`, and Slack’s mrkdwn has no headings or tables at all. Markdown pasted as text into any of them is read as their markup, or not read at all: doubled asterisks, hash marks at the start of lines, a table drawn in pipes.
Confluence Cloud, Jira Cloud and Slack’s message box are rich editors, and a rich editor keeps formatting that arrives formatted. Copy the rendered document rather than its source and the headings, lists, links, tables and code blocks survive the paste.
Copy for Confluence, Copy for Jira and Copy for Slack put both versions on the clipboard at once, so an editor takes the formatted one and a plain text field takes the markup.
A page written by a script, a pipeline or an API call needs the platform’s own format. For Confluence that is storage format, the `body.storage` of the REST API — where a fenced block becomes the code macro and `> [!WARNING]` the warning panel. For Jira it is wiki markup, which Data Center’s Text mode, version 2 of the REST API and automation rules read. For Slack it is mrkdwn: the `text` of a `chat.postMessage` call, an incoming webhook or a Block Kit section.
Some of Markdown has nowhere to go. Slack has no tables, so a table becomes a code block with its columns padded. None of the three draws a Mermaid diagram or typesets a formula, so both arrive as their source in a code block. A picture embedded in the document has to be uploaded before any of them can show it, so it is written as its description; a picture with a web address stays a picture.