コネクターの計画
コードを1行も書き始める前に、Workato上のカスタムコネクターのユーザー向けに、すべての連携ユースケースを計画する時間を取ることを強くお勧めします。 その後、これらのユースケースを満たすために、コネクターで必要な最小限のアクションとトリガーに分解できます。 このアクションとトリガーのリストは、将来いつでも拡張できます。
多くの場合、最も成功しているコネクターは、アクションやトリガーの数が最も多いものではなく、厳選されたアクションとトリガーのセットで幅広いビジネスユースケースを支えるものです。 顧客が自社サービスをWorkatoのエコシステム内にある数百ものサービスと連携できるように、自社プラットフォームへのコネクターを構築する場合は、顧客のニーズを確実に満たすために、プロダクトマネージャーと開発者の両方と一緒にこのプロセスを進めることをお勧めします。
連携ユースケースの詳細化
コネクターは小さく始めて時間をかけて大きく育てることができますが、調査した連携ユースケースで、自分、チーム、または顧客が成功できるようにコネクターが役立つことを常に確認することが重要です。 これには、ユーザーがレシピ内でコネクターをどのように使用するかを考える時間と労力が必要です。 まず、Workatoで自動化したい具体的なユースケースを見つけるためにブレインストーミングを行うことを強くお勧めします。 社内利用向けにコネクターを構築するチームの場合、これは自動化したい煩雑な手作業のプロセスである可能性があります。 顧客がWorkatoを使用して自社アプリケーションをレシピに組み込めるように、Workato上でコネクターを構築して当社のプラットフォームに掲載するチームの場合、これは最大のビジネス価値を生み出すと予測できるものであるべきです。
例1:
Workato上でSalesforceへのコネクターを構築するタスクを任されたXYZ labsの開発者として、私の会社では、MarketoからSalesforceへ新しいリードを毎日手動でインポートしており、プラットフォームへの新規サインアップに対する対応時間も良くない状況です。 顧客データと注文もSalesforceからNetSuiteへ定期的にエクスポートする必要があり、ビジネスアナリストチームの多大な時間を費やしています。 また、新しい商談には、Salesforceには存在するもののNetSuiteには存在しない製品の品目が含まれていることもよくあります。
時間を節約し、人的ミスの可能性を下げるために、連携チームは上記の問題を解決する5つの連携ユースケースを選定しました。
- Salesforceの新しいリードについてSlackで営業チームに通知する
- SalesforceのアカウントデータをNetSuiteの顧客と同期する
- Salesforceの注文をNetSuiteの売上領収書と同期する
- Marketo経由でリードが到着したときにSalesforceでリードを作成する
- Salesforceの製品をNetSuiteの製品と同期する
例2:
XYZ labsの主力製品はクラウド会計ソフトウェア(XYZ accounting)であり、顧客はあらゆるデバイスから財務アカウントにアクセスして管理できます。 プラットフォームの機能を拡張し、顧客離れを減らし、新しいリードを見つけるために、XYZ labsのプロダクトチームはWorkato上でXYZ accountingコネクターの構築も検討しています。 XYZ accountingのユーザーは、このコネクターを使用して、会計データをXYZ accountingからエクスポートしたり、XYZ accountingへインポートしたりする煩雑なプロセスを自動化できるようになります。
XYZ accountingで最も頻繁に使用されている部分と、XYZ accountingと併用される可能性があるさまざまなアプリを評価した結果、XYZ accountingの顧客に最大の価値をもたらす連携ユースケースのセットが候補として絞り込まれました。
- Salesforceの新しい受注済み商談がXYZ accountingで請求書を作成する
- Salesforceの新しい製品がXYZ accountingで新しい製品を作成する
- XYZ accountingの新しい支払いがSalesforceの商談を更新する
- XYZ accountingの新しいベンダーがSalesforceで新しい仕入先を作成する
- Expensifyの新しい承認済み経費レポートがXYZ accountingで経費を作成する
オブジェクトの基本セットの定義
解決したい連携ユースケースを決定した後、多くの場合、それは特定のオブジェクトに対して実装したいコネクター内のアクションとトリガーに変換されます。
まず、Workatoのレシピを通じて操作したいオブジェクトを4つまたは5つに絞り込むことをお勧めします。 小規模なアプリケーションの場合、これはすべてのオブジェクトを意味する場合があります。 数百を超えるオブジェクトを持つ大規模なアプリケーションの場合、これは連携ユースケースを満たす5つのオブジェクトを絞り込むことを意味する場合があります。 スコープを小さく保ち、時間をかけて反復していくことはまったく問題ありません。
例3:
XYZ labsの連携開発者として、運用チームが示した連携ユースケースは、Salesforce内の複数のオブジェクトに関係しています。 これらのユースケースに基づくと、Orders、Leads、Accounts、Productsをサポートすることで、私のチームが求めているレシピを構築できるようです。
例4:
XYZ accountingへのコネクターを構築するタスクを任された開発者として、Invoices、Products、Payments、Vendors、Expense reportsのサポートを優先すべきであることがわかります。 顧客向けに自社アプリケーションへのコネクターを構築する場合、定義したユースケースを超えてより多くの顧客がコネクターを使用できるように、必要に応じてサポートするオブジェクト数を拡張することが一般的です。
可能なアクションの検討
オブジェクトを決定した後は、選択したオブジェクトに対してサポートするアクションを決定する必要があります。 ほとんどの場合、選択したオブジェクトに対する基本的な“作成”、“読み取り”、“更新”、“削除”、“検索”(CRUDS)アクションから始めることで、特にレシピ内で組み合わせて使用する場合、ほとんどの連携ニーズをカバーできることがわかっています。 自動化されたレシピによるデータ削除が望ましくない場合、ユーザーが“削除”アクションを省略することがあります。
サポートできるもう1つのアクションタイプは、バッチアクションです。 バッチアクションは、単一のオブジェクトではなく複数のオブジェクトを処理するアクションであり、複数のオブジェクトをアプリケーションに同期したり、アプリケーションから同期したりする必要があるシナリオでよく使用されます。 ユーザーがコアユースケースを満たすためにこの機能を必要としているか、またはこの機能を後で追加できるかを検討してください。
Workatoの新規ユーザーによく見られるもう1つの失敗は、アクションを過度に複雑にすることです。 アクションをシンプルに保ち、常に1つのことだけを処理することに集中させることで、エラーが発生した場合にユーザーのレシピのトラブルシューティングが容易になります。 たとえば、“顧客を作成して請求書を顧客に添付”というアクションを作成する代わりに、これは“顧客を作成”と“請求書を添付”という2つのアクションに分割する必要があります。 このようにアクションを分離すると、より汎用的になり、ユーザーはアクションを組み合わせてより多くのことを実現できます。
APIアクションの制限
コネクターを構築する予定のAPIの機能と制限を把握しておいてください。
適切に設計されたAPIのほとんどにはCRUDアクションを実行するエンドポイントがあり、大量データのユースケースをサポートするためのバッチエンドポイントを提供するものもあります。
可能なトリガーの検討
アクションに加えて、アプリケーション内のイベントを起点としてエンドユーザーがトリガーできるように、オブジェクトベースのトリガーを実装することもお勧めします。 Workatoは3種類のトリガー(ポーリング、静的Webhook、動的Webhook)をサポートしていますが、連携ユースケースに基づいて1種類のトリガーを実装するだけで十分な場合がよくあります。
ポーリングトリガーとWebhookトリガーのどちらにするかを決定する際は、エンドユーザーが新しいイベントをどれだけ迅速に取得する必要があるかに注目することが重要です。 ユーザーがWebサイトでサポートをリクエストする場合など、時間に敏感な状況では、迅速に支援を届けるためのレシピを構築するにはWebhookが最も適している可能性があります。 一方で、CRMの新しい売上についてはWebhookトリガーが不要で、ポーリングトリガーで十分な場合があります。
APIトリガーの制限
コネクターを構築する予定のAPIの機能と制限を把握しておいてください。
一部のAPIはWebhook機能をサポートしています。 Webhookを使用できない場合は、ポーリングトリガーが適切な代替手段になることがあります。 自社アプリケーション向けのコネクターを開発している場合は、Webhookトリガーをサポートすべきかどうかを検討してください。
ポーリングトリガーの場合、オブジェクトが作成されたとき、またはオブジェクトが作成または更新されたときのトリガーなど、基本的なものから始めることがよくあります。
含める、または強調表示すべきその他のアクション/トリガーの検討
アプリケーションによっては、現在絞り込んでいるオブジェクトベースのアクションとトリガーには含まれていない特別なアクションがある場合があります。 自分とチームが達成するために設定したすべての連携ユースケースを確認し、アクションやトリガーに不足がないかを把握してください。
達成したい連携ユースケースを中心にレシピを構築することを想定し、不足している可能性があるアクションを探すことは有効な演習です。 Workatoで有用だとわかった方法は、ユースケースを達成するために必要なレシピの簡単なスケルトンを描くことです。
例5:
Workato上でXYZコネクターを構築しているXYZ labsの開発者として、顧客にとってもう1つの重要な連携ユースケースは、Slackのような職場向けメッセージングアプリからXYZの統合銀行振込機能を使用できることでした。 連携のスケルトンを描き出すと、次のステップにたどり着きました。
| レシピ:Slackbotの新しいコマンドでXYZ accountingの銀行振込を実行 | アクションのサポート有無 |
|---|---|
| トリガー:Slackの新しい“銀行振込を投稿”コマンド | はい |
| 1. XYZ accountingで仕入先を検索する | はい |
| 2. 仕入先IDを使用してXYZ accountingで銀行振込を実行する | いいえ |
| 3. ユーザーに通知するためにSlackに返信を投稿する | はい |
このスケルトンを使用すると、このユースケースで重要となる“銀行振込を実行”アクションが抜けていたことが簡単にわかります。
コネクター構築は高度な機能
Workatoでは、カスタムコネクターを作成する前に、レシピ構築の経験を積むことをお勧めしています。 基本を学ぶにははじめにガイドを参照し、レシピ例のステップバイステップの手順を確認するにはユースケースページをご覧ください。
コネクターの棚卸し
この演習を終える頃には、構築する予定のアクションとトリガーのリストができているはずです。 表形式にすると、次のような形になります。
| 新規/更新済みトリガー | 作成アクション | 取得アクション | 更新アクション | 削除アクション | 検索アクション | 実行アクション | |
|---|---|---|---|---|---|---|---|
| 請求書 | はい | はい | はい | はい | はい | はい | |
| 製品 | はい | はい | はい | はい | はい | はい | |
| 支払い | はい | はい | はい | はい | はい | はい | |
| 仕入先 | はい | はい | はい | はい | はい | はい | |
| 経費レポート | はい | はい | はい | はい | はい | はい | |
| 銀行振込 | はい | はい | はい | はい |
コネクター構築の時間
コネクターの全体像がわかったところで、構築を始めましょう。 次の章では、コネクターを整理して構築する方法を説明します。
Last updated: