fmESignature Link (DocuSign Edition) Linking Guides

When it comes to integrating any of our FileMaker integration solutions there are generally two main approaches a FileMaker developer can take:

  1. Linking – this involves using our solution’s file as a ‘interface’ or front-end file to your existing FileMaker file. This is a relatively quick way to get up and running – you relink the table occurrences to reference the matching tables in your existing FileMaker file (e.g. Contacts) and then update the layouts and add any new fields. You also need to update any field references in scripts and create any new value lists. Using this method you can be up and running in around 30 minutes.
  2. Embedding – this is the most complex and time consuming type of integration as it involves recreating the required functionality our solution’s file in your existing FileMaker solution. You need to complete the required tasks in a certain order – whilst most of the code can be copied across you will need to manually recreate table occurrences and relationships. This method can take many hours to complete depending on how much functionality from our solution you wish to move across to your FileMaker file.

We’ve always published Integration Guides that cover the embedding process and detail the steps that you should follow to incorporate functionality from one of our solution files in your existing FileMaker solution. Linking has always been more difficult to document as each of our customer’s solutions are different and the process will never be the same from one customer solution to another. To help get you started with linking and demonstrate the process we’ve put together a two part series that covers linking the FileMaker Contacts starter solution with our fmESignature Link (DocuSign Edition) solution.

In Part 1 of the Linking Guide we cover how you can link the fmESignature Link file to your existing FileMaker solution and use the fmESignature Link file to send eSignature Requests to your Contacts. We’ve included step-by-step instructions as well as a companion video that demonstrates the process which should take around 20-30 minutes to complete. We’re simply replacing any references to the Contacts table in the fmESignature Link file with references to your Contacts table. The Contacts starter solution has separate tables for Contact details such as name and company name and separate tables for storing email addresses, phone numbers and mailing addresses so it’s a good example for demonstrating how to incorporate data from multiple tables.

By the end of the process you will be able to use the fmESignature Link file to view your Contacts from within the fmESignature Link file and send an agreement to one or more of your Contacts.

In Part 2 of the Linking Guide we take this a step further and demonstrate how you can generate eSignature Requests from your FileMaker solution using PDFs created from layouts in your existing FileMaker file. We’ve added a new layout to the Contacts starter solution that contains the agreement we wish to send to and we’ve added some anchor tags to the layout to specify where we can our DocuSign tabs to appear. Once we’ve created a new Template in the fmESignature Link file for this new agreement we can then create a script in the Contacts starter solution that performs a number of tasks, including:

  • captures the Contact/Recipient details such as their FileMaker Primary Key/ID and email address
  • creates a PDF using the contract layout
  • creates a new record in the Requests table in the fmESignature Link file and sets the Template ID to use and the PDF to send that you’ve previously created
  • adds the Contacts as a recipient to this new Request
  • takes the user to the newly created Request record so they can review this before sending out the agreement

The guide includes an example script that you can reference when implementing something similar in your FileMaker solution. Once again we’ve included a companion video that demonstrates the steps involved which should take around 30 minutes to complete.

Notifications for Incoming SMS Messages

Databuzz pioneered the sending of SMS messages directly from the FileMaker Platform 20 years ago and fmSMS, our FileMaker solution for sending/receiving SMS messages, has been used since then to send and receive millions of SMS messages by organisations all around the world.

When Claris released the FileMaker API for PHP with FileMaker Server v9 we knew we finally had a reliable way to receive incoming SMS messages as soon as they were sent using webhooks. Essentially the SMS Gateway (e.g. Twilio) would be configured to sent via an HTTP POST a notification to a PHP file containing the details of the incoming message when it was received (sender number, message body, timestamp etc). The php file would then convert that data into a record in a FileMaker table using the FileMaker API for PHP. To users this looked like magic – incoming messages would automatically appear within seconds of being sent and be linked to a Contact record so you could see the history of all sent and received messages.

The only downside of having incoming messages automatically pushed to a FileMaker solution is that it happened in the background, and unless someone was monitoring the Messages/Replies table to see if new messages had been received they might not be aware of these.

Over time customers have been asking for ways to be notified when a new incoming message has been received. We’ve come up with a number of options over the years, each of which have their pros and cons. Some of the options we’ve deployed over the years include:

  • simple email notifications for new messages. These emails could include an fmp url link which users could click to open the FileMaker file and navigate to the new incoming message record. The downside of this is that a lot of emails could be generated if you received a high volume of replies or incoming messages.
  • a calculation field on a layout that is frequently accessed showing a total of messages in the replies table that were not flagged as ‘dealt with’. This also relied on users to frequent the layout and notice this new field (many customers would make this field bold/red etc to stand out)
  • using a dedicated window to show Replies sorted in descending order. This window could get lost amongst the various application and FileMaker windows that users could have open
  • we developed a Chat View that shows messages in style similar to Apple’s iOS Messages app. This was limited to showing the conversation between a single Contact, though it could be modified to just showing incoming messages. It also required a refresh to update the Web Viewer to see if new messages had been received, which was typically done using the Install OnTimer Script which was set to run periodically. The downside of using the Install OnTimer Script is that it can interrupt the user’s workflow (e.g. if they are in the middle of typing in another FileMaker window) and is inefficient as it has to run regardless of whether any new incoming messages have been received
  • for some customers we’ve deployed the technique that can trigger a script on multiple FileMaker Pro clients using the OnRecordLoad Script Trigger when a record is deleted that results in a found set of zero records. This can call a script that shows a new popup style window alerting the user to a new incoming message. Unfortunately this can also interrupt users when they are in the middle of something in another FileMaker window when suddenly a new window appears. It’s also not suitable to sites that receive large numbers of incoming messages.

Recently we’ve been exploring a variation of the last approach for the macOS platform that uses the Notifications feature and AppleScript to display a Notification when a new incoming messages has been received. The notification generated looks like this:

This uses the same OnRecordLoad Script Trigger that is attached to a hidden window that is generated when the FileMaker solution is first opened that only ever contains either 1 or 0 records. Each time a new incoming message is received by FileMaker Server it calls a FileMaker script that updates the table to either add a new record or delete the single record. This then triggers the OnRecordLoad script on any clients that have this hidden window configured. Users then receive a standard macOS notification that displays for a few seconds. The advantage of this approach is that a new FileMaker window isn’t required and if the user is away from their computer they can still see these in their Notification Centre along with all their other macOS Notifications. You can also control through a User Preferences table which users need to receive these notifications so you’re not sending notifications to all users unnecessarily. The FileMaker script to generate the AppleScript only requires a few script steps so can perform quickly – for details on how to create macOS Notifications from FileMaker using AppleScript check out this article from HomeBase Software.

Like all the other methods there are some downsides to this approach, including:

  • it uses AppleScript so it’s limited to macOS users
  • it does require the fmextscriptaccess extended privilege to be enabled for the required Privilege Sets
  • there’s no way to customise the action that is performed when the users clicks the Notification in the Notification Centre. I couldn’t find a way to include an fmp URL that would take the user to the particular record directly – currently it just opens the FileMaker Pro application

Here’s a short video we recorded showing this in action as a new incoming message is received (you can also watch this on YouTube here):

If you have come up with any alternative options for displaying alerts to users please let us know in the comments below. In our next article we’ll look at integrating FileMaker with Slack to generate notifications in a Slack channel when incoming messages are received.

Custom apps now replace Shopify Private apps

In January 2022 Shopify announced that Private apps were now deprecated and that going forward you will now need to use Custom apps and authenticate with access tokens instead of using the API Key/Password and basic HTTP authentication that Private apps use. Existing Private apps can still be used and modified so if you have an existing Private app you do not need to take any action at this stage.

From February 2022 you can no longer add a new Private app to your Shopify store so you will need to create a Custom app instead and use the Access Token for authenticating with the Shopify Admin API.

We have updated v2 of fmEcommerce Link (Shopify Edition) to now work with Custom apps only going forward – given Private apps have been deprecated by Shopify and can no longer be added to a Shopify store it made sense to focus solely on working with Custom apps. It only takes a few minutes to create and install a new Custom app on your Shopify store and generate the Admin API access token. Version 2.1 of fmEcommerce Link (Shopify Edition) now works with Custom apps and access tokens and is a free update to all v2 customers.

If you have an existing integration or customised version of fmEcommerce Link (Shopify Edition) that you would rather update to support Custom apps and access tokens it is fairly straightforward to make the necessary changes. We’ve documented the process on our support site for both v1 and v2:

We’ve focussed on having to make the minimal amount of changes in these guides so you can make the switch from a Private app to Custom app as quickly as possible. In our updates to v2.1 we have taken the time to update the file and removed/renamed any fields etc that were used by Private apps, so the changes in our v2.1 file will look a bit different to the v2 update guide.

Version 2.1 now supports Custom apps only – you can also download this and copy/paste the updated script steps across if that will be easier for you. Existing customers can download this version from the link on your original order email (contact us if you need the link to be reset etc).

