CData API Server を使って Power Automate で Salesloft タスクを自動化

Stanley Liu
Stanley Liu
Associate Technical Product Marketer
CData API Server を使ってSalesloft のデータのOData エンドポイントを作成し、Power Automate で自動メール送信やCRM・ERP 同期などの複雑なワークフローを自動化できます。

Microsoft Power Automate は、クラウドベースのローコード/ノーコードプラットフォームで、さまざまなアプリケーションやサービス間で反復タスクの自動化やビジネスプロセスの効率化を簡単に実現できます。

CData API Server は、オンプレミスやクラウドを問わず、複数のソースやアプリケーションからデータへのアクセスを可能にし、Power Automate の機能を拡張します。API Server の Salesloft コネクタ(または 250 種類以上の他のコネクタ)を使用すると、OData や Swagger などの業界標準のデータアクセスプロトコルを使用して、Power Automate でアクションや複雑なワークフローをネイティブに作成し、トリガーできます。

この記事では、Power Automate と CData API Server をセットアップし、Salesloft テーブルのリードが特定の条件に一致したときにメールや通知を送信するシンプルなトリガーを作成します。

それでは始めましょう!

前提条件

  1. CData API Server: こちらから無料トライアルをダウンロードできます。
  2. Microsoft Power Automate: こちらから無料トライアルにサインアップできます。
  3. データにアクセスできるアクティブな Salesloft アカウント。

概要

以下の手順で進めていきます。

  1. CData API Server をインストールし、Salesloft への接続を設定して、API Server 内で Salesloft のデータ の OData API エンドポイントを作成します。
  2. これらのエンドポイントを Power Automate で使用し、Salesloft テーブルから特定の条件が満たされたときにトリガーに基づいて自動的にメールを送信するフローを構築します。

ステップ 1:API Server のインストールと Salesloft への接続設定

1.1 API Server のインストール

まだインストールしていない場合は、CData API Server ページからお使いの OS 用のインストーラーをダウンロードしてください。インストールウィザードに従ってセットアップを完了します。

インストールが完了したら、以下の方法でサーバーを起動できます。

  • Windows: CData API Server はデフォルトでサービスとして実行されます。サービスが実行されていることを確認し、ブラウザで http://localhost:8080/ を開いて API Server 管理コンソールにアクセスします。
  • Linux/Mac: サーバーを手動で実行するか、サービスとして実行できます。手動で起動するには、インストールディレクトリに移動して java -jar apiserver.jar を実行します。
  • また、root 権限で service.sh を実行して、API Server を Linux システムサービスとしてセットアップすることもできます。

1.2 CORS の有効化

Microsoft Power Automate と CData API Server が異なるドメインでホストされている場合、シームレスなクロスドメイン通信を可能にするために CORS(Cross-Origin Resource Sharing)を有効にする必要があります。API Server で CORS を有効にするには:

  1. 「Settings」に移動し、 アイコンをクリックして CORS 設定を編集します。
  2. Cross-Origin Resource Sharing (CORS) を有効にします。
  3. Allow all domains without '*' を有効にして、すべてのオリジンを許可します。
  4. Access-Control-Allow-Origin に Salesloft のオリジンドメインを入力するか、* を使用してすべてのドメインを許可します(パブリック API に適しています)。
  5. Access-Control-Allow-Credentials を有効にして、Cookie と認証ヘッダーを許可します。
  6. Access-Control-Allow-MethodsGET, PUT, POST, OPTIONS を入力します。
  7. Access-Control-Allow-HeadersAuthorization, Content-Type を入力します。
  8. Access-Control-Max-Age(デフォルト:3600 秒)を設定して、プリフライトリクエストをキャッシュします。
  9. 「Save」をクリックします。

1.3 API Server で Salesloft 接続を追加

  1. 「Settings」に移動し、右上の Add Connection をクリックします。
  2. Salesloft を選択します。表示されない場合は、Only Installed をオフにしてすべてのコネクタを表示します。
  3. Install Connector をクリックして自動インストールします。手動セットアップの場合は、Manual Install を選択してダウンロードした ZIP ファイルをアップロードします。
  4. インストールが完了したら、Salesloft を再度クリックして接続設定を開き、以下の詳細を使用して設定します。
  5. SalesLoft はOAuth 認証標準またはAPI キーを使って認証します。OAuth では認証するユーザーにブラウザでSalesloft との通信を要求します。

    OAuth

    OAuth で認証するには、OAuthClientIdOAuthClientSecret、およびCallbackURL 接続プロパティを取得するためにOAuth アプリを作成する必要があります。認証手順は、ヘルプドキュメントのOAuth セクションを参照してください。

    API キー

    または、APIKeyで認証します。SalesLoft ユーザーインターフェース:https://accounts.salesloft.com/oauth/applications/ で、API キーをプロビジョニングします。リクエストを発行し、使用するキーを受け取ります。

  6. 「Save & Test」をクリックして接続設定を検証し完了します。

