---
title: 【Okta】入社時に重複しないメールアドレスを自動生成するOkta Workflows実践ガイド｜Nextmode Blog
description: Okta Workflowsを使って、重複しないメールアドレスの自動生成方法を解説します。HRシステムとの連携を前提とした実践ガイドです。
image: https://info.nextmode.co.jp/hubfs/%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%BF%E3%82%AD%E3%83%BC%E3%83%93%E3%82%B8%E3%83%A5%E3%82%A2%E3%83%AB/Okta_Blog-1.png
---

[![nextmode blog](https://info.nextmode.co.jp/hubfs/raw_assets/public/NextMode_Theme/nextmode%20blog.png)](https://info.nextmode.co.jp/blog)

[ホワイトペーパー](https://info.nextmode.co.jp/white-paper/) [資料請求](https://info.nextmode.co.jp/request/) [お問い合わせ](https://nextmode.co.jp/contact/)

- [会社TOP](https://nextmode.co.jp/)
- [生成AIセキュリティ](https://nextmode.co.jp/services/ai/security/)
- [SaaSライセンス＆サポート](https://nextmode.co.jp/services/saas/)
  
    - [Oktaライセンス＆サポート](https://nextmode.co.jp/services/saas/okta/)
    - [Netskopeライセンス＆サポート](https://nextmode.co.jp/services/saas/netskope/)
    - [Notionライセンス＆サポート](https://nextmode.co.jp/services/saas/notion/)
    - [Asanaライセンス＆サポート](https://nextmode.co.jp/services/saas/asana/)
    - [SysCloudライセンス＆サポート](https://nextmode.co.jp/services/saas/syscloud/)
    - [CrowdStrikeライセンス＆サポート](https://nextmode.co.jp/services/saas/crowdstrike/)
- [AWS総合支援](https://nextmode.co.jp/services/aws/)
  
    - [AWS導入コンサル・構築](https://nextmode.co.jp/services/aws_consulting/)
    - [AWS運用・保守代行](https://nextmode.co.jp/services/aws_operation/)
- [導入事例](https://nextmode.co.jp/casestudy/)
- [会社情報](https://nextmode.co.jp/company/)
- [セミナー](https://info.nextmode.co.jp/seminar/)
- [ブログ](https://info.nextmode.co.jp/blog)

[![YouTube](https://nextmode.co.jp/assets/images/common/icon_youtube.svg)](https://www.youtube.com/@nextmode) <https://x.com/Nextmode_Inc>

目次

 2025/12/26 17:02

# 【Okta】入社時に重複しないメールアドレスを自動生成するOkta Workflows実践ガイド

[» Okta](https://info.nextmode.co.jp/blog/tag/okta) [» 技術](https://info.nextmode.co.jp/blog/tag/技術)

[テクニカルサポート](https://info.nextmode.co.jp/blog/author/tech-support)

共有： [facebook-f icon](http://www.facebook.com/share.php?u=https://info.nextmode.co.jp/blog/okta-workflows-unique-email) [linkedin-in icon](http://www.linkedin.com/shareArticle?mini=true&url=https://info.nextmode.co.jp/blog/okta-workflows-unique-email) [Twitter icon](https://twitter.com/intent/tweet?url=https://info.nextmode.co.jp/blog/okta-workflows-unique-email) [pinterest-p icon](http://pinterest.com/pin/create/link/?url=https://info.nextmode.co.jp/blog/okta-workflows-unique-email) [envelope icon](mailto:?body=https://info.nextmode.co.jp/blog/okta-workflows-unique-email)

## はじめに

こんにちは、[ネクストモード株式会社](https://nextmode.co.jp/)テクニカルサポート担当です。

SmartHRなどのHRシステムを起点にOktaユーザーを作成したいというニーズは多くあります。その際、メールアドレスを決める必要があります。

今回は特定の命名規則に従い、既存ユーザーと重複する場合はメールアドレスに数字を付加するロジックをOkta Workflowsで実装しましたので紹介します。

この仕組みの作成にあたり、以下のドキュメントを参考にしました。

<iframe class="hatenablogcard" style="position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; border: none;" src="https://hatenablog-parts.com/embed?url=https://support.okta.com/help/s/article/paginate-records-in-a-table-in-workflows-recursion-example?language=en_US%20&nbsp;" width="600" height="150" frameborder="0" scrolling="no">
</iframe>

 

 

## 想定するシナリオ

HRシステムの情報を元にメールアドレスを生成するには、命名規則と重複チェックの仕組みが必要です。今回は以下の要件に基づき、Okta Workflowsで実装します。

 

### 命名規則

- ローカルパートはHRシステムに登録された姓名のアルファベット表記を使用し、firstname.lastname形式とする
- ドメインパートはグループ会社ごとに指定する（例：example-hd.com、example-tech.com）
- 重複が発生した場合は、firstname.lastname.2のようにローカルパート末尾に「.」と数字を付加する

 

### 重複チェック

- Slackで退職者を含む既存ユーザーとの重複を確認する
- 生成したメールアドレスを格納するテーブルでも重複を確認する

 

### メールアドレスの生成と発行のタイミング

HRシステムに入社情報が登録された時点でメールアドレスを生成します。一方、Oktaアカウントの有効化は入社日当日または数日前に行います。

このタイミングを分ける理由は2つあります。1つ目は、発行予定のメールアドレスを事前に把握したいという現場のニーズに応えるためです。2つ目は、ライセンスコストとセキュリティの観点から、アカウント発行を直前まで控えるためです。

このタイムラグに対応するため、生成したメールアドレスをテーブルに保管し、確保しておきます。

 

## 全体像

HRシステムから取得した姓名のアルファベット表記とドメインパートを指定し、Helper flowを呼び出します。

Helper flowは再帰処理により重複のないメールアドレスを生成し、生成が完了すると呼び出し元のflowに値を返します。

 

## Okta Workflowsの作成

まずテーブルと、呼び出されるHelper flowから紹介します。その後、Helper flowを呼び出す部分を説明します。

 

### テーブル名：Joiner Email Registry

生成したメールアドレスを格納するテーブルです。NameとEmailのみのシンプルな構成です。

![Okta Workflowsに用意したテーブル構成です。](https://info.nextmode.co.jp/hs-fs/hubfs/okta-workflows-unique-email-01.png?width=800&height=264&name=okta-workflows-unique-email-01.png)

 

### flow名：02.Generate Unique Email

- 呼び出し元flowからlocalpart、domain、countを取得します。
- If/Elseカードでcountが1（初期値）の場合、localpartとdomainを連結して候補メールアドレスを生成します。
- countが1以外の場合、localpartに「.」とcountとdomainを連結して候補メールアドレスを生成します。
- 生成した候補メールアドレスは、念のためすべて小文字に変換します。

![flow 02.Generate Unique Email の前半部分です。](https://info.nextmode.co.jp/hs-fs/hubfs/okta-workflows-unique-email-02.png?width=1000&height=839&name=okta-workflows-unique-email-02.png)

 

- Search UserカードでSlackユーザーを小文字化した候補メールアドレスで検索します。
- Compareカードで検索結果としてSlack IDがある場合はTrueを、ない場合はFalseを返します。
- Search Rowsカードでテーブル名：Joiner Email Registryを小文字化した候補メールアドレスで検索します。
- Compareカードで検索結果としてRow IDがある場合はTrueを、ない場合はFalseを返します。
- All False?カードで両方の検索結果がFalseの場合はTrueを、それ以外の場合はFalseを返します。

![flow 02.Generate Unique Email の中間部分です。](https://info.nextmode.co.jp/hs-fs/hubfs/okta-workflows-unique-email-03.png?width=1000&height=794&name=okta-workflows-unique-email-03.png)

 

- All False?カードの結果がTrueの場合、If/Elseカードは候補メールアドレスを変数generatedUniqueEmailにアサインします。Returnカードで呼び出し元にgeneratedUniqueEmailを返します。
- All False?カードの結果がFalseの場合、Addカードでcountに1を加算します。Call Flowカードで自分自身を呼び出し、localpartとdomainは元の値を、countは加算後の値を指定します。処理はflowの最初に戻ります。

この自分自身を呼び出す仕組みが再帰処理です。

![flow 02.Generate Unique Email の後半部分です。](https://info.nextmode.co.jp/hs-fs/hubfs/okta-workflows-unique-email-04.png?width=1000&height=991&name=okta-workflows-unique-email-04.png)

 

### flow名：01.Main flow

このflowは、02.Generate Unique EmailをCall Flowカードで呼び出し、Create Rowカードで戻り値をテーブルに記録するシンプルな構成です。実行時にはRunボタンを押してlocalpartとdomainを指定します。

実際の運用では、HRシステムの情報をもとにlocalpartとdomainを事前に加工して指定することを想定しています。

![flow 01.Main flow の全体です。](https://info.nextmode.co.jp/hs-fs/hubfs/okta-workflows-unique-email-05.png?width=1000&height=769&name=okta-workflows-unique-email-05.png)

 

## 実際の動作

再帰処理の動作を確認するため、Slackに既に存在するメールアドレスを意図的に候補として使用します。

 

### 01.Main flow

01.Main flowのRunボタンを押し、localpartとdomainを手動で指定しました。localpartには意図的に大文字を含めています。

この場合、候補メールアドレスは `super.admin@example.com` になります。

![flow 01.Main flow を手動でRunしています。](https://info.nextmode.co.jp/hs-fs/hubfs/okta-workflows-unique-email-06.png?width=1000&height=865&name=okta-workflows-unique-email-06.png)

 

### 02.Generate Unique Email（1回目）

ここからは、ログの重要な部分を抜粋して動作を説明します。

以下のログから、候補メールアドレスがすでにSlack上に存在することがわかります。そのため、All False?カードの結果はfalseとなります。

![flow 02.Generate Unique Email の1回目のSlack検索と判定の実行結果です。](https://info.nextmode.co.jp/hs-fs/hubfs/okta-workflows-unique-email-07.png?width=1000&height=641&name=okta-workflows-unique-email-07.png)

 

If/Elseカードはfalseの場合の処理を実行し、countに1を加算して自分自身を新しい変数で呼び出します。この時の戻り値とその後の流れについては後述します。

![flow 02.Generate Unique Email の1回目のIf/Elseカードで再帰処理を実施している実行結果です。](https://info.nextmode.co.jp/hs-fs/hubfs/okta-workflows-unique-email-08.png?width=1000&height=1460&name=okta-workflows-unique-email-08.png)

 

### 02.Generate Unique Email（2回目）

2回目の実行では、候補メールアドレスは `super.admin.2@example.com` になります。このアドレスはSlack上に存在しません。

テーブルを検索した結果も存在しないため、All False?カードの結果はtrueになります。

![flow 02.Generate Unique Email の2回目のSlack検索と判定の実行結果です。](https://info.nextmode.co.jp/hs-fs/hubfs/okta-workflows-unique-email-09.png?width=1000&height=661&name=okta-workflows-unique-email-09.png)

 

If/Elseカードはtrueの場合の処理を実行し、候補メールアドレスを変数generatedUniqueEmailにアサインします。そして、Returnカードで呼び出し元にgeneratedUniqueEmailを返します。この呼び出し元は、02.Generate Unique Email（1回目）を指します。

![flow 02.Generate Unique Email の2回目のIf/Elseカードで再帰処理を実施せず値を戻してる実行結果です。](https://info.nextmode.co.jp/hs-fs/hubfs/okta-workflows-unique-email-10.png?width=1000&height=784&name=okta-workflows-unique-email-10.png)

 

### 02.Generate Unique Email（1回目）

02.Generate Unique Email（2回目）から返された値を02.Generate Unique Email（1回目）が受け取ります。そして、Returnカードで呼び出し元にgeneratedUniqueEmailを返します。ここでの呼び出し元は01.Main flowです。

![flow 02.Generate Unique Email の1回目の再帰処理を結果を受け取って戻している実行結果です。](https://info.nextmode.co.jp/hs-fs/hubfs/okta-workflows-unique-email-11.png?width=1000&height=905&name=okta-workflows-unique-email-11.png)

 

### 01.Main flowの結果

戻り値として候補メールアドレス `super.admin.2@example.com` を取得し、テーブルに保存しています。

![flow 01.Main flowの実行結果です。](https://info.nextmode.co.jp/hs-fs/hubfs/okta-workflows-unique-email-12.png?width=1000&height=710&name=okta-workflows-unique-email-12.png)

 

テーブルに保存された結果は以下の通りです。

![テーブルに保存された値です。](https://info.nextmode.co.jp/hs-fs/hubfs/okta-workflows-unique-email-13.png?width=800&height=267&name=okta-workflows-unique-email-13.png)

 

### 再帰処理の動作をより詳しく確認したい場合

以下のように、再帰処理の中心となるIf/Elseカードの前後にWait Forカードを設置し10秒ほどの待機時間を追加すると、ログの経過がスローになり、呼び出し元と戻り値の関係を観測しやすくなります。

![Wait Forカードを設定している画面です。](https://info.nextmode.co.jp/hs-fs/hubfs/okta-workflows-unique-email-14.png?width=1000&height=802&name=okta-workflows-unique-email-14.png)

 

## まとめ

今回ご紹介したflowでは、ルールに沿って重複のないメールアドレスを生成できました。自分自身を呼び出す再帰処理は概念的に少し難しく、このブログの文章だけでは伝わりづらい部分があると思います。ぜひ実際にflowを作成し、挙動を確認してみてください。

また、今回は重複のないメールアドレスの生成に焦点を当てましたが、実際にOktaアカウントの作成タイミングを考慮すると、全体の仕組みはもっと広がりを持つはずです。

例えば、HRシステムからの情報取得、入社日に基づいたトリガー設定、Oktaユーザー作成後の通知など、様々な要素を組み合わせることで、より実用的な自動化を実現できるでしょう。このブログが、皆さんのOkta Workflows活用の一助となれば幸いです。

[![SaaSバナー\_Okta](https://hubspot-no-cache-na2-prod.s3.amazonaws.com/cta/default/20481958/interactive-256988631778.png)](https://info.nextmode.co.jp/hs/cta/wi/redirect?encryptedPayload=AVxigLJHABI%2F9D2pjNBwZzZ7wEUfFxBkdtSknlc28dYybIf8TGta%2BwRHnP1X93rhqGeeMSb4mY2WeLXkDs8PuQC2w0%2F%2FFtkzcFk19%2FennMknWtinABwqtuVcW0vBM7tQiRodUNRY5SvtONQJBNvOUOvtLrNbYab2A5AnvO5xfCxORyk8bReCdff5j14frZ6D2fwDXIUAft9JwkTckkHCo0M910g5&webInteractiveContentId=256988631778&portalId=20481958)

### 関連記事

[![【Okta】AIエージェントは何に接続できる？OIGでリソース接続を棚卸ししてみた【生成AIセキュリティ対策シリーズ】](https://info.nextmode.co.jp/hubfs/%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%BF%E3%82%AD%E3%83%BC%E3%83%93%E3%82%B8%E3%83%A5%E3%82%A2%E3%83%AB/%E7%94%9F%E6%88%90AI%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3_Okta.png) 【Okta】AIエージェントは何に接続できる？OIGでリソース接続を棚卸ししてみた【生成AIセキュリティ対策シリーズ】 テクニカルサポート 2026/10/19](https://info.nextmode.co.jp/blog/okta-ai-agent-resource-connection-review)

[![【Okta】誰がAIエージェントを使える？OIGで利用権を棚卸ししてみた【生成AIセキュリティ対策シリーズ】](https://info.nextmode.co.jp/hubfs/%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%BF%E3%82%AD%E3%83%BC%E3%83%93%E3%82%B8%E3%83%A5%E3%82%A2%E3%83%AB/%E7%94%9F%E6%88%90AI%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3_Okta.png) 【Okta】誰がAIエージェントを使える？OIGで利用権を棚卸ししてみた【生成AIセキュリティ対策シリーズ】 テクニカルサポート 2026/10/19](https://info.nextmode.co.jp/blog/okta-oig-ai-agent-user-access)

[![【Okta】Workflows のバージョンに名前と説明を追加！変更履歴をわかりやすく](https://info.nextmode.co.jp/hubfs/%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%BF%E3%82%AD%E3%83%BC%E3%83%93%E3%82%B8%E3%83%A5%E3%82%A2%E3%83%AB/Okta_Blog-1.png) 【Okta】Workflows のバージョンに名前と説明を追加！変更履歴をわかりやすく テクニカルサポート 2026/10/12](https://info.nextmode.co.jp/blog/okta-workflows-version-naming)

### Category

[» 技術](https://info.nextmode.co.jp/blog/tag/技術) [» Okta](https://info.nextmode.co.jp/blog/tag/okta) [» Notion](https://info.nextmode.co.jp/blog/tag/notion) [» イベントレポート](https://info.nextmode.co.jp/blog/tag/イベントレポート) [» Netskope](https://info.nextmode.co.jp/blog/tag/netskope) [» CrowdStrike](https://info.nextmode.co.jp/blog/tag/crowdstrike) [» Notion AI](https://info.nextmode.co.jp/blog/tag/notion-ai) [» AWS](https://info.nextmode.co.jp/blog/tag/aws) [» Asana](https://info.nextmode.co.jp/blog/tag/asana) [» カルチャー](https://info.nextmode.co.jp/blog/tag/カルチャー) [» ワーケーション](https://info.nextmode.co.jp/blog/tag/ワーケーション) [» 生成AIセキュリティ対策シリーズ](https://info.nextmode.co.jp/blog/tag/生成aiセキュリティ対策シリーズ) [» Oktane25](https://info.nextmode.co.jp/blog/tag/oktane25) [» SaaS](https://info.nextmode.co.jp/blog/tag/saas) [» AI](https://info.nextmode.co.jp/blog/tag/ai) [» re:Invent](https://info.nextmode.co.jp/blog/tag/reinvent) [» リモートワーク](https://info.nextmode.co.jp/blog/tag/リモートワーク) [» Keeper](https://info.nextmode.co.jp/blog/tag/keeper) [» ネクストモードアドベントカレンダー2024](https://info.nextmode.co.jp/blog/tag/ネクストモードアドベントカレンダー2024) [» Oktane24](https://info.nextmode.co.jp/blog/tag/oktane24) [» Oktane23](https://info.nextmode.co.jp/blog/tag/oktane23) [» Oktane26](https://info.nextmode.co.jp/blog/tag/oktane26) [» Asana AI](https://info.nextmode.co.jp/blog/tag/asana-ai) [» OIGシリーズ](https://info.nextmode.co.jp/blog/tag/oigシリーズ) [» Slack](https://info.nextmode.co.jp/blog/tag/slack) [» その他](https://info.nextmode.co.jp/blog/tag/その他) [» 脱Excelシリーズ](https://info.nextmode.co.jp/blog/tag/脱excelシリーズ) [» SysCloud](https://info.nextmode.co.jp/blog/tag/syscloud) [» Oktane22](https://info.nextmode.co.jp/blog/tag/oktane22) [» Google](https://info.nextmode.co.jp/blog/tag/google) [» HubSpot](https://info.nextmode.co.jp/blog/tag/hubspot) [» Zapier](https://info.nextmode.co.jp/blog/tag/zapier) [» Azure AD](https://info.nextmode.co.jp/blog/tag/azure-ad) [» Entra ID](https://info.nextmode.co.jp/blog/tag/entra-id) [» Googleドライブ](https://info.nextmode.co.jp/blog/tag/googleドライブ) [» SentinelOne](https://info.nextmode.co.jp/blog/tag/sentinelone) [» ゼロトラスト](https://info.nextmode.co.jp/blog/tag/ゼロトラスト) [» DocuSign](https://info.nextmode.co.jp/blog/tag/docusign) [» Jamf](https://info.nextmode.co.jp/blog/tag/jamf) [» セキュリティ対策](https://info.nextmode.co.jp/blog/tag/セキュリティ対策) [» トラブルシューティング](https://info.nextmode.co.jp/blog/tag/トラブルシューティング) [» 利用者目線](https://info.nextmode.co.jp/blog/tag/利用者目線) [» 運用](https://info.nextmode.co.jp/blog/tag/運用) [» GitHub](https://info.nextmode.co.jp/blog/tag/github) [» GitHub Gist](https://info.nextmode.co.jp/blog/tag/github-gist) [» JOUG](https://info.nextmode.co.jp/blog/tag/joug) [» Notion Calendar](https://info.nextmode.co.jp/blog/tag/notion-calendar) [» Proflly](https://info.nextmode.co.jp/blog/tag/proflly) [» kintone](https://info.nextmode.co.jp/blog/tag/kintone)

[![ネクストモード株式会社](https://nextmode.co.jp/assets/images/common/logo_white.svg)](https://nextmode.co.jp/)

Service

- [生成AIセキュリティ](https://nextmode.co.jp/services/ai/security/)
- [SaaSライセンス＆サポート](https://nextmode.co.jp/services/saas/) 
    - [Oktaライセンス＆サポート](https://nextmode.co.jp/services/saas/okta/)
    - [Netskopeライセンス＆サポート](https://nextmode.co.jp/services/saas/netskope/)
    - [Notionライセンス＆サポート](https://nextmode.co.jp/services/saas/notion/)
    - [Asanaライセンス＆サポート](https://nextmode.co.jp/services/saas/asana/)
    - [SysCloudライセンス＆サポート](https://nextmode.co.jp/services/saas/syscloud/)
    - [CrowdStrikeライセンス＆サポート](https://nextmode.co.jp/services/saas/crowdstrike/)
    - [Keeperライセンス＆サポート](https://nextmode.co.jp/services/saas/keeper/)
- [AWS総合支援](https://nextmode.co.jp/services/aws/) 
    - [AWS導入コンサル・構築](https://nextmode.co.jp/services/aws_consulting/)
    - [AWS運用・保守代行](https://nextmode.co.jp/services/aws_operation/)

Company

- [会社情報](https://nextmode.co.jp/company/)
- [サービス一覧](https://nextmode.co.jp/services/)
- [導入事例](https://nextmode.co.jp/casestudy/)
- [お知らせ](https://nextmode.co.jp/news/)
- [サステナビリティ](https://nextmode.co.jp/sustainability/)
- [採用](https://nextmode.co.jp/recruit/)
- [私たちの働き方](https://nextmode.co.jp/workstyle/)
- [カルチャー](https://nextmode.co.jp/culture/)

Contact

- [お問い合わせ](https://nextmode.co.jp/contact/)
- [資料請求](https://info.nextmode.co.jp/request/)

Media

- [セミナー](https://info.nextmode.co.jp/seminar)
- [ブログ](https://info.nextmode.co.jp/blog)
- [ホワイトペーパー](https://info.nextmode.co.jp/white-paper/)

- [![ネクストモード公式YouTubeチャンネル](https://nextmode.co.jp/assets/images/common/icon_youtube.svg)](https://www.youtube.com/channel/UCeW8ocoe9C3E0GOINh167MA)
- [![ネクストモード公式Xアカウント](https://nextmode.co.jp/assets/images/common/icon_x.svg)](https://twitter.com/Nextmode_Inc)

[English](https://nextmode.co.jp/en/)

- [NTTグループカスタマーハラスメント基本方針](https://group.ntt/jp/group/customer_harassment/)
- [就活ハラスメント防止方針](https://docs.nextmode.co.jp/nextmode_recruit_harassment.pdf)

- 運用アシスタント利用規約([AWS](https://docs.nextmode.co.jp/nextmode-unyo-assistant-aws-terms-of-use.pdf)/[Azure](https://docs.nextmode.co.jp/nextmode-unyo-assistant-azure-terms-of-use.pdf))
- [日中運用支援定型約款](https://docs.nextmode.co.jp/nextmode-nittyu-unyo-shien-terms-of-use.pdf)
- [定型約款](https://docs.nextmode.co.jp/nextmode-standard-contracts.pdf)

[プライバシーポリシー](https://nextmode.co.jp/company/privacy.html)

Copyright(c) Nextmode, Inc.

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "テクニカルサポート",
    "url" : "https://info.nextmode.co.jp/blog/author/tech-support"
  },
  "dateModified" : "2025-12-26T08:21:42.783Z",
  "datePublished" : "2025-12-26T08:02:55.000Z",
  "headline" : "【Okta】入社時に重複しないメールアドレスを自動生成するOkta Workflows実践ガイド｜Nextmode Blog",
  "image" : [ "https://info.nextmode.co.jp/hubfs/%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%BF%E3%82%AD%E3%83%BC%E3%83%93%E3%82%B8%E3%83%A5%E3%82%A2%E3%83%AB/Okta_Blog-1.png" ],
  "mainEntityOfPage" : {
    "@id" : "https://info.nextmode.co.jp/blog/okta-workflows-unique-email",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://info.nextmode.co.jp/hubfs/nm_l_color.png"
    },
    "name" : "ネクストモード株式会社"
  }
}
```

```json
{
  "@context" : "https://schema.org",
  "@id" : "https://nextmode.co.jp/#organization",
  "@type" : "Organization",
  "alternateName" : "Nextmode, Inc.",
  "logo" : "https://nextmode.co.jp/assets/images/common/logo_white.svg",
  "name" : "ネクストモード株式会社",
  "sameAs" : [ "https://www.youtube.com/channel/UCeW8ocoe9C3E0GOINh167MA", "https://twitter.com/Nextmode_Inc", "https://info.nextmode.co.jp/" ],
  "url" : "https://nextmode.co.jp/"
}
```