Main»Merge Anything

Merge Anything

fmSpark contains Merge Anything™ technology.

What does this mean?

fmSpark can include merge content from any related piece of data on the relationship graph. Any tables which are related (to the recipient) and any field in those tables (if security allows) are available for merge within fmSpark. fmSpark uses familiar double-chevrons to indicate a merge value: <<CONTACTS::First Name>>. If the Contact has a related family member which you can represent on the graph, you can refer to that family member directly: <<Father::First Name>>.

A simple example of a relationship graph is shown to the right. Any field value in any of the table occurrences listed to the right is available for merge from the context of the Email, Letter or Label.

A small caveat is that if you attempt to merge a container field, it will give you the text equivalent (usually the file name of the object).

Furthermore, fmSpark extends the power of the FileMaker calculation engine to the merge functionality. Simple things like <<1+1>> will work (returning '2'). However, it's possible to create dynamically-calculated values directly in the template: <<If( CONTACTS::Gender="M" ; "man" ; "woman" )>>. Additionally, if there are multiple related values, you can collate them into a single value by using the native FileMaker List() function: <<List(Parents::Full Name)>> (to show all the Parents' names, for instance).

Other, more complicated examples:

  <<If( CONTACTS::DepositDueDate > SystemPrefs::DepositDueDate ;
  "Your payment is past due.")>>
  <<If( CONTACTS::FundraisingLevel = "Big Fish";
  "Please join us at the town green for a special dinner in your honor." ;
  "Please visit our website for more information.")>>

If you've previously just had experience with FileMaker Pro's layout-based merge values, the ability to use the calculation engine to create merge content will simply amaze you.

We've included some Functions to help get started, but you are free to add your own.


ContactID: <<CONTACTS::Contact ID>>
FullName: <<CONTACTS::Full Name>>
Phone: <<CONTACTS::Phone 1>>
Street: <<CONTACTS::Street 1>>
City/State: <<CONTACTS::City 1>>, <<CONTACTS::State Province 1>>
Postal Code: <<CONTACTS::Postal Code 1>>
Email: <<CONTACTS::Email>>
Photo Name: <<CONTACTS::Image Data>>
Amount: <<CurrencyFormat ( CONTACTS::AmountDue ; "," ; "$" )>>
Tax: <<CurrencyFormat ( CONTACTS::AmountDue*.06 ; "," ; "$" )>>
Total: <<CurrencyFormat ( CONTACTS::AmountDue*1.06 ; "," ; "$" )>>
Related Contacts: <<Substitute(List(Related Contacts::First Name),"¶",", ")>>


ContactID: S0003426
FullName: Chris Smith
Phone: 000-875-4368
Street: 123 MAIN STREET
Postal Code: 01701
Photo Name: contact_picture.jpg
Amount: $99.50
Tax: $5.97
Total: $105.47
Related Contacts: Brenna, Mandy, Aaron, Alexander, Dorris, Jared, Kaily, Chris

Page URL: