こちらは kintone Advent Calendar 2025の3日目の記事です。
この記事では、Xの有料プランに加入しなくても、Xの投稿をkintoneに自動登録する方法を紹介します。
とはいえ、IFTTTの有料プランには加入するので(Xよりは安い・・・!)、無料で全て組み立てられるわけではありません。
前フリ
Xの有料化にともない、XのAPIを使う機会が減りました。APIを使うための有料プランは少しお高めなので、Xの連携は諦めようかな・・・と思ってたのですが、IFTTTのProプランでXの連携が出来ることを知りました。「Xの有料プランを使ってないのに、XのAPIが使えるのってどういうこと?」と思われるかもしれませんが、おそらく裏ではIFTTT側が所持している有料のXアカウントで色々とAPIの処理がされてるのかと思います。
では、連携方法を案内します。
kintoneアプリの準備
まずはkintone側でデータを受け取るアプリを準備します。
フィールドの準備
下記のフィールドを含むアプリを作りましょう。
| フィールドタイプ | フィールド名 | フィールドコード |
|---|---|---|
| 文字列(1行) | XのID | twitter_id |
| 文字列(1行) | ポストのURL | tweet_URL |
| 文字列(複数行) | ポストの内容 | tweet_contents |
| 日時 | 取得時間 | tweeted_datetime |
| 文字列(1行) | ユーザのアイコンURL | user_image |
フォームのレイアウトは自由に設定しましょう。
APIトークンの準備
アプリの設定からAPIトークンを生成します。「レコード追加」にチェックが入っていることを確認します。
準備が出来たらアプリを公開しましょう。
IFTTTの準備
kintoneアプリの準備が出来たら、IFTTTを準備します。
Proプランの加入
この連携ではXのトリガーを使用します。使用するにはIFTTTのProプランに加入する必要がありますが、Xの有料プランに加入するよりは安いので、お得です!
1週間の試用期間も提供されてるので、POCを作る際等に試用してみてください。
If This の設定
「New tweet from search」トリガーを使用します。
検索キーワードには次のような内容を設定します。
#kintone -is:retweet
お好きなキーワードを設定して良いのですが、「-is:retweet」を最後につけます。これはリポストされたポストを取得対象から外すためです。これを付けないと、同じポストが10回リポストされたらkintoneにもほぼ同じ内容のレコードが10件登録されちゃいます。
Then That の設定
アクションには「Webhooks」→「Make a web request」を使用します。このアクションを使えばkintoneに対して任意のHTTPリクエストが叩けます。
下記の通りに設定します:
| 設定 | 例 | 備考 |
|---|---|---|
| URL | https://{サブドメイン名}.cybozu.com/k/v1/record.json | {サブドメイン名}は自分が所持している環境に合わせる。 必要があれば、cybozu.comをkintone.comにも置き換える。 |
| Method | POST | 使用するREST APIに合わせてメソッドを設定する。 |
| Content Type | application/json | GETリクエストの場合は不要。 |
| Additional Headers | X-Cybozu-API-Token:{APIトークン} | {APIトークン}はアプリから発行したAPIトークンを設定する。 |
| Body | {レコード情報が入ったJSON} | フィールドの内容によって記載するJSONの内容が変わります。 |
最後のBodyはフィールドの設定によって変わります。この記事通りにフィールドを設定してる場合、下記のようなJSONを設定しましょう(アプリIDも仮定として298にします)。
{
app: "298",
record: {
twitter_id: {
value: "{{UserName}}"
},
tweet_URL: {
value: "{{LinkToTweet}}"
},
tweet_contents: {
value: "{{Text}}"
},
user_image: {
value: "{{UserImageUrl}}"
}
}
}
{{UserName}} や {{LinkToTweet}} には、Xから取得したポストの情報が動的に入るような仕組みになっています。JSONを記載するさいに、「Add ingredient」をクリックするとXからのフィールドの候補が表示され、それをクリックするとプレースホルダーが挿入されます。
これでIFTTT側の設定は終わりなので、Appletが走るように続けてください。
動作確認
次項目の「仕様上の注意」を確認したうえで、しばらく待ってからXのポストが登録されるかを確認してください。

仕様上の注意
こちらのIFTTT連携に関してはいくつかの仕様があるので、それによる制限があることを理解したうえで運用してみてください。
- 鍵アカウントのポストは取得できない
これに関しては、XのAPIを叩いているのは自分のアカウントじゃないため、そういう仕様になってるんじゃないかと思います。 - 取得タイミングは5分に1回
キーワードがXにポストされた瞬間に連携が発生するわけではありません。5分に1回、IFTTTからXのキーワードサーチが行われ、kintoneに情報が登録されます。AppletのView Activityからサーチのタイミングが確認出来ます。また、このサーチしたタイミングの日時がkintoneの日時フィールドに登録されるようになっています。 - 一度に取得できるポストは最大10件まで
最大10件かつ最新の10件が取得されます。5分間に10件以上ポストがあった場合、その余計な分は漏れてkintoneに登録されません。
まとめ
IFTTTのProアカウントを使うとXのAPIが使えることを紹介しました。今回はシンプルに設定したため、仕様上の制限はありますが、気になるツイートをkintoneアプリにどんどんためる方法をご紹介させていただきました。ぜひ試してみてください。