We have a short video on the fmEcommerce Link Videos page showing how to create a Custom app on the Shopify website.

You can get more information on Custom apps and authenticating with access tokens here:

Automating Shipments with the Australia Post API

Like most countries around the world Australia has seen a boom in the number of parcels being delivered over the past 2 years, driven by a surge in online shopping during the lockdowns. Last October Australia Post was delivering more than 10 million parcels across Australia every week and was struggling to keep up with demand, having seen a 76 per cent increase in online shopping purchases in the previous 12 months.

Things were so bad Australia Post suspended parcel collections from online retailers in NSW, Victoria and the ACT for three days in September in a bid to catch up on the backlog.

If you’re an Australian retailer using the Claris FileMaker Platform to run your business you can leverage the Australia Post API to automate many of the mundane tasks associated with creating and lodging shipments with Australia Post. Australia Post have a number of APIs to help automate many of the tasks associated with shipping and tracking, including:

  • creating shipments
  • validate postcodes and suburbs
  • printing labels
  • lodging orders
  • printing order summaries
  • tracking parcels

You can also use other techniques to help streamline the data entry process, such as scanning barcodes and using online address lookup tools to improve the accuracy of a shipping address. You’re probably familiar with having to enter your address and select the matching address from a filtered list that reduces the number of matches as you type. You might not be aware that you can also incorporate this into your FileMaker solution – here’s a screenshot showing a card window that allows the user to enter an address and select the matching result which will then be used to populate the address, suburb, state, postcode and country fields:

If you’re currently manually lodging shipments and downloading and printing labels and copying/pasting tracking codes integrating with the Australia Post API can save you and your business time and money. With the Australia Post API it’s simple to download a list of the Australia Post products for your account and associate these with line items on your order/invoice:

You can then create a shipment from your order/invoice, request the label (either as a PDF or ZPL format) and then create an order from one or more shipments and retrieve the order summary as a PDF.

Here’s a short video demonstrating how you can use a FileMaker solution to create shipments, print labels and lodge orders all from FileMaker (you can also view it directly on YouTube). If you would like to discuss integrating your FileMaker solution with the Australia Post API to further automate your business workflows please get in touch for a free initial consultation to discuss your requirements.

Extending Your FileMaker WooCommerce Integration

It’s been more than 5 years since we first released v1.0 of fmEcommerce Link (WooCommerce Edition), our Claris FileMaker solution for integrating with the WooCommerce eCommerce Platform. Since that first release we’ve helped hundreds of customers connect their FileMaker business apps with their online store to eliminate manual processes and double data entry, saving them time and money.

As well as the core online store functionality WooCommerce also has a marketplace that has hundreds of free and paid extensions that add features and functionality to your store. We’ve helped a number of customers and FileMaker developers integrate with many of the most popular WooCommerce extensions, many of which have their own APIs.

Here’s some of the ways in which we’ve helped customers extend their FileMaker WooCommerce integration beyond the core WooCommerce API features:

Custom Fields: we regularly encounter WooCommerce stores that contain custom fields and more often than not the store owner would like to be able to update the value in these custom fields when uploading (e.g. Products) and also download the value in these fields (e.g. Orders). There are many ways to add custom fields to your WooCommerce store, including using a WordPress plugin such as the Advanced Custom Fields plugin or modifying php files.

The easiest way to work with custom fields is via the Meta Data which is accessible using version 2 or later of the WooCommerce REST API. You can both update custom fields and retrieve them via the Meta Data, which uses a Key/Value pair system where the key is the name of the custom field and the value is the value for that custom field. We have several articles on our support site that cover working with custom fields, including:

  • Can I Update Product Custom Fields – this article demonstrates how to use the meta data to update a custom field when uploading a Product from FileMaker to WooCommerce
  • Downloading Custom Fields – this article demonstrates how to access the meta data when downloading an Order from WooCommerce to FileMaker

WooCommerce Subscriptions: one of the most popular extensions for WooCommerce is WooCommerce Subscriptions which allows customers to subscribe to your products or services and pay on a weekly, monthly or annual basis. This extension also has its own API which you can make requests to get subscription specific data that isn’t included in the core WooCommerce API. Using their API you can access subscriptions data from FileMaker and create, read, update and delete subscription data.

