The Biggest Mystery in Knack

How we found this Mystery?

  • Object “Orders” connects to Object “Customers”
  • We want to send an email to the Customer after an order is entered for this Customer
  • Cannot send an email because the emailing in a form does not allow emailing to a connected field (that contains the Customer Email in “Customers”)
  • So we thought … let’s create a copy of Customer Email in “Orders” and use a conditional rule to update it. NO, because a conditional rule does not allow the update of a connected field value.
  • WAIT! A text formula in “Orders” allows the update from a connected field value. BUT, a text field is not an email field even though it can contain an email address, and it is not allowed for sending an email in a form.
  • OK! We then use a text formula to update it from a connected field value (this text field resulted with an email address). Then create an email field in “Orders”, and update it, in a conditional rule, with the text formula field.
  • Now, we have a copy of an email address from a connect object.

Why this is a Mystery?

  • A text formula allows the update from a connected field value while a conditional rule does not allow the update from a connected field value !!
  • Can Knack be a bit more consistent in its field update operations?
  • Either text formulae, equations, or conditional rules should default to no automatic update until it is enabled. Too many scenarios prove that automatic update is not necessary, e.g. price update into an Order record from the Master Price table.

Personal Feedback

Knack is wonderful and gains our full respect. But some issues like this often drive us nuts!

Yep, had to use the Text Formula and then email field with Conditional Rule on many occasions. :+1:

This may come down to semantics, but if “Customers” is connected to “Orders” (Customer connection in the Orders object, one-to-many) instead of “Orders being connected to Customers” (order connection in Customer object), you would have access to the email address of the customer for the purpose of emailing the order when submitted.

This orders app guide is a nice reference.

1 Like

My use case is sometimes slightly different whereby the Customer object may be more than one object away and not a direct connection.
In these cases I use a Text Formula to “lookup” the email filed as text then add the email field with a conditional rule to reference the text formula.

Ideally I would have a connection to the accounts object but the requirement to send an email May not have been identified when the application was built so this is a workaround.

I don’t have an issue with this method, it works fine, just like a vlookup would in Excel. You just need to use an email field as well and pull the text into it so an email can be sent :+1:

Hi Steve,

Object “Orders” connects to Object “Customers” means that in the Object “Orders” contains a connected field to the Object “Customers”. This won’t give us the access to the email field in a connected object.