GPTsでの会話内容をSlackに投稿する
手順1. Slack APIを使って、Botとしてメッセージを送信する
開くと「Create a Slack App」の入力画面ができ、下記それぞれ入力する
https://scrapbox.io/files/662715e6de530000256dadb5.png
サイドメニューの「OAuth & Permissions」->「Scopes」->「Bot Token Scopes」に「Add an OAuth Scope」
https://scrapbox.io/files/662716ac4e5e690025c4ad18.png
chat:write scopeのみ追加
https://scrapbox.io/files/662716d707b9500023f2a104.png
サイドメニュー「OAuth & Permissions」-> 「Install to Workspace」-> 遷移先で、許可する
https://scrapbox.io/files/66271ab3f25d0400247c2d9b.png
Bot User OAuth Tokenが得られる。
https://scrapbox.io/files/66271ae3a1d90100251cc25f.png
Slackに、testチャネル(なんでも良い)を作り、このチャンネルに、上で作ったボットを追加する
https://scrapbox.io/files/66272095ea5b520024e8cd39.gif
これで、Terminalから、Curlコマンドが使える。
code:shell
curl -X POST -H 'Authorization: Bearer <ここに、Bot User Token>' \
-H 'Content-type: application/json' \
--data '{"channel":"test","text":"こんにちは from curl"}' \
https://scrapbox.io/files/662721150f2479002475efc8.png
手順2. Actionsの設定
OpenAPIのSchemaはこちらを使用
code:yaml
openapi: 3.0.0
info:
title: Slack-like Messaging API
version: 1.2.0
description: API for sending messages in a chat channel
servers:
description: Main server
paths:
/chat.postMessage:
post:
summary: Send a message to a specific channel
operationId: sendMessage
tags:
- Messages
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
channel:
type: string
description: ID of the channel to send the message to
text:
type: string
description: The text message to be sent
required:
- channel
- text
responses:
"200":
description: Message sent successfully
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
message_id:
type: string
description: ID of the sent message
"400":
description: Invalid request
"500":
description: Internal server error
Authenticationに以下を設定
https://scrapbox.io/files/6627236875b847002435bddb.png
Authentication Type: API Key
API Key: 上で作成した、Bot User OAuth Token
Auth Type: Bearer
Actions完成形は、このような形
https://scrapbox.io/files/662723c99971b10024682cb0.png
system promptは、たとえばこんな形
code:プロンプト
直前のユーザーの会話を、Slackのtestチャンネルに投稿します。
チャンネルの指定があった場合はそのチャンネルに投稿してください。
投稿しましたなどの報告は不要です。
ユーザーへ、自然な返答を返してください。
https://scrapbox.io/files/662726fefe1e8c00250496e1.gif
参考