Shipments: this is another popular category for WooCommerce extensions. For stores that have to ship physical goods to their customers using a shipments extension can help customers track their orders and integrate with shipping carriers to print labels and assist with fulfilments. We’ve helped several customers integrate with the Shipment Tracking extension which allows you to add shipment tracking information to your orders, providing customers with an easy way to track their shipment. Once again this plugin also has it’s own API which we can make requests against, for example to create shipment tracking for an order as it is being processed.

Gift Cards: WooCommerce includes support for Coupons but not Gift Cards which allow customers to purchase digital gift cards that can be redeemed online in the future. We’ve recently helped a number of customers integrate with the WooCommerce Gift Cards extension to retrieve details of any gift cards used in an Order and check the balance of a gift card.

These are just some of the examples of ways in which you can extend your fmEcommerce Link (WooCommerce Edition) integration. If you would like to discuss extending your integration please get in touch for a free initial consultation to discuss your requirements.

The Benefits of MMS Messaging

I’ve been talking to a lot of customers recently about whether to go with SMS or MMS messaging when it comes to integrating with their Claris FileMaker business apps. I received the following notification a few days ago from a business that I was hiring a tuxedo from which served as a timely reminder about the benefits of using MMS messaging:

This type of message is much more engaging than the usual “Hi your garment is ready to be collected …” type text message that you’ve most likely received many times over.

We’ve been helping customers integrate their FileMaker solutions with SMS messaging for over 20 years now using our fmSMS solution. There are a number of benefits to using SMS messaging, including:

  • they are perfect for appointment reminders, phone messages, segmented marketing, school absence alerts
  • they can be used to reduce cancellations and no-shows for appointment based businesses
  • reduces the amount of time spent playing “telephone tag”
  • higher open rates (98% vs 20% email)
  • higher click rate (29% vs 2.5% email)
  • you can integrate 2 way messaging into your FileMaker app: send and receive SMS messages all from FileMaker

MMS messaging gives you all the benefits of SMS messaging and more, including:

  • you can include multimedia messages (pictures, video, audio, gifs, QR codes etc)
  • you’re not limited to 160 characters per message segment – you can have up to 5000 characters
  • you can also include message subjects which act as a headline to your message
  • higher click through rate than SMS which leads to even higher engagement
  • a picture tells a thousand words (the human brain processes images 60,000 times faster than text)

I’m always keen to find out from our customers how they intend to use our fmMMS solution and was talking with a customer recently and they explained that they work with a chain of stores in outback Queensland, Australia and farmers and graziers are wanting to take a photo of a piece of clothing (hat, trousers etc) and send that to the store with a message (e.g. needing to get a replacement for some trousers). Using fmMMS they can receive these directly from their customers and have them linked to their account and also send backup mockups of embroidery for approval.

MessageMedia have a useful best practice MMS messaging guide which includes 10 common templates you can use for inspiration to creating your own MMS templates. They recommend using MMS for:

  • Brand-led messaging that draws customers in with visuals of products, locations or events (think Instagram)
  • Sending QR codes, tickets, check-ins or maps to customers
  • You just want more variety and dynamic options

If you would like to discuss integrating SMS or MMS messaging with your FileMaker business app please get in touch for a free initial consultation to discuss your requirements. Free trial versions of fmSMS and fmMMS are also available from our website.

Databuzz 2021 End of Year Xmas Sale – 20% Off All Licenses

The Databuzz End of Year Xmas Sale is now on – all Product Licenses are now 20% off, including:

Use the coupon XMAS2021 at checkout on any purchase and the 20% discount will be applied to your order. The sale runs until the end of the day on December 31, 2021 (Australian Eastern Daylight Time). Click here to start shopping. fmSMS licenses can be purchased from the fmSMS website.

Free trial versions are available for all of our products – please contact us to request a trial version.

All our prices are in Australian dollars – if you’re purchasing from outside of Australia you’ll also get to take advantage of the low Australian dollar (1 Australian Dollar equals approximately 0.72 US Dollars).

fmMMS Chat View Now Available

fmMMS, our FileMaker solution for sending and receiving MMS (Multimedia Messaging Service) Messages using the Claris FileMaker Platform, now supports the Chat View feature originally introduced with fmSMS back in 2015.

The Chat View interface in fmMMS allows you to view all outgoing and incoming messages for an individual contact, including Message Subject, Body and Media, using a FileMaker Web Viewer. This is a much more graphical interface and easier to understand view than using traditional FileMaker portals.

We recently updated the design of the Chat View in fmSMS and have also used this more modern style, similar to the current iOS Messages app, in fmMMS. You can also send a new message to the contact you are viewing with a single media attachment without having to leave the Chat View screen using the fields at the bottom to enter your message/media attachment.

