ブログに戻る
Guide

Slack の xoxc トークンと xoxd トークンの正体と仕組み

xoxc は Slack ウェブクライアントのトークン、xoxd はセッション Cookie です。片方だけでは動きません。各接頭辞の意味と認証の仕組みを解説します。

Slack Green Team
September 8, 2026
September 8, 2026
5 min read
Share:
slack
tokens
api

Slack を開いた状態でブラウザの開発者ツールを見たことがあるなら、見慣れない2つの文字列に気づいたはずです。ひとつは xoxc- で始まり、もうひとつは xoxd- で始まります。どちらも Slack の API ドキュメントには載っておらず、検索しても説明のない短いスニペットが出てくるだけです。

結論から書きます。xoxc は Slack のウェブクライアントが内部 API を呼ぶときに使うトークンです。xoxd はサインイン時に Slack がセットする d Cookie の値です。この2つでひとつのセッションを構成します。片方だけを送っても、Slack は認証エラーを返します。

私たちはこのトークンの組み合わせを日常的に扱っています。Slack Green はサーバーから Slack のステータスをアクティブに保つサービスで、ボットトークンではなくこのトークンのペアで認証します。ボットトークンでは本人のプレゼンスを操作できないからです。必要に迫られて調べた内容ですが、まとまった資料がほとんど存在しないため、ここに書き残します。

xoxcはワークスペースとユーザーを示し、xoxdはセッションが生きている証明

xoxc トークンとは何か

xoxc は Slack のウェブクライアント用トークンです。ブラウザで Slack を開くと、ページの起動時にトークンがローカルストレージへ保存され、ウェブアプリのすべてのリクエストが Authorization: Bearer ヘッダーでそのトークンを送ります。

スコープはワークスペース単位です。4つのワークスペースにサインインしていれば、xoxc の値も4つ、ワークスペースごとに別々に存在します。

ボットトークンでも OAuth トークンでもありません。アプリのインストール手順で発行されるものではなく、権限の承認画面もありません。ブラウザセッションそのものを表すため、そのワークスペースであなたができる操作はすべて実行できます。

xoxd トークンとは何か

xoxd は厳密にはトークンではありません。認証時に .slack.com にセットされる d という名前の Cookie の値です。役割は、そのリクエストが盗まれた文字列ではなく実際にサインイン済みのセッションから来ていることを証明することです。

Bearer トークンではなく Cookie ヘッダーとして送ります。


Cookie: d=xoxd-your-value-here

xoxc と違い、xoxd はそのブラウザでサインインしているすべてのワークスペースに共通です。ワークスペースではなく Slack のログインに紐づくためです。

なぜ xoxc と xoxd は2つ揃わないと動かないのか

Slackで「離席中」と表示されなくなります

クラウドベース。ダウンロード不要。ノートPCがオフでも24時間稼働。

リクエストの構造:Bearerヘッダーがxoxcを、Cookieヘッダーがxoxdを運ぶ

Slack が両方を検証しているからです。xoxc はどのワークスペースの誰として操作するかを示します。d Cookie はそのトークンの背後にあるセッションがまだ有効であることを証明します。どちらかが欠けると失敗します。

Slack の内部 API へのリクエストは次のようになります。


curl 'https://slack.com/api/users.setPresence' \
  -H 'Authorization: Bearer xoxc-...' \
  -H 'Cookie: d=xoxd-...' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  --data 'presence=auto'

Cookie なしで Bearer トークンだけを送ると not_authed が返ります。Bearer トークンなしで Cookie だけを送ると、Slack はどのワークスペースの話なのか判断できません。クライアントがリアルタイムイベント用に張る WebSocket 接続も同じで、ハンドシェイクで d Cookie を送ります。

Slack の他のトークン接頭辞は何を意味するのか

6つのSlackトークン接頭辞と出どころ・在席能力

Slack は接頭辞で資格情報の種類を表します。この記事で扱うペアは、開発者向けドキュメントに載っているトークンとは別のカテゴリに属します。

接頭辞種類取得方法プレゼンスを変更できるか
xoxc-ウェブクライアントトークン、ワークスペース単位ブラウザセッションできる
xoxd-セッション Cookie d の値ブラウザセッションxoxc と組にした場合のみ
xoxb-ボットトークンアプリのインストールできない、ボットは自身のプレゼンスを持つ
xoxp-ユーザー OAuth トークンユーザースコープ付きインストール権限があればできる
xoxa-アプリレベルトークンアプリ設定できない
xoxe-ローテーション用リフレッシュトークンOAuth ローテーションできない

実務上の区別は単純です。xoxbxoxp はアプリのインストールで発行され、承認したスコープを持ちます。xoxcxoxd はサインインしている状態そのものから生まれ、スコープの一覧を持たず、Slack のウェブアプリ自身が使っています。

