ElcamyTECH
Articles
Dify

【Difyで作るシリーズ 7】 名刺から抽出した情報をNotionのデータベースに格納する

Tech生成AIDifyDify2025/02/25

更新日: 2025-09-16

はじめに

Dify というサービスを聞いたことがあるけれど、「何ができるかわからない」、「どう使うのかわからない」などの理由で使ったことがない方は多いのではないでしょうか。

そのような方のために、「Dify で何ができるのか?」や Dify を使った活用事例を紹介する記事をシリーズ化していきます。

今回は第7回目で、前回のワークフローをより実用的なものにします。 具体的には、取得した会社名や氏名の情報を、Notionのデータベースに格納するワークフローを作成する方法について紹介します。

メモ

この記事の対象者

  • Dify という言葉を聞いたことがあるが、何ができるのかがわからない方
  • Dify を業務に取り入れたいと検討している方
メモ

事前準備

  • Dify へのサインアップ
  • OpenAI APIまたはGemini APIのAPIキーの取得
    • Gemini APIの場合
      1. ここにアクセスし、「APIキーを作成」を選択します。
      2. 「新しいプロジェクトでAPIキーを作成」を押します。
      3. APIキーをコピーします。
        • OpenAI APIの場合
        • サインアップした後、こちらからAPIキーを作成し、保存します。
        • APIキーのセットアップ

環境

  • Dify v1.7.1(2025年8月17日時点)

概要

完成イメージ

メモ

イメージ

:::message alert

前提 サンプルの名刺として、以下を使用しました。

image

  1. 左の「ローカルアップロード」から名刺の画像をアップロードし、「実行」を選択します。

  2. 右側に動画の要約が返ってきます。

    image

  3. Notionのデータベースに、抽出した情報が格納されます。

    image

:::

上記のアプリを構築するためにワークフローを作る説明をします。

メモ

ワークフローとは 一つ一つの処理を小さな**ブロック(ノード)**としてつなぎ合わせて、一連のプロレスを自動化する機能です。

今回作成するワークフローのDifyの画面です。

image このワークフローは、以下のブロックで構成されます。

flowchart LR
	A[開始] --> B[パラメータ抽出 <br> Gemini 2.5 Pro]
	B --> C[HTTPリクエスト]
	C --> D[終了]
  1. 開始:名刺の画像を受け取ります。
  2. パラメータ抽出:OCR機能を利用して会社名、氏名、メールアドレス、親ドメインを抽出し、変数に格納します。
  3. HTTPリクエスト:抽出した情報をNotionのデータベースに格納します。
  4. 終了:ワークフローを終了します。

作業手順

ここからは、ワークフロー構築の手順について説明します。

手順

  1. Notionデータベースの準備
  2. ワークフローの新規作成
  3. 環境変数の設定
  4. ワークフロー作成画面上での作業
  5. ワークフローの動作確認

1. Notionデータベースの準備

インテグレーションを作成し、APIのシークレットキーを取得する

  1. Notionのインテグレーションにアクセスし、「新しいインテグレーション」を押します。

    image

  2. インテグレーションの名前を入力し、「関連ワークスペース」を設定後、「保存」を選択します。 インテグレーションの名前を名刺情報DBとしています。

    image

  3. 「インテグレーション設定」を選択します。

    image

  4. 「内部インテグレーションシークレット」の「表示」を押します。

    image APIのシークレットキーが表示されます。後述の「環境変数の設定」で使用しますので、控えておきます。

  5. Notionでページを作成し、「テーブル」を選択し、テーブルを追加します。

    image

  6. 「ビューのリンクをコピー」を選択します。 下記の用のURLがコピーされます。<DATABESE_ID>を後述の「環境変数の設定」で使用しますので、控えておきます。(URL下記<DATABASE_ID>の部分) https://www.notion.so/`````<DATABASE_ID>`````?v=XXX&pvs=4

    image

  7. 右上の三点リーダーを選択し、「接続先」を選択します。 先程作成した「名刺情報DB」を選択します。

    image

  8. データベースのプロパティを設定します。下記の表のようにプロパティを追加します。

プロパティ名プロパティの種類取得したい情報
Nameタイトルフルネーム
company_nameテキスト会社名または所属
last_nameテキスト苗字
first_nameテキスト名前
mailメールメールアドレス
parent_domainURL親ドメイン
phone_number電話電話番号
departmentテキスト部署
postテキスト役職

追加後は画像のようになります。

image これでNotionの準備は完成です。

2. ワークフローの新規作成

  1. 最初の画面の「最初から作成」を選択します。

    image

  2. 「ワークフロー」を選択し、「アプリのアイコンと名前」を入力してから「作成する」を選択します。

    image

3. 環境変数の設定

  1. Dify ワークフローの右上の「ENV」ボタンをクリックし、**「環境変数を追加」**を選択します。

  2. 「名前」に「NOTION_INTEGRATION_SECRET_KEY」と入力し、先程取得したAPIのシークレットキーを入力し、「保存」を選択します。

    image

  3. 同様に、「NOTION_DATABASE_ID」に先程取得したDATABESE_IDを入力します。 (ここではNotionのページリンクではないことに注意してください。)

    image