There were a number of challenges with developing the Chat View that would work with various versions of FileMaker Pro from v16 to v19 on both Mac and Windows, as well as work for local files and hosted files. We experiemented with using “data:text/html” urls, using Base64 to encode/decode the media attachments as well as exporting content to display in the Web Viewer.

In FileMaker Pro 19.3.1 Claris changed Web Viewers to use the Microsoft Edge (Chromium) engine instead of the Internet Explorer engine, which also presented a number of challenges. There is a security restriction in Edge that prevents web pages from accessing the file system to show local files when using “data:text/html” urls. The solution that we have used for the first release of the Chat View feature involves exporting a .html file to the FileMaker temp folder, along with any media attachments in container fields, and displaying this in the Web Viewer.

For this first release of the Chat View we are supporting Mac, Windows and iOS users. We’re currently working on an update for FileMaker Pro v19 users that will use the Execute FileMaker Data API script step to generate the html content and hopefully bypass the need to export the media attachments from the container fields. We are also working on support for FileMaker WebDirect users. We are also looking into ways that we can have the Chat View update dynamically without having to use OnTimer Scripts that are constantly running in the background attached to a FileMaker window. We’re also looking into WebSockets to see if we can have that push updates to the web viewer.

Changes to PHP Installations with FileMaker Server

Earlier this year Claris announced that they were deprecating the bundling of PHP with FileMaker Server and would no longer be installing PHP with future versions of FileMaker Server for macOS and Windows. This impacts anyone who is using the bundled version of PHP on their FileMaker Server for use with Custom Web Publishing and the FileMaker PHP API.

With a number of recent releases of FileMaker Server this has now been completed as follows:

Windows: starting with the FileMaker Server 19.2.1 update PHP is no longer installed with FileMaker Server for Windows – you should preserve your existing PHP installation first by backing up the PHP folder and restoring it after the upgrade is complete. See the Claris Engineering Blog link below for instructions on installing PHP on Windows as well as a link to a Powershell script for automating this.

macOS: starting with version 19.4.1, FileMaker Server no longer installs a PHP engine on macOS. FileMaker Server upgrades will not remove a previously installed PHP engine, but new installations will no longer provide PHP.

We provide PHP files for use with Webhooks with most of our FileMaker integration solutions, including:

We generally provide 2 versions of these php files:

  1. for use with the older FileMaker PHP API
  2. for use with the newer FileMaker Data API

The FileMaker Data API is the newer replacement for the older PHP API and requires FileMaker Server v17 or later. Existing PHP files for both APIs will continue to work but if you are setting up a new FileMaker Server for Windows or macOS that does not have PHP installed you have a few options:

  1. install PHP for Windows Servers (see links below)
  2. host the PHP file on another web server running PHP (you will need to include the PHP API files if you are using the older PHP API) and make any adjustments to the hostname to point to the FileMaker Server
  3. change from using the FileMaker PHP API to the Data API and also host the PHP files on another web server running PHP and make any adjustments to the hostname to point to the FileMaker Server

We’ve been hosting our PHP webhooks files on Amazon Lightsail for a number of years, but any web server running PHP will do the job.

You can get more information on the changes to PHP Bundling at the following links:

WooCommerce REST API Now Supports Filtering by Modification Date

We’ve had many requests over the years to update our fmEcommerce Link (WooCommerce Edition) solution to allow you to just download Products that were updated recently by date range. A common use case is that you have updated a subset of products in WooCommerce and just need to get those updated products into FileMaker.

fmEcommerce Link does have the ability to update a product in FileMaker from WooCommerce, but you would need to have kept a track of the WooCommerce IDs for the products that were updated in WooCommerce and then find these in FileMaker and perform the update. Unfortunately the WooCommerce REST API didn’t support the ability to perform queries by modification date (only date published/created).

This functionality has been requested in the past for orders to save having to query for the whole set of WooCommerce orders just to retrieve the handful that were recently updated. Earlier this year I decided to also submit a feature request for the ability to query the products API endpoint using modified_before and modified_after query parameters that filtered using the date modified field. This request was well supported by other developers and I’m pleased to report that WooCommerce 5.8.0 and later now support this feature for the product, order and coupon API endpoints.

We’ve put out an update to fmEcommerce Link (WooCommerce Edition) v2 for downloading updated Products – v2.0.3 now lets you filter by date modified when downloading Products from WooCommerce:

Check out our support article here for further details. If you would also like to see this filter for downloading orders please get in touch and let us know.