注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
この例では、契約のステータスが Requires review
に変更されたときに契約所有者に通知を送りたいと考えています。ここでは、この例のために作成したカスタムオブジェクトタイプである Contract
オブジェクトタイプを使用します。
オートメーション作成ウィザードで、まず Object added to set
条件を追加します。契約のステータスが Requires review
に変わるたびに通知を受け取りたいので、選択したオブジェクトセットに contract status
に対するフィルターを追加できます。このオートメーションは、新しいオブジェクトが Requires review
のステータスで作成された場合や、既存のオブジェクトがステータスを Requires review
に変更した場合など、オブジェクトがフィルター処理されたオブジェクトセットに入ったときに常にトリガーされます。
実行モードとしては、Per-Object execution を選択します。これは、オートメーションをトリガーするオブジェクトごとにエフェクトが実行されることを意味します。したがって、契約所有者は、契約が変更されるたびにメールを受け取ります。
次に、関連する契約所有者に通知を設定します。契約所有者は、Contract
オブジェクトのプロパティで、関連する所有者の Foundry ユーザーIDの配列(1234a567-8bc9-12ab-3456-7ca89b1c234a
のような)を含みます。
まず、オートメーションに通知エフェクトを追加します。それぞれの契約所有者に動的にメールを送るために、Object-property-backed 受信者機能を使用し、ユーザープロパティとして Contract Owners
プロパティを選択します。すべての受信者がオートメーションに対して少なくとも Viewer 権限を持っていなければ、通知を受け取ることはできないことに注意してください。
次に、通知内容を定義する必要があります。受信者のためのより複雑な通知を設定するために、function-generated notification content 機能を使用します。Function-generated notifications は、通知内容の構造化方法についてより柔軟性を提供し、HTML 内容 (<html>
) の使用をサポートします。
この function-generated 通知をサポートするために、受信者と契約オブジェクトを入力として受け取り、通知を返すコードリポジトリ内に function を作成します。
Copied!1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
import { Function, Notification, User, ShortNotification, EmailNotificationContent } from "@foundry/functions-api"; import { _automateExampleContract } from "@foundry/ontology-api"; @Function() public createContractStatusChangeNotification(user: User, contract: _automateExampleContract): Notification | undefined { const shortNotification = ShortNotification.builder() .heading("契約の変更") // Contract change .content(`契約 "${contract.title}" はステータスが ${contract.contractStatus} に変更されました`) // The contract "${contract.title}" changed its status to ${contract.contractStatus} .addObjectLink("契約を見る", contract) // View contract .build(); // Define the email body. The email body may contain headless HTML, such as tables of data // Note that we can access properties of both the user and the contract in the content // メール本文を定義します。メール本文には、データの表などのヘッドレスHTMLが含まれる場合があります // ユーザーと契約の両方のプロパティにアクセスできることに注意してください const emailBody = `こんにちは、${user.firstName}! あなたが所有している契約 "${contract.title}" はステータスが "${contract.contractStatus}" に変更されました。 契約の詳細を確認してください。さらに顧客情報は<a href="${contract.customerUrl}">こちら</a>からご覧いただけます。 // Check the contract details. View more customer information <a href="${contract.customerUrl}">here</a>. `; const emailNotificationContent = EmailNotificationContent.builder() .subject(`契約の変更 - ${contract.customerName}`) // Contract change - ${contract.customerName} .body(emailBody) .addObjectLink("契約を見る", contract) // View contract .build(); return Notification.builder() .shortNotification(shortNotification) .emailNotificationContent(emailNotificationContent) .build(); }
機能を公開した後、オートメーション作成ウィザードで機能を選択し、機能をエフェクト入力に接続できます。ユーザー
プロパティには、通知の Recipient
を選択します。contract
には、オブジェクトセット条件によって条件エフェクト入力として公開されている New Contract added
を選択します。
契約オーナーがオートメーションのステータス通知を受信しないようにするには、オートメーション作成ウィザードの 設定 タブで オートメーション管理者 設定にオートメーション管理者グループを追加できます。
プロセスを完了するために、オートメーションに名前を付け、保存場所を選択し、有効期限を「期限なし」に設定し、オートメーションを保存します。