You can learn more about sending email, using templates, and using expressions with workflow in the Workflow: Sending Email section.
Here is advice for resolving the most common workflow email problems.
Why isn't my Workflow rule or Report working?
If you are having a workflow problem, always start by checking Audit History.
Do this as follows:
Open your application in the AppSheet Editor.
Go to the Manage>Monitor tab and click "Audit History". Click the "Launch log analyzer" button.
Look for audit records with an "Action" value of "Change workflow rule" or "Scheduled report".
You may need to wait for up to five minutes for the audit record to appear. We group audit records and periodically write the grouped audit records to reduce overhead. This can result in a delay before an audit record appears in the audit history. You may need to wait a short while and then click "Get audit history records" again to see the audit record.
Click the "Details" icon to see the outcome of the workflow rule.
If the workflow rule did not fire, the Details give the reason for this.
If you see "Result": "Success" at the end of the audit record, then AppSheet successfully fired the action in the workflow rule.
Can the system automatically alert me if a Workflow or Report fails?
You can subscribe to automatically receive an email alert each time an error is recorded in Audit History. This will alert you if a Workflow or Report fails.
Topic Automatic Alert on Audit History Errors explains how to enable automatic alerts.
Why didn't my Email arrive?
Successfully sending a workflow email message from the AppSheet server does not mean that the email message was received by the recipient.
You can determine if the email was delivered to the user's email server as described in topic Determining Whether Email Was Delivered below
If the email was delivered but the recipient cannot find it, ask the recipient to check their "spam" email folder. The email may have been redirected to the "spam" email folder by the recipient's email filter.
The email may be undelivered for a number of reasons.
It may have been blocked by the email service because the attachment was too large.
The customer's email server may be blocking or bouncing email messages to that recipient.
Most email servers have policies to block spam email and to block large volumes of email from a single source. These policies may reject valid system generated emails and prevent the email from being delivered. This happens frequently.
Determining Whether Email Was Delivered
You can check Audit History to see if the email was delivered.
AppSheet delivers workflow email using the Mandrill email web service. Each time a workflow rules sends an email via Mandrill, Mandrill assigns a unique Mandrill Email Id to that email. We store the Mandrill Email Id in the email Workflow action Audit History record. It may take a few minutes before the Mandrill Email Id appears in Audit History. Mandrill only returns this information after it attempts to deliver the email.
To check the Mandrill email deliver status
Find the email Workflow action Audit History record for the workflow rule.
Click the binoculars icon on the right to display the "Audit Log Details" dialog for the Workflow action record.
Click the Email Details heading on the top right. This calls Mandrill to retrieve the email delivery status.
The following information will be displayed:
Subject: The email subject.
Email Status: The status returned by Mandrill.
Send Time: The email sent time in UTC.
Recipient: The email recipient
Sender: The email sender, that is, "email@example.com".
Number of Opens:
Why are Emails only sent to the App Creator
While the app is in test mode (i.e. it has not passed a Deployment Check), any emails sent from workflow actions will go only to the app creator. This ensures that you do not inadvertently send email messages, send SMS messages, send notifications, or post HTTP messages while debugging your workflow rules.
Why is the parent record displayed but the child records are missing?
When you add a parent record along with one or more children records, we first add the parent record, and we then add each of the child records. If your workflow rule is triggered when the parent record is added, the workflow rule will not display the child records because they have not yet been added when the workflow rule runs.
Topic Sending Email After Adding a Parent Record and All of Its Children explains how to deal with this.
Why isn't my Report running on the schedule I specified?
Always start by checking the Audit History as described in topic Why isn't my Workflow rule or Report working? above.
Your Report will only be automatically run on the schedule you specify once your application has been deployed and you are on a paid pricing plan.
If you application is not deployed or you are not enrolled in a paid pricing plan, your Report will not be run on the schedule you specify. However, you can invoke your Report by clicking the Run button on the Behavior > Reports pane.
Why isn't the Workflow "Test" button working?
If clicking the "Test" button on the Behavior > Workflow pane does not invoke your workflow rule for testing, make certain that your browser is not blocking pop windows.
For the Google Chrome browser:
Click the Customize and control Google Chrome button on the top right of the browser's toolbar.
Select Settings from the dropdown.
Expand Advanced settings at the bottom of the page
Under Privacy and security, click the arrow following Content settings.
Click the arrow following Pop-ups and redirects.
Why is there a large gap between the pre-header and the email body text?
If there is a large gap between the pre-header and the email body text, try the following:
Make all page margins equal to 0.
Make document “A4” in Page Setup.
Why is the email attachment formatted incorrectly?
In your workflow rules, you can define parameterized Google Doc templates that will be converted to PDF files, and sent as attachments with the workflow email. Occasionally, these attachments are not formatted identically to the original document template. To troubleshoot such problems, it is important to understand the three steps followed by AppSheet in processing these attachment templates:
We export the Google Doc template to HTML
We modify the HTML by replacing all placeholders in the HTML template with data values.
We convert the HTML to PDF.
Formatting inconsistencies can be introduced at step 1 or step 3 because neither step maintains complete document fidelity. Most commonly, the problems happen at Step 1 and can be fixed by you.
Export the Google Doc template to PDF and open the exported PDF file. Tweak the formatting options in the Google Doc template until it exports to PDF in the way you want.
Export the Google Doc template to HTML and open the exported HTML file in a browser. Tweak the formatting options in the Google Doc template until it exports to HTML in the way you want.
Why are the images in PDF attachments too large or too small?
You can control the size of images shown in the workflow email body or attachments. By default, columns/expressions of type Image are shown larger than columns/expressions of type Thumbnails. You can specify a Format Rule (in the UX>Format Rules section of the app editor) to further control the size of images in your workflow email content. In the format rule, you get to choose the table, one or more columns, an optional condition, and the image size (Tiny, Small, Medium, Large).
How can I control when and how maps are shown in my attachment PDF?
You can control how geographic column values (Addresses and LatLongs) are shown in the workflow email body or attachments. By default, columns/expressions of type LatLong are shown as static maps with a pin, while columns/expressions of type Address are shown as text. You can specify a Format Rule (in the UX>Format Rules section of the app editor) to further control the size of static maps in your workflow email content. In the format rule, you get to choose the table, one or more columns, an optional condition, and the image size (Tiny, Small, Medium, Large, or Text). Choosing 'Text' results in the textual representation of the value being shown in the attachment.
Why is the error "Request cancelled: took too long to process" occurring?
AppSheet has a mechanism to prevent runaway applications from consuming too much time and impeding other applications that are running at the same time.
When we begin an Add, Update, or Delete request, we start a timer that runs for 2 minutes. We expect the request to finish within that 2 minute time limit. This includes the time to perform the Add, Update, of Delete as well as the time to perform any workflow rule triggered by that Add, Update, or Delete.
We check the time limit when:
Computing Virtual Columns
Applying Security Filters
This can occur when we are evaluating an expression that requires reading a table and applying a Security Filter to it.
Fetching Values from a Table
This can occur when you have Virtual Columns that contain expressions that refer to other tables. We must read those tables, apply the Security Filters for those tables, and compute the Virtual Column values for those tables.
You may exceed these time limits if:
You have lots of Virtual Columns having AppFormulas that are expensive to evaluate.
You have Virtual Columns having AppFormulas that require reading other tables. When evaluating these AppFormulas, we must read those other tables, apply Security Filters for those tables, and compute the value of the Virtual Columns for those tables.
You have workflow rules that are expensive to perform. Workflow rules having complex Body or Attachment templates can be expensive. They may include Start expressions that require reading other tables, applying Security Filters for those tables, and computing the values of the Virtual Columns for those tables.