自動化

    Zoho Booksの自動化では、各モジュールに対していくつかのルールを定義し、適切な処理が実行されるように設定できます。たとえば、顧客が$1,000以上の商品の見積書を承認した場合、チームメンバーにお礼のメールが自動的に送信されるように設定できます。

    以下の手順に沿って、ワークフローについて学びましょう。

    • ワークフローの作成と詳細
    • ワークフローを実行するタイミングの決定
    • ワークフローの実行条件の設定
    • メール通知、特定項目の更新、Webhookなどの処理をワークフローに関連付ける
    • Webhookを使用して外部のWebサービスプロバイダーに接続する

    ワークフローのシナリオ

    新しいワークフローのルールの設定

    メール通知

    アプリ内通知

    特定項目の更新

    Webhook

    イベント

    カスタム関数

    カスタムスケジューラー

    ワークフローのルールは、メール通知、特定の項目の更新、アプリ内通知、Webhook などの処理から構成され、タスクの実行において重要な役割を果たします。ワークフローのルールでは、タスクを達成するために1つまたは複数の処理を使用できます。Zoho Booksでワークフローのルールを設定するには、[設定]→[自動化]→[ワークフローのルール]の順に移動します。

    automation1
    項目説明
    ワークフロールール名ワークフロールールに固有の名前を付けます。
    タブワークフローを作成するモジュールを選択してください。
    詳細ワークフロールールについての詳細情報を入力してください。
    automation2

    以下の項目から選択するパラメーターに基づいて、ワークフローを起動するタイミングを選択できます。

    ワークフローには2種類あります。

    • 予定基準
    • 日付基準
    automation3

    予定基準:ワークフローが予定基準の場合、対象のモジュールで以下の操作が行われた場合に起動されます。

    • 作成
    • 編集
    • 作成または編集
    • 削除

    モジュールの操作を[編集済み]/[作成済みまたは編集済み]と選択した場合、以下の追加項目が表示されます。

    automation4
    項目説明
    次の時にワークフローを実行する以下の3つのオプションから選択できます。
    - いずれかの項目が更新されたとき
    - 選択した項目のいずれかが更新されたとき
    - 選択した項目のすべてが更新されたとき
    ドロップダウンで[選択した項目のいずれかが更新されたとき]または[選択した項目のすべてが更新されたとき]を選択すると、モジュールの3つの項目を選択できる追加ボックスが表示されます。
    実行頻度一度のみ - 条件が初めて満たされるされるときにワークフローを実行します。
    毎回 - 条件が満たされるたびにワークフローを実行します。

    日付基準:ワークフローが日付基準の場合、以下の追加項目が表示されます。

    automation5
    項目説明
    実行日

    ワークフローを実行するタイミングを設定します。モジュールの日付、有効期限、作成日時などをドロップダウンから選択し、その前または後の日数を指定できます。

    automation6
    実行時間[hh]と[mm]を選択することで、正確な実行時間を指定できます。
    実行頻度

    ワークフローを実行する頻度として、ドロップダウンから[一度のみ]、[毎週]、[毎月]、[年間]を選択できます。

    automation7

    実行条件のフィルターでは、処理を実行するための条件を1つ以上設定できます。

    automation8
    項目説明
    条件

    設定した条件に基づいて、フィルターが適用されます。[+ 条件の追加]をクリックすることで、ワークフロールールが実行される複数の条件を追加できます。

    automation9

    次の条件は、両方の条件を含めるかどちらかの条件を含めるかに応じて、ANDまたはORになります。また、[条件を変更する]を選択すると、条件のパターンを自由に変更できます。

    属性の項目

    この項目では、モジュールに関連する用語を広くカバーするリストこの項目では、モジュールに関連する用語を広くカバーするリスト

    automation10
    ルール

    システムが実行条件をフィルタリングする際の基準となるルールを選択します。 項目に英数字の値が含まれる場合、ルールは次のようになります。

    automation11

    項目が数値だけの場合、ルールは次のようになります。

    automation12
    値の項目フィルターを適用する属性の値を入力します。

    条件の編集:

    要件に合わせて条件パターンを編集することができます。編集では、論理演算子の「AND」「OR」を使用して、自分の選択したパターンを定義できます。

    automation13

    たとえば、[見積書番号]が「1」であり、[見積書のステータス]が「未請求」かつ[総額]が「500」と等しい場合にワークフロールールを実行する場合、パターンは「(((1)AND 2) OR 3)」になります。条件パターンが要件に合わないと感じた場合は、「(1AND (2 OR 3))」のように編集することができます。

    automation14

    [保存]をクリックしてください。

    メモ:各ワークフロールールごとに、最大10件の条件を設定できます。

    ルールを設定した後、条件が満たされたときに実行する処理を指定する必要があります。ビジネスニーズに応じて、すぐに実行する処理や時間基準の処理を設定できます。

    automation15

    すぐに実行する処理

    項目説明
    種類3種類の処理から1つを選択します、
    - メール通知
    - 特定の項目の更新
    - Webhook
    [+ 新しい処理の追加]をクリックして、複数の処理を追加することもできます。
    名前

    この項目には、メール通知、特定の項目の更新、またはWebhookの名前

    automation16

    たとえば、メール通知の場合、すでに作成したリストから選ぶか、[+ 新しいメール通知の追加]を選択して新しいメール通知を追加することができます。

    特定の項目の更新やWebhookの場合も同じ手順に従ってください。

    詳細実行する処理の詳細が表示されます。

    すぐに実行する処理

    特定の時間に処理したい場合、[時間基準の処理を追加しますか?]のチェックボックスにチェックを入れてください。これにより、対象の時間を入力するための追加項目が表示されます。

    automation17
    項目説明
    実行時間以下のようにリストされる基準日を選択して、その前後の日数を入力してください。
    - ルールの実行日
    - 請求日
    - 有効期限
    - 作成日時
    - 更新日時

    次は、処理の種類を選択します。メール通知、特定の項目の更新、Webhookのいずれ かを選択できます。また、[+ 新しい時間基準の処理の追加]を選択することで、複数 の時間基準の処理を追加することができます。

    メモ:最大5件の時間基準の処理を追加できます。また、時間基準の処理ごとに、最大5件の処理が設定可能です。

    最後に、[保存]をクリックすると、ワークフロールールが作成され、Zoho Booksのモジュールに実装されます。

    ワークフロールールを有効/無効に設定することもできます。ワークフロールールを削除するには、ワークフローの横にあるごみ箱アイコンをクリックしてください。

    automation18

    ワークフロールールの編集:

    ワークフロールールを編集するには、リストからワークフロールールをクリックするか、ワークフロールールにカーソルを合わせて[編集]を選択してください。

    automation19

    ワークフロールールのフィルタリング:

    ワークフロールールをフィルタリングするには、以下の手順に従ってください。

    • [自動化]→[ワークフローのルール]の順に移動してください。
    • [タブ]の横にあるドロップダウンからいずれかを選択し、ワークフローをモジュールに基づいてフィルタリングします。

    ワークフロールールは、有効/無効に基づいてフィルタリングすることもできます。選択内容に沿って、対応するワークフロールールがリストとして表示されます。

    automation20

    メモ:

    • 各モジュールに対して、最大10件のワークフロールールを作成できます。
    • Zoho Booksにインポートされた請求書には、ワークフロールールを適用することはできません。

    以下の手順では、Zoho Booksの任意のモジュールからメール通知を設定する方法を説明します。

    automation21

    新しいメール通知を作成する手順:

    メール通知を設定するには、[設定]→[自動化]→[メール通知]の順に移動して[+ 新しいメール通知]ボタンをクリックしてください。

    項目説明
    名前メール通知の固有の名前を入力してください。
    タブメール通知を作成するモジュールを選択してください。
    メールテンプレート

    ドロップダウンからテンプレートを選択するか、新しいメールテ ンプレートを作成する場合は[+ 新しいメールテンプレートの追 加]をクリックします。

    automation22
    メールの受信者メール通知を送信する受信者をドロップダウンから選択します。
    追加の受信者より多くの人に通知メールを送信したい場合は、メールアドレスを入力してください。最大10人まで追加できます。

    [保存]をクリックして、新しいメール通知を作成します。これで、ワークフローが実行された際に通知を受けるために、作成されたメール通知をドロップダウンから選択できるようになります。

    その他の操作

    メール通知の削除:

    メール通知を削除する場合は、メール通知リストの横にカーソルを合わせて、ごみ箱アイコンをクリックします。

    automation23

    メール通知のフィルタリング:

    メール通知をフィルタリングするには、以下の手順に従ってください。

    • 自動化]→[メール通知]の順に移動します。
    • タブ]の横にあるドロップダウンから、メール通知が作成されたモジュールを選択してください。

    選択に基づいて、対応するメール通知がリストとして表示されます。

    automation24

    メモ:

    • 各ワークフロールールに対して、最大5件のメール通知を作成できます。
    • 1日につき最大500件のメール通知を実行できます。

    Zoho Booksでは、組織内で行われたイベントや重要な活動について、ユーザーにアプリ内通知を作成して知らせることができます。これはすべてのモジュールに対して設定することができ、通知を実行するタイミングも選ぶことができます。

    シナリオ : 営業チームが10万円の売り上げを達成しました。しかし、組織の管理者やユーザー全員がその売り上げに気付いていない可能性があります。そこで、アプリ内通知システムが導入され、重要な売り上げについては誰もが通知されるようになっています。売り上げ取引が完了すると、システムは請求書の合計金額を自動的に評価します。この場合、合計金額は10万円です。組織は事前に定義された平均売上高(例えば50,000円)を持っています。システムは請求書の合計金額と組織の平均売上高を比較します。合計金額(10万円)が平均売上高(50,000円)を超えているため、アプリ内通知をトリガーする条件が満たされます。結果として、システムは組織の平均売上高を超える合計金額を持つ請求書に対してアプリ内通知を生成します。この通知は、管理者を含む組織のすべてのユーザーに送信され、重要な売り上げが行われたことを知らせる役割を果たします。

    同様に、組織のアプリ内通知を実行するワークフロールールを設定することができます。

    • [設定]→[自動化]→[ワークフローのルール]→[+ 新しいワークフローのルール]の順に選択します。
    • [ワークフロールール名]と[タブ]を入力して、新しいワークフロールールを作成します。
    • 実行条件を選択します。予定基準または日付基準を選択してください。
    • ワークフローの実行条件のフィルターを設定し、[次へ]ボタンを選択してください。
    • 処理の種類をアプリ内通知として選択し、次のタブで[+ 新しいアプリ内通知]をクリックして新しいアプリ内通知を作成してください。
    • [時間基準の処理を追加しますか?]オプションを有効にし、処理を実行するタイミングを選択します。
    • 条件を設定し、[保存]をクリックします。
    automation25
    automation26
    automation27

    設定後、対象の操作が行われると、選択した受信者にベルアイコンで通知されます。クリックすると詳細が表示されます。

    automation28

    特定項目の更新の機能を利用すると、ワークフローが実行される特定のモジュールの項目を自動的に変更することができます。たとえば、合計金額が$500以上の場合に、見積書の有効期限を自動的に2015年6月30日まで延長することができます。この例では、[総計]の項目が「“>=“500」となっている場合に、[有効期限]の項目が上記の日付(2015年6月30日)に変更されます。

    特定項目の更新を設定するには、[設定]→[自動化]→[特定項目の更新]に移動し、[+ 新しい特定項目の更新の設定]をクリックしてください。

    automation29
    項目説明
    名前特定項目の更新の固有の名前を入力してください。
    タブ特定項目の更新を作成するモジュールを選択してください。
    更新

    ワークフローを実行する際に変更する項目をドロップダウンから選択します。
    参考番号
    有効期限
    営業担当者
    メモ
    支払い条件
    照合の詳細
    対応するボックスに項目の値を入力します。空の値で項目を更新したい場合は、[空の値で更新しますか]ボックスをチェックします。

    automation30

    [保存]をクリックして、新しい特定項目の更新を作成します。これで、ワークフローが実行される際に変更を実装する処理として、作成された特定項目の更新を選択できるようになります。

    その他の操作

    特定項目の更新の削除

    特定項目の更新を削除するには、リストされている特定項目の更新の横にカーソルを置いて、ごみ箱アイコンをクリックします。

    automation31

    特定項目の更新のフィルタリング

    特定項目の更新をフィルタリングするには、以下の手順に従ってください。

    • [設定]→[自動化]→[特定項目の更新]の順に移動してください。
    • [タブ]のフィルター下で、特定項目の更新が作成されたモジュールをドロップダウンから選択してください。

    選択に基づいて、対応する特定項目の更新がリストとして表示されます。

    automation32

    メモ:各ワークフロールールに対して、最大3件の特定項目の更新を作成できます。

    Webhookは、Zoho Books内でイベントが発生するたびに即時のウェブ通知を送ることで、サードパーティアプリケーションとのコミュニケーションを容易にします。Webhookを使用すると、HTTPおよびHTTPSのURLを設定し、ワークフロールールと関連付けて通知プロセスを自動化することができます。Webhookの使用方法やタイミングについては、当社のWebhookの使用例に関するヘルプドキュメントを参照してください。

    Webhookに関する一般的な情報は、webhooks.orgをご覧ください。

    Webhookを設定するには:

    • [設定]→[自動化]の順に選択してください。
    • [自動化]ペインで[Webhook]を選択してください。
    • 右上の[+ 新しいWebhook]をクリックしてください。
    automation33
    • 新しいWebhookページで、以下の詳細を入力してください。
      • [名前]項目にWebhookの名前を入力します。
      • [タブ]項目の隣にあるドロップダウンから、Webhookを作成するモジュールを選択します。
      • 必要に応じて、[詳細]項目にWebhookに関する詳細を追加します。
    automation34
    • [URLのパラメーター]項目でHTTPメソッドを選択し、サードパーティーアプリケーションのURLを入力します。Zoho Booksで利用可能なHTTPメソッドは以下のとおりです。
      • POST:送信されたデータを新しいものとして考慮する必要があるというリクエスト
      • PUT:送信されたデータを、既存のデータの修正バージョンとして考慮するようにリクエストします。
      • DELETE:データを削除する必要があることをリクエストします。

    [+ 新しいパラメーターを追加する]をクリックし、[キー]と[Value]項目に必要 な値を入力することで、クエリパラメーターを追加することもできます。認証トーク ン、セキュリティトークン、APIキーなどのカスタムパラメーターを追加できます。 Webhookを保護したい場合は、[このWebhookを保護したいです]オプションを チェックします。[シークレット]項目にシークレットキーを入力します。これは、 WebhookがZoho Booksから送信されたかどうかを確認するのに役立ちます。半角英数 字で、12~50文字の範囲で入力してください。

    automation35

    メモ: 一度入力したシークレットトークンを後で編集または表示することはできません。

    automation36

    メモ: シークレットトークンはハッシュ値を計算するために使用されるので、同じようなハッシュ値を計算するために同じトークンがサーバー上で利用可能であることを確認する必要があります。

    • [ヘッダー]セクションでは、HTTPリクエストに追加したい情報を含めることができます。ヘッダーを追加する場合は、[+ 新しいヘッダーを追加する]をクリックします。
    automation37
    • [認証の種類]セクションで、Webhookの認証方法を選択します。
      • 自己認証:このオプションを選択すると、認証の詳細を手動で入力してWebhookを設定できます。
      • コネクション:コネクションを使用してWebhookを設定するには、このオプションを選択します。コネクションの作成方法について、詳細はこちらをご参照ください。
    automation38
    • [本文]セクションで、データの送信方法を選択します。[初期設定のデータの内容]、[x-www-form-urlencloded]、[生データ]パラメーターから選択できます。
      • 初期設定のデータの内容:[初期設定のデータの内容]形式では、モジュールに関連するすべてのパラメーターがapplication/json形式のコンテンツタイプでリクエストボディに送信されます。
      • x-www-form-urlencoded:[x-www-urlencoded]形式では、データはエンコードされてサーバーに送信されます。
      • 生データ:[生データ]形式では、リクエストボディに送信するパラメーターを選択できます。コンテンツタイプはapplication/jsonになります。
    automation39
    • 保存して実行]をクリックしてWebhookが正しく動作することを確認するか、後で実行する場合は[保存]をクリックします。

    メモ: Webhookを設定すると、Zoho Books組織内のすべての連絡先の詳細(名前、電話番号、住所、メールアドレス)が、通知するURLと共有されます。

    Webhookを保護することにより、Zoho Booksから送信されたWebhookであることを確 認できます。この操作を行うには、サーバーを設定してZoho BooksからのWebhookを 受信する必要があります。サーバーは受信したWebhookのペイロードとシークレット トークンを使用してハッシュ値を生成する必要があります。生成されたハッシュ値を使 用して、Zoho Booksからのハッシュ値と一致するかどうかを検証し、Webhookの送信 元を検証します。これにより、サーバーはZoho Booksを送信元とするサードパー ティーの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ゲートウェイを通じてメッセージ通知を送受信するためにWebhookを設定することができます。URLを使ってSMSゲートウェイを設定し、以下の手順に従ってください。

    Bulk SMS

    Bulk SMSは人気のSMSゲートウェイで、世界中の800以上のモバイルネットワークプロバイダーと互換性があります。

    Bulk SMSのURLを設定するには:

    • 右上の歯車(設定)アイコンをクリックし、[自動化]を選択します。
    • [Webhook]タブに移動し、[+ 新しいWebhook]をクリックします。
    • 上記のURLを通知先のURL項目にコピーします。
    • URLの%username%と%password%の差出人をBulk SMSアカウントのユーザー名とパスワードに置き換えます。
    • URLの最後の「message=」の後にメッセージを入力します。
    • メッセージ内容のすべての空白を%20に、すべてのカンマを%2Cに置き換えてください。
    automation40

    メモ: メッセージの内容に他の句読点がある場合は、このウェブサイトから修飾子で置き換える方法を確認できます。ただし、メッセージの構文に不可欠な句読点を置き換えないようにしてください。

    空白に%20を、カンマに%2Cを使ってメッセージを書式設定すると、次のようになります。

    同様に、他のSMSゲートウェイも、URLを変更するだけで設定できます。

    SMS-Magic

    SMS-MagicのようなSMSゲートウェイは、Webを設定するために追加のエンティティパラメーターを入力する必要があります。

    SMS-Magicを設定するには:

    • 通知先のURL項目にURL「https://sms-magic.in/smapi/post」を入力します。
    • [エンティティパラメーターの追加]をクリックします。
    • パラメーター項目に次のテキストを入力します。
    automation41
    <?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を設定するには:

    automation42
    • 通知先のURL項目にURL「http://api.textlocal.in/send/」を入力します。
    • [カスタムパラメーターを追加]をクリックします。
    • 送信者とapikeyパラメータを追加し、URLの差し込み項目をText Localの関連情報に置き換えます。
    • [エンティティパラメーターを追加]をクリックします。
    • パラメーターに名前を付け、ドロップダウンメニューから必要な条件を選択します。例:numbers = ${CONTACT.CONTACT_MOBILE_PHONE}。
    • [ユーザー定義パラメーターの追加]ボックスを選択し、送信するメッセージと必要な差し込み項目を入力します。
    • [保存]をクリックします。

    Webhookの削除

    Webhookを削除するには:

    • 設定]→[自動化]の順に移動してください。
    • 自動化]ペインで[Webhook]を選択します。
    • 削除するWebhookにカーソルを合わせ、ごみ箱アイコンをクリックします。
    automation43
    • 表示されるポップアップで[はい]をクリックします。

    Webhookが削除されます。ワークフロールールでWebhookを使用している場合、ワークフロールールが実行されないように、必ずワークフロールールを更新してください。

    Webhookのフィルタリング

    Webhookをフィルタリングするには、以下の手順に従ってください。

    • [設定]→[自動化]→[Webhook]の順に移動してください。
    • [タブ]の横にあるドロップダウンから、Webhookが作成されたモジュールを選択します。
    • 選択に基づいて、対応するWebhookがリストとして表示されます。
    automation44

    メモ:

    • 各ワークフロールールに対して、1件のWebhookのみを作成できます。
    • 1日につき最大500件のWebhookを実行できます。

    Zoho Booksのイベントセクションを利用すると、Webhookのステータスを再送信または確認することができます。

    Webhookのステータスを確認するには:

    • フィルターを使用して、Webhookをステータスに基づいて並べ替えます。

    Webhookを再送信するには:

    • イベント]タブに移動して、再送信するWebhookのイベントをクリックしま
    • 再送信]をクリックして、Webhookを再送信します。
    automation44

    Zoho Booksのカスタム関数を使用すると、顧客の請求書に特別な割引を適用したり、支払期限を過ぎた請求書に延滞料を追加したりするような場合に、Delugeスクリプトを使用してコードを記述し、それをワークフロールールにリンクするだけで、プロセスの自動化が実現できます。

    Delugeとは

    Deluge(Data Enriched Language for the Universal Grid Environment)は、Zoho Creatorに連携されたオンラインスクリプト言語です。これにより、ユーザーはアプリケーションに段階的にロジックを追加し、信頼性の高いものにすることができます。
    Delugeに関する詳細情報は、Delugeリファレンスガイドをご参照ください。
    Delugeの学習のためにコードサンプルを書きたい場合は、こちらをクリックしてください。

    カスタム関数の作成と実行

    カスタム関数を設定するには:

    • 設定]→[自動化]→[カスタム関数]の順に移動し、[+ 新しいカスタム関数]をクリックします。
    automation45
    • カスタム関数の名前と説明を入力してください。
    • カスタム関数を作成するモジュールを選択してください。
    • 次に、スクリプトボックスの左側に記載されているパラメーターを入力またはドラッグします。
    • 対象のパラメーターを選択し、カスタム関数の条件を設定します。
    automation46
    • 完了したら、[保存]をクリックして変更を有効にします。
    • 次に、新しく作成したカスタム関数を使用してワークフロールールを作成します。
    • 自動化]→[ ワークフロールール]の順に移動してください。
    • 新しいワークフローを作成し、実行条件を設定してください。
    • 次に、[ アクション]タブで[カスタム関数]を選択し、新しく作成したカスタム関数を選択します。
    • [保存]をクリックします。

    初期設定の項目

    カスタム関数は、現時点で、ユーザー、組織、見積書、請求書、販売注文、購入注文、顧客、繰り返し請求、経費、請求書、商品モジュールをサポートしています。

    これらのモジュールから、カスタム関数に関連する必要なパラメーターを取得するために以下の項目が利用できます。

    ユーザー

    ユーザー項目は、次のパラメーターをサポートしています。

    キー項目説明
    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
    emailメールアドレス
    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_idZoho 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_nameZoho 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_idZoho CRM担当者ID
    currency_id通貨ID
    statusステータス

    顧客

    顧客マップは次の項目をサポートしています。

    キー項目説明
    owner_id所有者ID
    billing_address顧客に関連する請求先住所
    source顧客ソース
    contact_id連絡先ID
    payment_terms顧客に関連する支払い条件
    currency_code通貨コード
    language_code言語コード
    contact_type連絡先の種類
    twitterTwitter情報
    zcrm_contact_idZoho CRMの連絡先
    shipping_address顧客に関連付けられた納品先住所
    pricebook_id関連付けられている価格表のID
    contact_name連絡先名
    website連絡先のウェブサイト
    owner_name所有者の名前
    currency_symbol通貨記号
    zcrm_account_idZoho CRMアカウントID
    custom_fields顧客に関連つけられたカスタム項目
    facebookFacebook情報
    pricebook_name価格表の名前
    primary_contact_id主な連絡先のID
    company_name会社名
    contact_salutationコンタクトの呼び方
    crm_owner_idCRM所有者の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_idZoho 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か月ごとに送信するようにスケジュールを設定します。

    新しいスケジュールの作成

    新しいカスタムスケジュールを作成するには:

    • [設定]→[自動化]→[カスタムスケジューラー]→[+ 新しいカスタムスケジューラー]の順に選択してください。
    automation47
    • [カスタムスケジューラーの名前]を入力してください。
    • スケジュールを実行する頻度と繰り返しパターンを設定します。これは毎日、毎週、毎月、または毎年です。

    ヒント: 繰り返しパターンは、カスタムスケジュールが実行するタイミングを決定します。設定した頻度で実行するかどうかを選択できます。

    • タスクを実行する頻度を選択します。
      • 毎日:タスクは毎日実行されます(または繰り返しパターンに基づいて実行される)。週末を除外することもできます。
    automation48
    • 毎週:タスクは週に1回実行されます。タスクを実行する曜日を選択します。
    automation49
    • 毎月:タスクは月に1回実行されます。これは、特定の日または月の1日を指定できます。例えば、毎月5日や毎月第2土曜日に実行するように設定できます。
    automation50
    • 毎年:タスクは1年に1回実行されます。月を選択して実行日を指定するか、日を指定することができます。例えば、タスクは1月の最初の日曜日に実行することも、1月5日だけに実行するように設定できます。
    automation51
    • 開始日時を設定してください。

    注意: スケジュールの開始日は、作成日から1年を超えることはできません。

    • スケジュールの期限を選択してください。期限なし、実行数、日付によって期限が切れます。
    automation52
    • オプションをドラッグ&ドロップして、関数の作成に役立つDeluge関数を作成します。

    ヒント: Deluge(Data Enriched Language for the Universal Grid Environment)は、Zohoサービスと連携されたオンラインのスクリプト言語です。これにより、自分自身の関数を作成してアプリケーションを必要に応じて段階的に変更し、より強力で堅牢なものにすることができます。

    • 保存]または[保存して実行]をクリックして実行します。
    automation53
    • ヒント:カスタムスケジュールは最大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&nbsp;" + 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.&nbsp;<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>"
    ]
    }
    }

    詳細はコネクションのヘルプドキュメントをご参照ください。