認証とセットアップ
Microsoft 365の統合は、Azure AD App Registrationを通じたOAuth 2.0認証を使用します。組織はAzureポータルでAzure ADアプリケーションを作成し、適切なAPI権限を設定する必要があります。必要な認証情報には、Client ID(Application ID)、Client Secret(Application Secret)、Tenant ID(Directory ID)が含まれます。これにより、組織のセキュリティポリシーを遵守しながら、ユーザーリソースへの安全な委任アクセスが確保されます。必要な権限
- Mail.ReadWrite: ユーザーのメールボックス内のメールの読み取り、作成、送信、削除に対する完全なアクセス権。
- Mail.Send: メールボックスへの完全なアクセスなしで、代わりにメールを送信する権限。
- Calendars.ReadWrite: カレンダーイベントと会議の作成、読み取り、更新、削除。
- Files.ReadWrite.All: OneDriveおよびSharePointのファイルとフォルダーへの完全なアクセス権。
- User.Read: 基本的なユーザープロフィール情報の読み取り。
- Contacts.ReadWrite: ユーザーの連絡先と連絡先リストの管理。
利用可能な操作
すべての必要な権限を設定すると、ツールキットで以下の操作が可能になります。メール操作
- Search Emails: キーワード、送信者、日付範囲、フォルダフィルターを使用してメールボックスを検索します。高度な検索演算子をサポートしています。
- Send Email: 添付ファイル、CC/BCC宛先、HTMLフォーマットを含むメールを作成・送信します。
- Reply to Email: 既存のメールスレッドに返信または全員に返信し、会話のコンテキストを維持します。
- Forward Email: オプションのコメントを付けて、他の宛先にメールを転送します。
- Get Email Content: メールの本文、ヘッダー、添付ファイルのメタデータを取得します。
- Move Email: フォルダー間でメールを移動して整理します(受信トレイ、アーカイブ、カスタムフォルダー)。
- Create Draft: メールを下書きとして保存し、後で確認・送信できます。
- Download Attachment: メールの添付ファイルをエージェントのワークスペースに抽出・保存します。
- Mark as Read/Unread: メールの既読・未読ステータスを更新します。
- Delete Email: メールを削除済みアイテムに移動するか、完全に削除します。
カレンダー操作
- List Events: 日付範囲、参加者、キーワードでカレンダーイベントを検索します。
- Create Event: タイトル、日時、場所、参加者、内容を指定して会議を予定します。
- Update Event: 再スケジュールを含む既存のカレンダーイベントを変更します。
- Cancel Event: 会議を削除し、参加者にキャンセル通知を送信します。
- Find Free Slots: 会議のスケジュール設定のために、複数のカレンダー間で空き時間を確認します。
- Get Attendee Status: RSVP回答(承諾、仮承諾、辞退)を表示します。
- Add Attendees: 既存の会議に追加の参加者を招待します。
- Set Reminder: イベントの通知アラートを設定します。
OneDriveおよびSharePoint操作
- List Files: OneDriveまたはSharePointのドキュメントライブラリでファイルとフォルダーを閲覧します。
- Upload File: エージェントのワークスペースからクラウドストレージにドキュメントをアップロードします。
- Download File: 処理や分析のためにファイルを取得します。
- Search Files: OneDrive/SharePoint全体で名前、コンテンツ、メタデータを使用してファイルを検索します。
- Create Folder: 新しいフォルダー構造でファイルを整理します。
- Share File: 閲覧/編集権限と有効期限を設定した共有リンクを生成します。
- Move File: フォルダーやサイト間でファイルを移動します。
- Delete File: ストレージからファイルとフォルダーを削除します。
- Get File Metadata: 作成日、更新日、サイズ、作成者情報を取得します。
連絡先操作
- List Contacts: ユーザーの連絡先と連絡先リストを閲覧します。
- Create Contact: 名前、メールアドレス、電話番号などの詳細を含む新しい連絡先を追加します。
- Update Contact: 既存の連絡先情報を変更します。
- Delete Contact: 連絡先リストから連絡先を削除します。
- Search Contacts: 名前、メールアドレス、またはその他のフィールドで連絡先を検索します。
設定オプション

- Default Mailbox: アクセスするメールボックスを指定します(ユーザーのプライマリメールボックスまたは共有メールボックス)。
- Folder Scope: 特定のフォルダーにアクセスを制限します(例:受信トレイと送信済みのみ)。
- Calendar Scope: アクセスするカレンダーを選択します(プライマリ、共有、リソースカレンダー)。
- File Location: ファイル操作のデフォルトのOneDriveフォルダーまたはSharePointサイトを設定します。
- Attachment Handling: 添付ファイルの自動ウイルススキャンとサイズ制限を設定します。
- Time Zone: カレンダー操作のタイムゾーンを設定し、正しいスケジューリングを確保します。
ユースケース
- 自動会議スケジューリング: エージェントがメールリクエストを読み、カレンダーの空き時間を確認し、候補時間を提案し、自動的に会議を予約します。
- メール分類: 内容、緊急度、送信者に基づいて、受信メールを自動的に分類・ルーティングします。
- レポート配信: 他のツールキットを使用してレポートを生成し、OneDriveにアップロードし、ステークホルダーにメールでリンクを送信します。
- 会議準備: メールからアジェンダ項目を抽出し、SharePointで関連ドキュメントを検索し、会議資料を準備します。
- フォローアップ自動化: 会議のアクションアイテムを追跡し、参加者にリマインダーメールを送信します。
- ドキュメントコラボレーション: 下書きをSharePointにアップロードし、チームと共有し、メールでフィードバックを収集します。
- カレンダー管理: 空き時間を確認して最適な時間帯を見つけることで、複数の方との会議を調整します。
ベストプラクティス
- サービスアカウントの利用: 共有シナリオでは、個人アカウントではなく専用のサービスアカウントを使用してください。
- レート制限の実装: Microsoft Graph APIにはスロットリング制限があります。リトライに指数バックオフを実装してください。
- バッチ操作: バッチリクエストを使用して、単一のAPI呼び出しで複数の操作を実行し、パフォーマンスを向上させます。
- クォータの監視: APIの使用量を追跡し、Microsoftの日次制限に達しないようにしてください。
- セキュリティスキャン: 処理前に、添付ファイルとアップロードされたファイルにマルウェアがないか常にスキャンしてください。
よくある問題と対策
- 認証エラー: Azure ADアプリの権限に管理者同意が付与されていることを確認してください。トークンの有効期限も確認してください。
- 権限不足: Azureポータルで必要なすべてのAPI権限が付与されていることを確認してください。
- カレンダーの競合: イベントを作成する前に「空き時間の検索」ツールを使用して、二重予約を避けてください。
- 添付ファイルのサイズ制限: 大きなファイルはまずOneDriveにアップロードし、メールでリンクを貼ってください。