Skip to content

Email Approval Utility

  • Use Case: Any pipeline that requires a sign off before it produces or delivers some output can automate the approval request and receipt via email using a shared utility ingredient.
  • Example Ingredient: In this example, the variation uses an ingredient node prior to its final operations to call the Email_Approval ingredient. This ingredient automates sending an email to an approver then waiting for and and validating a response. The required inputs for this ingredient are the recipient's email address, email subject line, and the email text. Based on the response received, the ingredient either fails the order run or proceeds.

()

An ingredient node calls an ingredient that is pre-configured to request and validate an approval.

Ingredient Configuration

Before a user can configure an ingredient node to call this email utility, the utility, itself, must be declared as an ingredient. See Declare Ingredients for more information.

()

This variation is declared as an ingredient and requires three input variables to configure in an ingredient node.

()

Ingredient node default inputs are configured in the base recipe variable set.

Ingredient Node Configuration

With the utility ingredient pre-configured, the example variation can call it using an ingredient node.

()

This ingredient node calls the Email_Approval utility ingredient.

()

Ingredient node configuration starts with a "mapping" to the ingredient.

()

Ingredient node configuration continues with the entry of relevant input values.

File Contents

The platform records the configurations made in web app forms for the ingredient node in the node's notebook.json file.

{
    "ingredient-name": "send_and_wait_for_email_approval",
    "ingredient-recipe-name": "Utility_Email_Approval",
    "required-ingredient-variables": {
        "recipient": "{{data_approver_email}}",
        "subject": "Data Approval Request",
        "approval_text": "Reply with \\\"Approved\\\" to resume order run. Otherwise, reply anything else to stop and fail the order run."
    },
    "ingredient-required-orderrun-results": {
        "orderrun-timeout": 2100
    }
}