自動化
Zoho Booksの自動化では、各モジュールに対していくつかのルールを定義し、適切な処理が実行されるように設定できます。たとえば、顧客が$1,000以上の商品の見積書を承認した場合、チームメンバーにお礼のメールが自動的に送信されるように設定できます。
以下の手順に沿って、ワークフローについて学びましょう。
- ワークフローの作成と詳細
- ワークフローを実行するタイミングの決定
- ワークフローの実行条件の設定
- メール通知、特定項目の更新、Webhookなどの処理をワークフローに関連付ける
- Webhookを使用して外部のWebサービスプロバイダーに接続する
ワークフローのシナリオ
新しいワークフローのルールの設定
ワークフローのルールは、メール通知、特定の項目の更新、アプリ内通知、Webhook などの処理から構成され、タスクの実行において重要な役割を果たします。ワークフローのルールでは、タスクを達成するために1つまたは複数の処理を使用できます。Zoho Booksでワークフローのルールを設定するには、[設定]→[自動化]→[ワークフローのルール]の順に移動します。
ワークフローの名前の入力
項目 | 説明 |
---|---|
ワークフロールール名 | ワークフロールールに固有の名前を付けます。 |
タブ | ワークフローを作成するモジュールを選択してください。 |
詳細 | ワークフロールールについての詳細情報を入力してください。 |
実行条件の選択
以下の項目から選択するパラメーターに基づいて、ワークフローを起動するタイミングを選択できます。
ワークフローの種類
ワークフローには2種類あります。
- 予定基準
- 日付基準
予定基準:ワークフローが予定基準の場合、対象のモジュールで以下の操作が行われた場合に起動されます。
- 作成
- 編集
- 作成または編集
- 削除
モジュールの操作を[編集済み]/[作成済みまたは編集済み]と選択した場合、以下の追加項目が表示されます。
項目 | 説明 |
---|---|
次の時にワークフローを実行する | 以下の3つのオプションから選択できます。 - いずれかの項目が更新されたとき - 選択した項目のいずれかが更新されたとき - 選択した項目のすべてが更新されたとき ドロップダウンで[選択した項目のいずれかが更新されたとき]または[選択した項目のすべてが更新されたとき]を選択すると、モジュールの3つの項目を選択できる追加ボックスが表示されます。 |
実行頻度 | 一度のみ - 条件が初めて満たされるされるときにワークフローを実行します。 毎回 - 条件が満たされるたびにワークフローを実行します。 |
日付基準:ワークフローが日付基準の場合、以下の追加項目が表示されます。
項目 | 説明 |
---|---|
実行日 | ワークフローを実行するタイミングを設定します。モジュールの日付、有効期限、作成日時などをドロップダウンから選択し、その前または後の日数を指定できます。 |
実行時間 | [hh]と[mm]を選択することで、正確な実行時間を指定できます。 |
実行頻度 | ワークフローを実行する頻度として、ドロップダウンから[一度のみ]、[毎週]、[毎月]、[年間]を選択できます。 |
実行条件のフィルター
実行条件のフィルターでは、処理を実行するための条件を1つ以上設定できます。
項目 | 説明 |
---|---|
条件 | 設定した条件に基づいて、フィルターが適用されます。[+ 条件の追加]をクリックすることで、ワークフロールールが実行される複数の条件を追加できます。 次の条件は、両方の条件を含めるかどちらかの条件を含めるかに応じて、ANDまたはORになります。また、[条件を変更する]を選択すると、条件のパターンを自由に変更できます。 |
属性の項目 | この項目では、モジュールに関連する用語を広くカバーするリストこの項目では、モジュールに関連する用語を広くカバーするリスト |
ルール | システムが実行条件をフィルタリングする際の基準となるルールを選択します。 項目に英数字の値が含まれる場合、ルールは次のようになります。 項目が数値だけの場合、ルールは次のようになります。 |
値の項目 | フィルターを適用する属性の値を入力します。 |
条件の編集:
要件に合わせて条件パターンを編集することができます。編集では、論理演算子の「AND」「OR」を使用して、自分の選択したパターンを定義できます。
たとえば、[見積書番号]が「1」であり、[見積書のステータス]が「未請求」かつ[総額]が「500」と等しい場合にワークフロールールを実行する場合、パターンは「(((1)AND 2) OR 3)」になります。条件パターンが要件に合わないと感じた場合は、「(1AND (2 OR 3))」のように編集することができます。
[保存]をクリックしてください。
メモ:各ワークフロールールごとに、最大10件の条件を設定できます。
アクション
ルールを設定した後、条件が満たされたときに実行する処理を指定する必要があります。ビジネスニーズに応じて、すぐに実行する処理や時間基準の処理を設定できます。
すぐに実行する処理
項目 | 説明 |
---|---|
種類 | 3種類の処理から1つを選択します、 - メール通知 - 特定の項目の更新 - Webhook [+ 新しい処理の追加]をクリックして、複数の処理を追加することもできます。 |
名前 | この項目には、メール通知、特定の項目の更新、またはWebhookの名前 たとえば、メール通知の場合、すでに作成したリストから選ぶか、[+ 新しいメール通知の追加]を選択して新しいメール通知を追加することができます。 特定の項目の更新やWebhookの場合も同じ手順に従ってください。 |
詳細 | 実行する処理の詳細が表示されます。 |
すぐに実行する処理
特定の時間に処理したい場合、[時間基準の処理を追加しますか?]のチェックボックスにチェックを入れてください。これにより、対象の時間を入力するための追加項目が表示されます。
項目 | 説明 |
---|---|
実行時間 | 以下のようにリストされる基準日を選択して、その前後の日数を入力してください。 - ルールの実行日 - 請求日 - 有効期限 - 作成日時 - 更新日時 |
次は、処理の種類を選択します。メール通知、特定の項目の更新、Webhookのいずれ かを選択できます。また、[+ 新しい時間基準の処理の追加]を選択することで、複数 の時間基準の処理を追加することができます。
メモ:最大5件の時間基準の処理を追加できます。また、時間基準の処理ごとに、最大5件の処理が設定可能です。
最後に、[保存]をクリックすると、ワークフロールールが作成され、Zoho Booksのモジュールに実装されます。
その他の操作
ワークフロールールを有効/無効に設定することもできます。ワークフロールールを削除するには、ワークフローの横にあるごみ箱アイコンをクリックしてください。
ワークフロールールの編集:
ワークフロールールを編集するには、リストからワークフロールールをクリックするか、ワークフロールールにカーソルを合わせて[編集]を選択してください。
ワークフロールールのフィルタリング:
ワークフロールールをフィルタリングするには、以下の手順に従ってください。
- [自動化]→[ワークフローのルール]の順に移動してください。
- [タブ]の横にあるドロップダウンからいずれかを選択し、ワークフローをモジュールに基づいてフィルタリングします。
ワークフロールールは、有効/無効に基づいてフィルタリングすることもできます。選択内容に沿って、対応するワークフロールールがリストとして表示されます。
メモ:
- 各モジュールに対して、最大10件のワークフロールールを作成できます。
- Zoho Booksにインポートされた請求書には、ワークフロールールを適用することはできません。
メール通知
以下の手順では、Zoho Booksの任意のモジュールからメール通知を設定する方法を説明します。
新しいメール通知を作成する手順:
メール通知を設定するには、[設定]→[自動化]→[メール通知]の順に移動して[+ 新しいメール通知]ボタンをクリックしてください。
項目 | 説明 |
---|---|
名前 | メール通知の固有の名前を入力してください。 |
タブ | メール通知を作成するモジュールを選択してください。 |
メールテンプレート | ドロップダウンからテンプレートを選択するか、新しいメールテ ンプレートを作成する場合は[+ 新しいメールテンプレートの追 加]をクリックします。 |
メールの受信者 | メール通知を送信する受信者をドロップダウンから選択します。 |
追加の受信者 | より多くの人に通知メールを送信したい場合は、メールアドレスを入力してください。最大10人まで追加できます。 |
[保存]をクリックして、新しいメール通知を作成します。これで、ワークフローが実行された際に通知を受けるために、作成されたメール通知をドロップダウンから選択できるようになります。
その他の操作
メール通知の削除:
メール通知を削除する場合は、メール通知リストの横にカーソルを合わせて、ごみ箱アイコンをクリックします。
メール通知のフィルタリング:
メール通知をフィルタリングするには、以下の手順に従ってください。
- [自動化]→[メール通知]の順に移動します。
- [タブ]の横にあるドロップダウンから、メール通知が作成されたモジュールを選択してください。
選択に基づいて、対応するメール通知がリストとして表示されます。
メモ:
- 各ワークフロールールに対して、最大5件のメール通知を作成できます。
- 1日につき最大500件のメール通知を実行できます。
アプリ内通知
Zoho Booksでは、組織内で行われたイベントや重要な活動について、ユーザーにアプリ内通知を作成して知らせることができます。これはすべてのモジュールに対して設定することができ、通知を実行するタイミングも選ぶことができます。
シナリオ : 営業チームが10万円の売り上げを達成しました。しかし、組織の管理者やユーザー全員がその売り上げに気付いていない可能性があります。そこで、アプリ内通知システムが導入され、重要な売り上げについては誰もが通知されるようになっています。売り上げ取引が完了すると、システムは請求書の合計金額を自動的に評価します。この場合、合計金額は10万円です。組織は事前に定義された平均売上高(例えば50,000円)を持っています。システムは請求書の合計金額と組織の平均売上高を比較します。合計金額(10万円)が平均売上高(50,000円)を超えているため、アプリ内通知をトリガーする条件が満たされます。結果として、システムは組織の平均売上高を超える合計金額を持つ請求書に対してアプリ内通知を生成します。この通知は、管理者を含む組織のすべてのユーザーに送信され、重要な売り上げが行われたことを知らせる役割を果たします。
同様に、組織のアプリ内通知を実行するワークフロールールを設定することができます。
- [設定]→[自動化]→[ワークフローのルール]→[+ 新しいワークフローのルール]の順に選択します。
- [ワークフロールール名]と[タブ]を入力して、新しいワークフロールールを作成します。
- 実行条件を選択します。予定基準または日付基準を選択してください。
- ワークフローの実行条件のフィルターを設定し、[次へ]ボタンを選択してください。
- 処理の種類をアプリ内通知として選択し、次のタブで[+ 新しいアプリ内通知]をクリックして新しいアプリ内通知を作成してください。
- [時間基準の処理を追加しますか?]オプションを有効にし、処理を実行するタイミングを選択します。
- 条件を設定し、[保存]をクリックします。
設定後、対象の操作が行われると、選択した受信者にベルアイコンで通知されます。クリックすると詳細が表示されます。
特定項目の更新
特定項目の更新の機能を利用すると、ワークフローが実行される特定のモジュールの項目を自動的に変更することができます。たとえば、合計金額が$500以上の場合に、見積書の有効期限を自動的に2015年6月30日まで延長することができます。この例では、[総計]の項目が「“>=“500」となっている場合に、[有効期限]の項目が上記の日付(2015年6月30日)に変更されます。
特定項目の更新を設定するには、[設定]→[自動化]→[特定項目の更新]に移動し、[+ 新しい特定項目の更新の設定]をクリックしてください。
項目 | 説明 |
---|---|
名前 | 特定項目の更新の固有の名前を入力してください。 |
タブ | 特定項目の更新を作成するモジュールを選択してください。 |
更新 | ワークフローを実行する際に変更する項目をドロップダウンから選択します。 |
[保存]をクリックして、新しい特定項目の更新を作成します。これで、ワークフローが実行される際に変更を実装する処理として、作成された特定項目の更新を選択できるようになります。
その他の操作
特定項目の更新の削除
特定項目の更新を削除するには、リストされている特定項目の更新の横にカーソルを置いて、ごみ箱アイコンをクリックします。
特定項目の更新のフィルタリング
特定項目の更新をフィルタリングするには、以下の手順に従ってください。
- [設定]→[自動化]→[特定項目の更新]の順に移動してください。
- [タブ]のフィルター下で、特定項目の更新が作成されたモジュールをドロップダウンから選択してください。
選択に基づいて、対応する特定項目の更新がリストとして表示されます。
メモ:各ワークフロールールに対して、最大3件の特定項目の更新を作成できます。
Webhooks
Webhookは、Zoho Books内でイベントが発生するたびに即時のウェブ通知を送ることで、サードパーティアプリケーションとのコミュニケーションを容易にします。Webhookを使用すると、HTTPおよびHTTPSのURLを設定し、ワークフロールールと関連付けて通知プロセスを自動化することができます。Webhookの使用方法やタイミングについては、当社のWebhookの使用例に関するヘルプドキュメントを参照してください。
Webhookに関する一般的な情報は、webhooks.orgをご覧ください。
Webhookの作成
Webhookを設定するには:
- [設定]→[自動化]の順に選択してください。
- [自動化]ペインで[Webhook]を選択してください。
- 右上の[+ 新しいWebhook]をクリックしてください。
- 新しいWebhookページで、以下の詳細を入力してください。
- [名前]項目にWebhookの名前を入力します。
- [タブ]項目の隣にあるドロップダウンから、Webhookを作成するモジュールを選択します。
- 必要に応じて、[詳細]項目にWebhookに関する詳細を追加します。
- [URLのパラメーター]項目でHTTPメソッドを選択し、サードパーティーアプリケーションのURLを入力します。Zoho Booksで利用可能なHTTPメソッドは以下のとおりです。
- POST:送信されたデータを新しいものとして考慮する必要があるというリクエスト
- PUT:送信されたデータを、既存のデータの修正バージョンとして考慮するようにリクエストします。
- DELETE:データを削除する必要があることをリクエストします。
[+ 新しいパラメーターを追加する]をクリックし、[キー]と[Value]項目に必要 な値を入力することで、クエリパラメーターを追加することもできます。認証トーク ン、セキュリティトークン、APIキーなどのカスタムパラメーターを追加できます。 Webhookを保護したい場合は、[このWebhookを保護したいです]オプションを チェックします。[シークレット]項目にシークレットキーを入力します。これは、 WebhookがZoho Booksから送信されたかどうかを確認するのに役立ちます。半角英数 字で、12~50文字の範囲で入力してください。
メモ: 一度入力したシークレットトークンを後で編集または表示することはできません。
メモ: シークレットトークンはハッシュ値を計算するために使用されるので、同じようなハッシュ値を計算するために同じトークンがサーバー上で利用可能であることを確認する必要があります。
- [ヘッダー]セクションでは、HTTPリクエストに追加したい情報を含めることができます。ヘッダーを追加する場合は、[+ 新しいヘッダーを追加する]をクリックします。
- [認証の種類]セクションで、Webhookの認証方法を選択します。
- 自己認証:このオプションを選択すると、認証の詳細を手動で入力してWebhookを設定できます。
- コネクション:コネクションを使用してWebhookを設定するには、このオプションを選択します。コネクションの作成方法について、詳細はこちらをご参照ください。
- [本文]セクションで、データの送信方法を選択します。[初期設定のデータの内容]、[x-www-form-urlencloded]、[生データ]パラメーターから選択できます。
- 初期設定のデータの内容:[初期設定のデータの内容]形式では、モジュールに関連するすべてのパラメーターがapplication/json形式のコンテンツタイプでリクエストボディに送信されます。
- x-www-form-urlencoded:[x-www-urlencoded]形式では、データはエンコードされてサーバーに送信されます。
- 生データ:[生データ]形式では、リクエストボディに送信するパラメーターを選択できます。コンテンツタイプはapplication/jsonになります。
- [保存して実行]をクリックしてWebhookが正しく動作することを確認するか、後で実行する場合は[保存]をクリックします。
メモ: Webhookを設定すると、Zoho Books組織内のすべての連絡先の詳細(名前、電話番号、住所、メールアドレス)が、通知するURLと共有されます。
Webhookの保護
Webhookを保護することにより、Zoho Booksから送信されたWebhookであることを確 認できます。この操作を行うには、サーバーを設定してZoho BooksからのWebhookを 受信する必要があります。サーバーは受信したWebhookのペイロードとシークレット トークンを使用してハッシュ値を生成する必要があります。生成されたハッシュ値を使 用して、Zoho Booksからのハッシュ値と一致するかどうかを検証し、Webhookの送信 元を検証します。これにより、サーバーはZoho Booksを送信元とするサードパー ティーのWebhookを無視し、追加のセキュリティレイヤーが提供されます。
Webhookの検証
サーバーがWebhookを受信すると、Zoho Booksが生成したものと同じ方法で、ペイ ロードのハッシュ値を生成する必要があります。これによって、Webhookの検証に使 用される同じハッシュ値が生成されます。
ハッシュ値の生成には、以下のパラメーターが利用可能な場合に使用されます。
- クエリ文字列パラメーター
- 初期設定のペイロードまたはカスタマイズされた生のJSONペイロード
- x-www-form-urlencodedペイロード(キーと値のペア)
ペイロードのキーと値のペアをアルファベット順にソートし、文字列を構築する必要があります。キーと値のペアは、キーに対してアルファベット順にソートされている必要があります。
メモ:
- Webhookにクエリ文字列パラメーターが含まれている場合は、ペイロードのキーと値のペアがソートされていることを確認してください。
- key-valueペアの間にスペースを入れることはできません。
キーと値のペアをソートして文字列を構築した後、生のJSONデータを文字列の最後に追加します。
例
1.初期設定のデータの内容
クエリ文字列パラメーターのキーと値のペア:
subscription\_id=90343, name=basic
初期設定のデータの内容/生データ:
{"created\_date":"2019-03-06","event\_id":"5675"}
設定される文字列:
namebasicsubscription\_id90343{"created\_date":"2019-03-06","event\_id":"5675"}
クエリ文字列パラメーターのキーと値のペア:
customer\_name=Brandon, status=active
2. x-www-form-urlencoded
x-www-form-urlencoded payload’s key-value pairs:
customer\_name=Brandon, status=active
x-www-form-urlencodedペイロードのキーと値のペア:
addon\_description=Monthly addon, quantity=1
構成される文字列:
addon\_descriptionMonthly addoncustomer\_nameBrandonquantity1statusactive
アドバイス :
- ペイロードがx-www-form-urlencoded形式の場合、ハッシュ値を生成する前に文字列全体をデコードする必要があります。
- キーと値のペアのいずれかにスペースが含まれている場合、そのスペースも構築された文字列に含める必要があります。
ハッシュ値は、この文字列にHMAC-SHA256アルゴリズムを適用することで、Zoho Booksで使用されたシークレットトークンと組み合わせて計算されます。
計算されたハッシュ値が、Zoho BooksからのWebhookのヘッダー(X-Zoho-Webhook-Signature)に含まれる値と一致するかどうかを確認することで、Webhookを検証できます。
SMSゲートウェイの設定
SMSゲートウェイを通じてメッセージ通知を送受信するためにWebhookを設定することができます。URLを使ってSMSゲートウェイを設定し、以下の手順に従ってください。
Bulk SMS
Bulk SMSは人気のSMSゲートウェイで、世界中の800以上のモバイルネットワークプロバイダーと互換性があります。
URL:https://bulksms.vsms.net/eapi/submission/send_sms/2/2.0?username=
%username%
&password=%password%
&msisdn=${CONTACT.CONTACT_MOBILE_PHONE}&message=%message_content%
Bulk SMSのURLを設定するには:
- 右上の歯車(設定)アイコンをクリックし、[自動化]を選択します。
- [Webhook]タブに移動し、[+ 新しいWebhook]をクリックします。
- 上記のURLを通知先のURL項目にコピーします。
- URLの%username%と%password%の差出人をBulk SMSアカウントのユーザー名とパスワードに置き換えます。
- URLの最後の「message=」の後にメッセージを入力します。
- メッセージ内容のすべての空白を%20に、すべてのカンマを%2Cに置き換えてください。
メモ: メッセージの内容に他の句読点がある場合は、このウェブサイトから修飾子で置き換える方法を確認できます。ただし、メッセージの構文に不可欠な句読点を置き換えないようにしてください。
空白に%20を、カンマに%2Cを使ってメッセージを書式設定すると、次のようになります。
URL:https://bulksms.vsms.net/eapi/submission/send_sms/2/2.0?username=
%username%
&password=%password%
&msisdn=${CONTACT.CONTACT_MOBILE_PHONE}&message=Hello%20${CONTACT.CONTACT_NAME}.Thank%20you%20for%20the%20purchase%20of%20${INVOICE.INVOICE_TOTAL}
同様に、他のSMSゲートウェイも、URLを変更するだけで設定できます。
SMS-Magic
SMS-MagicのようなSMSゲートウェイは、Webを設定するために追加のエンティティパラメーターを入力する必要があります。
SMS-Magicを設定するには:
- 通知先のURL項目にURL「https://sms-magic.in/smapi/post」を入力します。
- [エンティティパラメーターの追加]をクリックします。
- パラメーター項目に次のテキストを入力します。
<?xml version="1.0"?>
<m:Library xmlns:m="http://screen-magic.com" xmlns="http://www.defns.com">
<userid>**User_ID**</userid>
<senderid>**%Sender_ID**</senderid>
<accountid>**%Account_ID**</accountid>
<hashkey>**%hashkey%**</hashkey>
<message mobilenumber="${CONTACT.CONTACT_MOBILE_PHONE}" >
<![CDATA[${INVOICE.INVOICE_TOTAL}]]>
</message>
</m:Library>
URLの差し込み項目をSMS-MagicアカウントのユーザーID、送信者ID、アカウントIDに置き換えてください。ハッシュキーは、ユーザーID、パスワード、アカウントID、送信者IDを連結した文字列の標準ハッシュ化md5値を指します。
メモ:ハッシュ化されたmd5値を生成するには、こちらのサイトをご覧ください。
Text Local
Text Localを機能させるには、エンティティパラメーターとカスタムパラメーターが必要です。
Text Localを設定するには:
- 通知先のURL項目にURL「http://api.textlocal.in/send/」を入力します。
- [カスタムパラメーターを追加]をクリックします。
- 送信者とapikeyパラメータを追加し、URLの差し込み項目をText Localの関連情報に置き換えます。
- [エンティティパラメーターを追加]をクリックします。
- パラメーターに名前を付け、ドロップダウンメニューから必要な条件を選択します。例:numbers = ${CONTACT.CONTACT_MOBILE_PHONE}。
- [ユーザー定義パラメーターの追加]ボックスを選択し、送信するメッセージと必要な差し込み項目を入力します。
- [保存]をクリックします。
その他の操作
Webhookの削除
Webhookを削除するには:
- [設定]→[自動化]の順に移動してください。
- [自動化]ペインで[Webhook]を選択します。
- 削除するWebhookにカーソルを合わせ、ごみ箱アイコンをクリックします。
- 表示されるポップアップで[はい]をクリックします。
Webhookが削除されます。ワークフロールールでWebhookを使用している場合、ワークフロールールが実行されないように、必ずワークフロールールを更新してください。
Webhookのフィルタリング
Webhookをフィルタリングするには、以下の手順に従ってください。
- [設定]→[自動化]→[Webhook]の順に移動してください。
- [タブ]の横にあるドロップダウンから、Webhookが作成されたモジュールを選択します。
- 選択に基づいて、対応するWebhookがリストとして表示されます。
メモ:
- 各ワークフロールールに対して、1件のWebhookのみを作成できます。
- 1日につき最大500件のWebhookを実行できます。
イベント
Zoho Booksのイベントセクションを利用すると、Webhookのステータスを再送信または確認することができます。
Webhookのステータスを確認するには:
- フィルターを使用して、Webhookをステータスに基づいて並べ替えます。
Webhookを再送信するには:
- [イベント]タブに移動して、再送信するWebhookのイベントをクリックしま
- [再送信]をクリックして、Webhookを再送信します。
カスタム関数
Zoho Booksのカスタム関数を使用すると、顧客の請求書に特別な割引を適用したり、支払期限を過ぎた請求書に延滞料を追加したりするような場合に、Delugeスクリプトを使用してコードを記述し、それをワークフロールールにリンクするだけで、プロセスの自動化が実現できます。
Delugeとは
Deluge(Data Enriched Language for the Universal Grid Environment)は、Zoho Creatorに連携されたオンラインスクリプト言語です。これにより、ユーザーはアプリケーションに段階的にロジックを追加し、信頼性の高いものにすることができます。
Delugeに関する詳細情報は、Delugeリファレンスガイドをご参照ください。
Delugeの学習のためにコードサンプルを書きたい場合は、こちらをクリックしてください。
カスタム関数の作成と実行
カスタム関数を設定するには:
- [設定]→[自動化]→[カスタム関数]の順に移動し、[+ 新しいカスタム関数]をクリックします。
- カスタム関数の名前と説明を入力してください。
- カスタム関数を作成するモジュールを選択してください。
- 次に、スクリプトボックスの左側に記載されているパラメーターを入力またはドラッグします。
- 対象のパラメーターを選択し、カスタム関数の条件を設定します。
- 完了したら、[保存]をクリックして変更を有効にします。
- 次に、新しく作成したカスタム関数を使用してワークフロールールを作成します。
- [自動化]→[ ワークフロールール]の順に移動してください。
- 新しいワークフローを作成し、実行条件を設定してください。
- 次に、[ アクション]タブで[カスタム関数]を選択し、新しく作成したカスタム関数を選択します。
- [保存]をクリックします。
初期設定の項目
カスタム関数は、現時点で、ユーザー、組織、見積書、請求書、販売注文、購入注文、顧客、繰り返し請求、経費、請求書、商品モジュールをサポートしています。
これらのモジュールから、カスタム関数に関連する必要なパラメーターを取得するために以下の項目が利用できます。
ユーザー
ユーザー項目は、次のパラメーターをサポートしています。
キー項目 | 説明 |
---|---|
name | ユーザー名 |
zuid | ユーザーのZUID |
組織
組織マップはの項目をサポートしています。
キー項目 | 説明 |
---|---|
organization_id | 自分の組織ID |
name | 組織名 |
time_zone | 組織のタイムゾーン |
language_code | 組織の言語 |
date_format | 組織の日付形式 |
currency_id | 通貨ID |
currency_code | 通貨コード |
currency_symbol | 通貨記号 |
address | 組織の住所 |
phone | 組織の連絡先 |
fax | ファックス番号 |
website | 組織のURL |
メールアドレス | |
portal_name | 組織のポータル名 |
見積書
見積書マップは次の項目をサポートしています。
キー項目 | 説明 |
---|---|
quote_id | 見積書ID |
quote_number | 見積書番号 |
date | 見積日 |
reference_number | 見積書の参照番号 |
status | 見積書のステータス |
customer_id | 見積書に割り当てられた顧客のID |
currency_code | 通貨コード |
currency_symbol | 通貨記号 |
exchange_rate | 見積書の為替レート |
expiry_date | 見積書の有効期限 |
discount_amount | 割引金額 |
discount | 割引 |
shipping_charge | 見積書に入力された配送料 |
adjustment | 調整 |
sub_total | 見積書の小計 |
total | 見積書の総計 |
tax_total | 見積書の税額の合計 |
billing_address | 顧客の請求先住所 |
shipping_address | 顧客の納品先住所 |
notes | 備考 |
terms | 支払い条件 |
custom_fields | 見積書のカスタム項目 |
salesperson_id | 営業担当者のID |
salesperson_name | 営業担当者名 |
請求書
請求書マップは次の項目をサポートしています。
キー項目 | 説明 |
---|---|
due_date | 請求書の支払期限日 |
payment_expected_date | 請求書の支払予定日 |
reference_number | 請求書の参照番号 |
customer_id | 顧客ID |
customer_name | 請求書に割り当てられている顧客の名前 |
currency_id | 通貨ID |
currency_code | 通貨コード |
currency_symbol | 通貨記号 |
exchange_rate | 請求書の為替レート |
discount_amount | 請求書の割引額 |
discount | 請求書の割引 |
shipping_charge | 請求書に入力された配送料 |
adjustment | 調整 |
sub_total | 請求書の小計 |
tax_total | 請求書の税額の合計 |
total | 合計金額 |
balance | 残高 |
price_precision | 小数点以下の桁数 |
billing_address | 顧客の請求先住所 |
shipping_address | 顧客の納品先住所 |
notes | 備考 |
terms | 支払い条件 |
custom_fields | 請求書のカスタム項目 |
salesperson_id | 営業担当者ID |
受注書
キー項目 | 説明 |
---|---|
date | 受注日 |
tax_total | 受注書の税額の合計 |
zcrm_potential_id | Zoho CRMの見込み客ID |
discount_amount | 受注書の割引額 |
salesorder_id | 受注書ID |
discount | 割引 |
shipment_date | 出荷日 |
billing_address | 顧客の請求先住所 |
line_items | 商品 |
currency_code | 通貨コード |
total | 合計金額 |
delivery_method_id | 配送方法ID |
terms | 支払い条件 |
delivery_method | 配送方法 |
shipping_address | 顧客の納品先住所 |
exchange_rate | 受注書の為替レート |
currency_symbol | 通貨記号 |
custom_fields | 受注書のカスタム項目 |
quote_id | 見積ID |
reference_number | 受注書の参照番号 |
salesperson_name | 営業担当者名 |
salesperson_id | 営業担当者ID |
shipping_charge | 受注書に入力した配送料 |
salesorder_number | 受注書番号 |
sub_total | 受注書の小計 |
zcrm_potential_name | Zoho CRMの見込み客名 |
adjustment | 調整 |
customer_name | 受注書に割り当てられた顧客名 |
customer_id | 受注書にに割り当てられた顧客のID |
currency_id | 通貨ID |
status | 受注書のステータス |
発注書
発注書マップは次の項目をサポートしています。
キー項目 | 説明 |
---|---|
date | 発注書の日付 |
delivery_address | 納品先住所 |
tax_total | 発注書の税額合計 |
delivery_org_address_id | 納品先住所ID |
purchaseorder_id | 発注書ID |
expected_delivery_date | 納品予定日 |
billing_address | 発注書の請求先住所 |
line_items | 発注書の商品 |
currency_code | 通貨コード |
total | 発注書の総計 |
delivery_customer_id | 顧客の納品先ID |
exchange_rate | 発注書の為替レート |
currency_symbol | 通貨記号 |
custom_fields | 発注書のカスタム項目 |
ship_via_id | 配送方法ID |
vendor_name | 仕入先名 |
reference_number | 発注書の参照番号 |
purchaseorder_number | 発注書番号 |
delivery_date | 納品日 |
vendor_id | 仕入先ID |
sub_total | 発注書の小計 |
ship_via | 配送手段 |
attention | 宛名 |
crm_owner_id | Zoho CRM担当者ID |
currency_id | 通貨ID |
status | ステータス |
顧客
顧客マップは次の項目をサポートしています。
キー項目 | 説明 |
---|---|
owner_id | 所有者ID |
billing_address | 顧客に関連する請求先住所 |
source | 顧客ソース |
contact_id | 連絡先ID |
payment_terms | 顧客に関連する支払い条件 |
currency_code | 通貨コード |
language_code | 言語コード |
contact_type | 連絡先の種類 |
Twitter情報 | |
zcrm_contact_id | Zoho CRMの連絡先 |
shipping_address | 顧客に関連付けられた納品先住所 |
pricebook_id | 関連付けられている価格表のID |
contact_name | 連絡先名 |
website | 連絡先のウェブサイト |
owner_name | 所有者の名前 |
currency_symbol | 通貨記号 |
zcrm_account_id | Zoho CRMアカウントID |
custom_fields | 顧客に関連つけられたカスタム項目 |
Facebook情報 | |
pricebook_name | 価格表の名前 |
primary_contact_id | 主な連絡先のID |
company_name | 会社名 |
contact_salutation | コンタクトの呼び方 |
crm_owner_id | CRM所有者のID |
currency_id | 通貨ID |
payment_terms_label | 支払い期間のラベル |
status | ステータス |
繰り返し請求
繰り返し請求マップは次の項目をサポートしています。
キー項目 | 説明 |
---|---|
end_date | 繰り返し請求プロファイルの終了日 |
tax_total | 繰り返し請求書の総税額 |
discount_amount | 繰り返し請求書に含まれる割引額 |
repeat_every | 繰り返し請求プロファイルの繰り返し期間 |
discount | 繰り返し請求書に含まれる割引 |
taxes | 繰り返し請求書に関連する税金 |
billing_address | 顧客の請求先住所 |
line_items | 繰り返し請求書の商品 |
payment_terms | 顧客に関連する支払い条件 |
currency_code | 通貨コード |
last_sent_date | 最後に送られた請求書の日付 |
total | 総額 |
recurrence_name | 繰り返し請求プロファイルの名前 |
shipping_address | 顧客の納品先住所 |
next_invoice_date | 送信する次の請求書の日付 |
recurrence_frequency | 繰り返し請求プロファイルの頻度 |
recurring_invoice_id | 繰り返し請求プロファイルのID |
contact_persons | 繰り返し請求書の担当者 |
start_date | 繰り返し請求プロファイルの開始日 |
exchange_rate | 繰り返し請求書の為替レート |
currency_symbol | 通貨記号 |
custom_fields | 繰り返し請求書のカスタム項目 |
salesperson_name | 営業担当者名 |
salesperson_id | 営業担当者ID |
shipping_charge | 繰り返し請求書の配送料 |
sub_total | 繰り返し請求書の小計 |
adjustment | 調整 |
customer_name | 顧客名 |
customer_id | 顧客ID |
status | 繰り返し請求プロファイルのステータス |
経費
経費マップは次の項目をサポートしています。
キー項目 | 説明 |
---|---|
date | 日付 |
payment_mode | 支払い方法 |
custom_fields | 経費のカスタム項目 |
vendor_name | 仕入先名 |
is_billable | 経費の請求可能性 |
line_items | 経費の商品 |
project_name | プロジェクト名 |
reference_number | 経費の参考番号 |
currency_code | 通貨コード |
total | 合計 |
project_id | プロジェクトID |
vendor_id | 仕入先ID |
sub_total | 経費の小計 |
customer_name | 顧客名 |
customer_id | 顧客ID |
expense_id | 経費ID |
currency_id | 通貨ID |
受取請求書
受取請求書マップは次の項目をサポートしています。
キー項目 | 説明 |
---|---|
date | 受取請求書の日付 |
bill_id | 受取請求書ID |
purchaseorder_ids | 発注書ID |
tax_total | 受取請求書の総税額 |
exchange_rate | 受取請求書の為替レート |
currency_symbol | 通貨記号 |
custom_fields | 受取請求書のカスタム項目 |
due_date | 受取請求書の期限日 |
vendor_name | 仕入先名 |
billing_address | 請求先住所 |
line_items | 受取請求書の商品 |
payment_terms | 仕入先に関連する支払い条件 |
payment_expected_date | 支払予定日 |
reference_number | 受取請求書の参考番号 |
currency_code | 通貨記号 |
total | 受取請求書の合計 |
bill_number | 受取請求書番号 |
payment_made | 受取請求書の支払い |
balance | 残高 |
recurring_bill_id | 繰り返し受取請求書のID |
vendor_id | 仕入先のID |
sub_total | 受取請求書の小計 |
status | 受取請求書のステータス |
繰り返し受取請求書
繰り返し受取請求書マップは、次の項目をサポートしています:
キー項目 | 説明 |
---|---|
end_date | 繰り返し受取請求プロファイルの終了日 |
tax_total | 繰り返し受取請求書の合計金額 |
exchange_rate | 繰り返し受取請求書の為替レート |
custom_fields | 繰り返し受取請求書のカスタム項目 |
repeat_every | 繰り返し受取請求プロファイルの繰り返し期間 |
taxes | 繰り返し受取請求書に含む税金 |
vendor_name | 仕入先名 |
line_items | 繰り返し請求書の商品 |
payment_terms | 仕入先の支払い条件 |
currency_code | 通貨コード |
last_sent_date | 最後に送信された請求書の日付 |
total | 繰り返し請求書の合計 |
next_bill_date | 次の請求書の日付 |
recurring_bill_id | 繰り返し請求書のID |
recurrence_name | 繰り返し請求プロファイルの名前 |
vendor_id | 仕入先のID |
sub_total | 繰り返し請求書の小計 |
recurrence_frequency | 繰り返し請求プロファイルの頻度 |
payment_terms_label | 支払い期間のラベル |
status | 繰り返し請求プロファイルのステータス |
start_date | 繰り返し請求プロファイルの開始日 |
商品
商品マップは次の項目をサポートしています。
キー項目 | 説明 |
---|---|
item_id | 商品ID |
custom_fields | 商品のカスタム項目 |
item_type | 商品の種類 |
tax_name | 税金名 |
purchase_rate | 商品の購入率 |
zcrm_product_id | Zoho CRMの製品ID |
tax_id | 税金ID |
unit | 商品の単価 |
account_id | 売上の勘定 |
purchase_account_name | 購入の勘定名 |
purchase_account_id | 購入の勘定ID |
tax_type | 税金の種類 |
rate | 商品の販売単価 |
account_name | 売上の勘定名 |
name | 商品名 |
tax_percentage | 税率 |
pricebook_rate | 価格表の率 |
sku | 商品のSKU |
status | 商品のステータス |
必要なパラメーターを取得する際にこれらの項目がどのように役立つかを説明するいくつかの例は、以下のとおりです。
例1:
見積書IDを取得するには:
quoteid = quote.get("quote_id");
例2:
組織名を取得するには:
orgid = organization.get("name");
例3:
ユーザー名とZUIDを取得するには:
username = user.get("name");
zuid = user.get("zuid");
カスタム関数を作成するためのDelugeスクリプトの使用方法の詳細については、Delugeリファレンスガイドを参照してください。
カスタム関数が役立つさまざまなシナリオの詳細については、カスタム関数のシナリオページを参照してください。
カスタムスケジューラー
Zoho Booksでは、指定した時間間隔で定義済みのタスクを作成して実行するためにスケジュール機能を利用することができます。Delugeスクリプトを使ってタスクを作成し、そのタスクを特定の時間や定期的なスケジュールで実行することができます。
注意:この機能は、Zoho Booksの特定のプランでのみご利用いただけます。現在のプランで利用可能かどうかは、料金ページをご覧ください。
シナリオ
ここでは、カスタムアクションを実行するためにスケジュールを作成できるいくつかのシナリオを紹介します。ビジネス要件に基づいてカスタムスケジュールを作成することができます。
シナリオ1 : ピーターはスーパーマーケットを経営しています。その月の合計購入額が所定の金額(たとえば1,000ルピー)を超えた顧客に対して、次回購入時に10%の割引を提供しようとピーターは考えます。そこでピーターは、その内容を含む電子メールを、毎月の最終日に対象の顧客に送信するスケジュールを作成します。
シナリオ2 : ピーターは、顧客と従業員のデータベースを社内的に管理するために、サードパーティーアプリケーションを使用しています。定期的にZoho Booksから他のアプリケーションにすべてのデータを同期したいとピーターは考えます。そのために、ピーターは、毎日午後6時にデータを同期するカスタムスケジュールを作成します。
シナリオ3 : ピーターはテリトリーマネージャーに四半期ごとの売上目標を設定しています。4か月ごとに、ピーターは彼らに損益報告書を送り、目標を達成した場合のお祝いのメール、またはさらなるやる気を引き出すメールを送信する必要があります。ピーターは関数を作成し、4か月ごとに送信するようにスケジュールを設定します。
新しいスケジュールの作成
新しいカスタムスケジュールを作成するには:
- [設定]→[自動化]→[カスタムスケジューラー]→[+ 新しいカスタムスケジューラー]の順に選択してください。
- [カスタムスケジューラーの名前]を入力してください。
- スケジュールを実行する頻度と繰り返しパターンを設定します。これは毎日、毎週、毎月、または毎年です。
ヒント: 繰り返しパターンは、カスタムスケジュールが実行するタイミングを決定します。設定した頻度で実行するかどうかを選択できます。
- タスクを実行する頻度を選択します。
- 毎日:タスクは毎日実行されます(または繰り返しパターンに基づいて実行される)。週末を除外することもできます。
- 毎週:タスクは週に1回実行されます。タスクを実行する曜日を選択します。
- 毎月:タスクは月に1回実行されます。これは、特定の日または月の1日を指定できます。例えば、毎月5日や毎月第2土曜日に実行するように設定できます。
- 毎年:タスクは1年に1回実行されます。月を選択して実行日を指定するか、日を指定することができます。例えば、タスクは1月の最初の日曜日に実行することも、1月5日だけに実行するように設定できます。
- 開始日時を設定してください。
注意: スケジュールの開始日は、作成日から1年を超えることはできません。
- スケジュールの期限を選択してください。期限なし、実行数、日付によって期限が切れます。
- オプションをドラッグ&ドロップして、関数の作成に役立つDeluge関数を作成します。
ヒント: Deluge(Data Enriched Language for the Universal Grid Environment)は、Zohoサービスと連携されたオンラインのスクリプト言語です。これにより、自分自身の関数を作成してアプリケーションを必要に応じて段階的に変更し、より強力で堅牢なものにすることができます。
- [保存]または[保存して実行]をクリックして実行します。
- ヒント:カスタムスケジュールは最大10件まで作成できます。
シナリオ
シナリオ1のサンプル関数です。
organizationID = organization.get("organization_id");
name = organization.get("name");
orgEmail = organization.get("email");
salesResponse = invokeUrl
[
url: "https://books.zoho.com/api/v3/reports/salesbycustomer?organization_id=" + organizationID + "&from_date=" + toStartOfMonth(today).toString("YYYY-MM-dd") + "&to_date=" + eomonth(today,0).toString("YYYY-MM-dd")
type: GET
connection: "books_api_connection"
];
salesDetails = salesResponse.get("sales").toList();
for each sales in salesDetails
{
amount = sales.get("sales_with_tax");
if(amount > "<ENTER AMOUNT>")
{
customerName = sales.get("customer_name");
customerResponse = invokeUrl
[
url: "https://books.zoho.com/api/v3/contacts/" + sales.get("customer_id") + "?organization_id=" + organizationID
type: GET
connection: "books_api_connection"
];
customerDetails = customerResponse.get("contact"); customerEmail = customerDetails.get("email");
sendmail
[
from :zoho.adminuserid
to :customerEmail
subject :"Thank you for shopping! Here's a 10% discount!"
message :"<div>Dear " + customerName + ",<br></div><div><br></div><div>We just wanted to take a moment of our time to thank you for your continuous support.<br></div><div><br></div><div> Based on your recent purchases, we'd like to offer you a 10% off on your next purchase with
us. <br></div><div><br></div><div>Please show this email during billing to avail this
discount!<br></div><div><br></div><div>Regards,<br></div><div>" + name + "<br></div><div><br></div><div><br></div><div><br></div><div><br></div>"
]
}
}
詳細はコネクションのヘルプドキュメントをご参照ください。