1.4 ユーザーの追加と設定

作成した OData エンドポイントへの安全なアクセスを許可するために、CData API Server でユーザーを作成・設定します。各ユーザーには認証情報とロールベースのアクセス制御があり、適切なロールを持つ承認されたユーザーのみが接続されたデータをクエリできるようになります。

  1. ナビゲーションペインから「Users」に移動し、右上の Add User をクリックします。
  2. Username を入力し、ユーザーの安全な Password を設定します。
  3. Role を選択します:
    • Admin: 設定や接続を含むすべての機能へのフルアクセス。
    • Query: API エンドポイント経由のデータアクセスに限定(Power Automate での使用に適しています)。
  4. (オプション)レート制限を設定:
    • Requests Per Hour: 1 時間あたりの許可される API コール数(デフォルト:1000)。
    • Max Concurrent Requests: 許可される並列 API リクエスト数(デフォルト:10)。
  5. ユーザーの Privileges を定義:
    • GET: データの取得を許可。
    • POST: 新しいレコードの作成を許可。
    • PUT, MERGE, PATCH: 既存レコードの更新を許可。
    • DELETE: レコードの削除を許可。
  6. 「Add User」をクリックしてユーザーアカウントを保存し、有効化します。

ユーザーを追加すると、Authtoken が自動的に生成されます。このトークンは、パスワードの代わりに安全な認証方法として API リクエストで使用できます。

また、Authtoken を更新したり、無効にしたり、ユーザー設定で Token Expiration オプションを有効にして有効期限ルール(例:有効期限までの日数)を設定することもできます。


1.5 エンドポイント用のテーブルを追加

Salesloft のデータを OData 経由で Power Automate で利用できるようにするには、API Server を通じて目的のテーブルを公開する必要があります。手順は以下のとおりです。

  1. CData API Server で、左側のナビゲーションから「API」に移動し、右上の Add Table をクリックします。
  2. 先ほど設定した Salesloft 接続を選択し、「Next」をクリックします。
  3. Tables セクションを展開して、利用可能なエンティティとスキーマを参照します。個々のテーブルを選択するか、上部の TABLE NAME チェックボックスをクリックしてすべてを選択します。次に「Confirm」をクリックします。

1.6 Power Automate でエンドポイントにアクセス

API の設定が完了したので、Power Automate から OData エンドポイントに接続してタスクを自動化できます。以下は使用できる OData エンドポイントの URL 形式です。

エンドポイント   URL
エンティティ一覧 http://address:port/api.rsc/
テーブルメタデータ(例:albums) http://address:port/api.rsc/albums/$metadata?@json
テーブルデータ(例:albums) http://address:port/api.rsc/albums

これらの OData エンドポイントは、URL を使用して Power Automate で直接利用できるようになりました。Power Automate は OData をサポートしているため、ワークフローの自動化、アクションのトリガー、Salesloft からのライブデータを自動化プロセスに統合することが簡単にできます。

CData API Server は完全な OData フィルタリング機能をサポートしています。カスタムクエリやフィルターされたビジュアライゼーションには、$select$filter$orderby$top$skip などの標準 OData クエリパラメータをリクエストに追加できます。


ステップ 2:Power Automate でメールトリガーを自動化

CData API Server が起動し、Salesloft データから利用可能な OData エンドポイントができました。次に、条件に基づいてメールトリガーを自動化する Power Automate フローを構築しましょう。

この例では、SalesloftOpportunity テーブルからリードと商談データを読み取るフローを構築します。このフローは ExpectedRevenue カラムで最も高い値を持つリードを特定し、そのリードの詳細を含むメールを自動的に送信します。

ここでは、Windows 11 上の Outlook アプリと Power Automate Desktop を使用します。Windows マシンに Outlook がインストールされていない場合は、Microsoft 365 公式サイトからダウンロードするか、Microsoft Store からインストールできます。


2.1 API OData エンドポイントのフィルタリング

CData API Server は OData URL フィルター (OData ABNF) を完全にサポートしているため、URL でテーブル (リソース) を直接フィルターして、フローに取り込む前に結果を制限・ソートできます。これにより、読み込み時間が短縮され、効率が向上します。サポートされているフィルターオプションの完全なリストは こちらで確認できます。

この例では、フィルターされた URL は次のようになります: http://localhost:8080/api.rsc/public_Opportunity?$top=1&$orderby=ExpectedRevenue desc

このようにエンドポイント URL を構築できます。各部分の意味は以下のとおりです:

URL パート 説明
http://localhost:8080 CData API Server がホストされているホスト名とポートを含むベース URL
/api.rsc/ CData が API リソースを公開するために使用するデフォルトのエンドポイントパスプレフィックス
public_Opportunity クエリするテーブル名(リソース)— この場合は public_Opportunity テーブル
? フィルタリングやソートなどに使用されるクエリ文字列パラメータの開始を示す
$top=1 フィルターされた結果セットから最初のレコードのみを返す
$orderby=ExpectedRevenue desc 結果を ExpectedRevenue カラムで降順にソート

2.2 Power Automate Desktop でフローを構築

  1. Power Automate Desktop を起動し、左上の New をクリックして新しいフローを追加します。
  2. フローに名前を付け(例:Email-Trigger)、「Create」をクリックします。
  3. フローデザイナーダッシュボードで、Actions ペインの下から Region を検索し、ダブルクリックして追加します。わかりやすい名前を付けて「Save」をクリックします。
  4. Invoke Web Service を検索し、ダブルクリックして追加して、以下を設定します:
    • URL: 先ほど作成したフィルター済み OData URL を入力します。
    • Method: GET
    • Accept: application/json
    • Content-Type: application/json
    • Save response: Get text into variable (for web pages)
    • 「Save」をクリックします。
  5. Convert JSON to Custom Object を検索し、ダブルクリックして追加します。
    • 青い {x} アイコンをクリックし、変数 %WebServiceResponse% を選択します。
    • 「Save」をクリックします。
  6. Outlook を検索し、Launch Outlook を選択します。ダブルクリックしてフローに追加し、「Save」をクリックします。
  7. Outlook を検索し、Send email message through Outlook を選択します。ダブルクリックして追加し、以下を設定します:
    • Outlook instance: %OutlookInstance%
    • Account: Outlook メールアドレスを入力します。
    • Send email message from: Account
    • To: 受信者のメールアドレスを入力します。
    • Subject: メールの件名を追加します(例:New Opportunity with Highest Expected Revenue
    • Body: 以下のシンプルな HTML コードを貼り付けます。ラベルとテーブル名は自分のものに置き換えてください:
              Top Lead Details:
              Account ID: %JsonAsCustomObject['value'][0]['AccountId']%
              Name: %JsonAsCustomObject['value'][0]['Name']%
              Expected Revenue: %JsonAsCustomObject['value'][0]['ExpectedRevenue']%
              Close Date: %JsonAsCustomObject['value'][0]['CloseDate']%
            
    • Body is HTML: このオプションをオンにします。
    • 「Save」をクリックします。
  8. Outlook を検索し、Close Outlook を選択します。ダブルクリックしてフローに追加し、「Save」をクリックします。
  9. End region を検索し、ダブルクリックしてフローに追加します。
  10. 最終的なフローは次のようになります:
  11. 上部の「Run」をクリックしてフローを開始します。プロセスは自動的に Outlook を開き、フローで指定された受信者にメールを送信します。メールは次のようになります:

2.3 フローのスケジュールと改善

これで、最も高い ExpectedRevenue を持つ新しいリードが見つかったときにメールを送信するフローができました。Power Automate Desktop には組み込みのスケジュール機能がないため、Windows タスク スケジューラまたは Power Automate(クラウド)を使用して、設定した間隔で継続的に実行する必要があります。

重複メールを避けるには、Power Automate の Write text to file アクションを使用して Id フィールドをファイル(例:lastLead.txt)に保存します。実行するたびに、Read text from file アクションを使用して現在の Id と比較します。一致した場合はメールをスキップし、新しいリードに対してのみアラートが送信されるようにします。

このフローは始まりにすぎません。CRM レコードの更新高価値リードの Excel へのログ記録リアルタイム Slack アラートの送信など、リード管理プロセスのさらに多くのステップを自動化するように拡張できます。


CData API Server を 30 日間無料でお試しください

ローコード/ノーコードプラットフォームで OData REST API を構築し、ライブデータとのシームレスな統合を実現しましょう。CData API Server を 30 日間無料でお試しいただき、Salesloft(または 250 種類以上の他のコネクタ)からのライブデータを使用して Power Automate でタスクを自動化する方法を体験してください。

こちらから無料トライアルを開始できます。

はじめる準備はできましたか?

詳細はこちら、または無料トライアルにお申し込みください:

CData API Server お問い合わせ