xoxc と xoxd はどこで確認できるのか

自分のアカウントを、自分のブラウザで確認する手順です。

  • ブラウザで Slack を開き、対象のワークスペースにサインインします。
  • 開発者ツールを開き、Application パネルを表示します。
  • Local Storage の localConfig_v2 を開きます。対象ワークスペースの token フィールドが xoxc- で始まる値です。
  • Cookies の slack.com を開き、d という名前の Cookie の値をコピーします。これが xoxd- の値です。

注意点を2つ、はっきり書いておきます。この資格情報はスコープの制限なしにあなた本人として動作するため、パスワードと同じ扱いが必要です。信頼できないサイトに貼り付けてはいけません。そして対象はあなた自身のアカウントに限られます。他人の値を取得する行為は連携ではなくアカウントの不正利用です。

何に使われているのか

Slackで「離席中」と表示されなくなります

クラウドベース。ダウンロード不要。ノートPCがオフでも24時間稼働。

ウェブクライアントにできて、公開 API のボットにはできないことです。よくあるのはプレゼンスやステータスの自動化、自分のメッセージ履歴のエクスポート、そして n8n や MCP サーバーのようにボットトークンでは形が合わない場面でのスクリプト連携です。

もっとも分かりやすいのがプレゼンスで、私たちがこのペアを重視する理由でもあります。Slack は入力が約10分途切れると離席扱いに切り替わります。詳細は Slack がアクティブでいられる時間 にまとめました。ボットトークンではこれを解決できません。ボットは自分自身のプレゼンスしか持たないからです。xoxcxoxd のペアなら解決できます。Slack から見れば、あなた自身のクライアントが話しているからです。これが、マウスジグラーを使わずに Slack をアクティブに保つ 仕組みであり、自分でトークンを管理したい人向けの セルフホスト CLI の土台でもあります。

xoxc と xoxd の有効期限はどれくらいか

背後にあるブラウザセッションが生きている限り有効です。Slack はサインイン状態を維持するため、通常の使い方なら数か月は使えます。

無効になるのは、そのワークスペースからサインアウトしたとき、管理者がセッションを終了したとき、ワークスペースのセッション期限が切れたときです。タブを閉じただけでは終了しません。Cookie を削除すると d Cookie が消えるため無効になります。

このペアに更新用のエンドポイントはありません。期限が切れたら、サインインし直して新しい値を読み直します。これらのトークンを使う仕組みは、認証エラーを検知して再取得を促す作りにする必要があります。無限にリトライしても回復しません。

自分のトークンを使うのは Slack の規約違反か

Slack の API 利用規約は自動アクセスを対象としており、トークンはあなたのセッションを表すという意味であなたのものです。実務でより重要なのは勤務先のポリシーです。プレゼンスは管理者が見ている場合があります。この点の現実的な話は バレるのかどうか に書きました。

私たちが引いている線は、自分のアカウント、自分のセッション、他人のデータを収集しないこと、そして管理者から見えるべきセキュリティイベントを隠さないことです。

まとめ

Slackで「離席中」と表示されなくなります

クラウドベース。ダウンロード不要。ノートPCがオフでも24時間稼働。

xoxc は誰がどこで操作しているかを示します。xoxd はセッションが生きていることを証明します。Slack のウェブクライアントはすべての呼び出しで両方を送っているため、そのクライアントを模倣する仕組みも同じことをする必要があります。

自分でトークンを管理せずに Slack のステータスを緑のままにしたいのであれば、それが Slack Green の役割です。無料で試す 場合、設定は2分ほどで終わります。

Always Active

マウスを動かす必要はもうありません。

何百人ものリモートワーカーがSlackのステータスを気にしなくなりました。一度設定すれば、永遠にグリーン。

Related Articles

FAQ

スマホでSlackをアクティブに保つ(iPhone・Android)

デスクトップでは最後の入力から10分の猶予がありますが、スマホではほぼゼロです。アプリが前面から外れた瞬間に緑の点は消え始めます。スマホ側で唯一効く画面点灯ワザと、それでは足りないときの選択肢をまとめました。

Slack Green Team5 min read
Guide

Slackのアクティブ表示の仕組み|緑の点とステータスとタイマー

Slackには「ステータス」と呼ばれるものが2つあります。緑の点はSlackが10分タイマーで自動的に決め、名前の横のテキストは自分で手動設定します。両者は互いに影響しません。点が何で決まるかを端末別に解説します。

Slack Green Team5 min read
Guide

Slackが勝手に離席中になるのを止める方法

Slackに離席中表示をオフにする設定はありません。離席中に切り替わる引き金は4つだけ。手動切替の戻し忘れ、10分タイマー、スリープとロック、放置したスマホセッション。それぞれの直し方をまとめました。

Slack Green Team5 min read
    Slack の xoxc と xoxd トークンの正体