The email_create() function produces an email message object that could be sent using the blastula package. The x that we need for this could either be a pointblank agent, the agent x-list (produced from the agent with the get_agent_x_list() function), or a pointblank informant. In all cases, the email message will appear in the Viewer and a blastula email_message object will be returned.

  msg_header = NULL,
  msg_body = stock_msg_body(),
  msg_footer = stock_msg_footer()



A pointblank agent, an agent x-list, or a pointblank informant. The x-list object can be created with the get_agent_x_list() function. It is recommended that the option i = NULL be used with get_agent_x_list() if supplying an x-list as x. Furthermore, The option generate_report = TRUE could be used with create_agent() so that the agent report is available within the email.

msg_header, msg_body, msg_footer

Content for the header, body, and footer components of the HTML email message.


A blastula email_message object.

Function ID


See also


if (interactive()) {

# Create an `action_levels()` list
# with absolute values for the
# `warn`, and `notify` states (with
# thresholds of 1 and 2 'fail' units)
al <- 
    warn_at = 1,
    notify_at = 2

# In a workflow that involves an
# `agent` object, we can make use of
# the `end_fns` argument and
# programmatically email the report
# with the `email_blast()` function,
# however, an alternate workflow is to
# produce the email object and choose
# to send outside of the pointblank API;
# the `email_create()` function lets
# us do this with an `agent` object
email_object_1 <-
    read_fn = ~ small_table,
    tbl_name = "small_table",
    label = "An example.",
    actions = al
  ) %>%
  col_vals_gt(vars(a), value = 1) %>%
  col_vals_lt(vars(a), value = 7) %>%
  interrogate() %>%

# We can view the HTML email just
# by printing `email_object`; it
# should appear in the Viewer

# The `email_create()` function can
# also be used on an agent x-list to
# get the same email message object
email_object_2 <-
    read_fn = ~ small_table,
    tbl_name = "small_table",
    label = "An example.",
    actions = al
  ) %>%
  col_vals_gt(vars(a), value = 5) %>%
  col_vals_lt(vars(b), value = 5) %>%
  interrogate() %>%
  get_agent_x_list() %>%

# An information report that's
# produced by the informant can
# made into an email message object;
# let's create an informant and use
# `email_create()`
email_object_3 <-
    read_fn = ~ small_table,
    tbl_name = "small_table",
    label = "An example."
  ) %>%
    info = "A simple table in the
    *Examples* section of the function
    called `email_create()`."
  ) %>%
    columns = vars(a),
    info = "Numbers. On the high side."
  ) %>%
    columns = vars(b),
    info = "Lower numbers. Zeroes, even."
  ) %>%
  incorporate() %>%