4. ワークフロー作成画面上での作業

  1. **「開始」**ノードを選択します。 「入力フィールド」の「+」ボタンを押します。

    image 下記の表のように各項目を選択または入力した後、「保存」を選択します。

項目備考
フィールドタイプ単一ファイル複数のファイルをアップロードすることもできます。
変数名image任意の値を入力します。
ラベル名image任意の値を入力します。
サポートされたファイルタイプ画像アップロードするファイルの種類を指定します。
アップロードされたファイルのタイプローカルアップロード画像をローカルからアップロードするか、画像のURLを入力するか、その両方を選べます。

image

  1. **「パラメータ抽出」**ノードを追加します。 「モデル」を「Gemini 2.5 Pro」に設定し、「入力変数」に「開始」の「image」を選択します。

    image 「ビジョン」を有効にし、変数に「開始」の「image」を設定します。

    image 名刺から取得したい情報をパラメータとして追加します。 「パラメータを抽出」の「+」ボタンを押します。 「名前」に「full_name」、「説明」に「氏名」と入力し、「追加」を選択します。

    image 同様に、下記の表のを参考にパラメータを追加します。 右の画像のように追加されているか確認します。

名前(パラメータ名)説明
full_name氏名
company_name会社名または所属
mailメールアドレス
parent_domain親ドメイン
last_name苗字
first_name名前
post役職
telephone_number電話番号
department部署

image 「指示」の欄に下記のようなプロンプトを入力します。

メモ

次の情報をテキストから抽出してください。各項目は、括弧内のラベルで出力してください:

  1. 会社名または所属(日本語の場合は日本語で記載、company_name)
  2. 氏名(苗字、名前を分けて抽出、full_name)
  3. メールアドレス(mail)
  4. メールアドレスから抽出した親ドメイン(parent_domain)
  5. 役職(「社長」、「部長」、「リーダー」、「マネージャー」など、post)
  6. 電話番号(telephone_number)
  7. 部署(department) すべての項目がテキストに含まれていない場合は、取得可能な情報のみを抽出してください。

image

  1. **「HTTPリクエスト」**ノードを追加し、「API」で「POST」を選択します。 URLに下記のURLを設定します。 https://api.notion.com/v1/pages

    image 「API」の「認証なし」を選択します。 「認証タイプ」に「APIキー」と「Bearer」、「APIキー」に環境変数の「NOTION_INTEGRATION_SECRET_KEY」を選択し、「保存」を選択します。

    image 「ヘッダー」を下記の表のように入力します。

キー
Notion-Version2022-06-28
Content-Typeapplication/json

image 「ボディ」の「JSON」を選択し、下記のJSONコードをコピーしペーストします。

image

JSONコード
{
    "parent": {
        "database_id": ""
    },
    "properties": {
        "company_name": {
            "rich_text": [
                {
                    "text": {
                        "content": ""
                    }
                }
            ]
        },
        "department": {
            "rich_text": [
                {
                    "text": {
                        "content": ""
                    }
                }
            ]
        },
        "first_name": {
            "rich_text": [
                {
                    "text": {
                        "content": ""
                    }
                }
            ]
        },
        "last_name": {
            "rich_text": [
                {
                    "text": {
                        "content": ""
                    }
                }
            ]
        },
        "mail": {
            "email": ""
        },
        "Name": {
            "title": [
                {
                    "text": {
                        "content": ""
                    }
                }
            ]
        },
        "parent_domain": {
            "url": ""
        },
        "phone_number": {
            "phone_number": ""
        },
        "post": {
            "rich_text": [
                {
                    "text": {
                        "content": ""
                    }
                }
            ]
        }
    }
}

「database_id」の「””」の間に「/」を入力し、「NOTION_DATABASE_ID」を選択します。

image 同様に残りの各項目も、下記の表を参考に設定します。

プロパティ名指定するパラメータ
company_name{x}company_name
department{x}department
first_name{x}first_name
last_name{x}last_name
email{x}mail
Name{x}full_name
parent_domain{x}parent_domain
phone_number{x}telephone_number
post{x}post
  1. **「終了」**ノードを追加します。

    image 以上でワークフローが作成できました。(終了ノードには何も加えなくて大丈夫です。)

5. ワークフローの動作確認

  1. 「公開する」を選択し、「アプリを実行」を選択します。

    image アプリを実行します。

  2. Notionのデータベースに抽出した情報が格納できました。

    image

応用

今回は名刺の情報をOCRで抽出し、Notionのデータベースに格納しましたが、データベースやHTTPリクエストのJSONを変更することで、領収書の情報をデータベースに格納することも可能です。

おわりに

今回は取得した会社名や氏名の情報を、Notionのデータベースに格納するワークフローを作成しました。今後もDifyを利用したアプリの作成手順を紹介していきます。ぜひ引き続きご覧下さい。

関連記事

Elcamyについて

AI・データエンジニアリング・クラウドを中心に、技術で事業課題を解決しています。 お気軽にご相談ください。