Professional Documents
Culture Documents
FileMaker Teamwork Integration - DB Services
FileMaker Teamwork Integration - DB Services
FileMaker Teamwork Integration - DB Services
By Nathan Kiefer
Posted on March 27th, 2023 in Claris FileMaker, Free Downloads
authentication method. The first step is to register the integration/app in the Developer Portal. The
recommended approach is to use a dedicated user (who is not a person) with access to everything you
want your integration to do (create, update, and delete projects, for example). That way, things don't
suddenly come to a halt when Joe Developer leaves.
Once you create the app, you'll be able to specify a redirect url and get the client ID and client secret.
Retrieving Data
Once we have the access token, we're ready to integrate. Since Teamwork is a project management
platform, it will be important to know what our tasks are. Let's start by getting all the Teamwork tasks for
a project so that we can use them in our system.
For that, we'll need to set up a GET request to the Task entity in Teamwork.
Instead of pulling all tasks in Teamwork, we can use the parameter "includeCompletedTasks" to return
only active tasks. Depending on your use case, you may not want this, but it provides a very useful way to
demonstrate how request filtering works through the Teamwork API and also prevents us from getting
old data.
https://[mydomain].teamwork.com/tasks.json?includeCompletedTasks=false
https://dbservices.com/blog/filemaker-teamwork-integration 2/10
3/27/23, 11:38 AM FileMaker Teamwork Integration | DB Services
If you'd like to limit your query to just one project, you can filter further with a url that looks like this:
https://[mydomain].teamwork.com/projects/[project id]/tasks.json?includeCompletedTasks=false
The accompanying cURL will look something like this. Note that we've included the response headers
command so that we have access to view those in FileMaker for additional logging and debugging.
" --header \"Authorization: Bearer " & $teamworkAccessToken & "\"" & ¶ &
The response we get back from Teamwork is very predictable since we can see the example response
body right from their documentation!
https://dbservices.com/blog/filemaker-teamwork-integration 3/10
3/27/23, 11:38 AM FileMaker Teamwork Integration | DB Services
Since tasks are returned in an array, we can speed up FileMaker's processing of each task by deleting the
top array value on each parsing loop. That prevents FileMaker from re-parsing the entire array and also
reduces the amount of code we need to actually process the loop.
Updating Tasks
Now that we've retrieved our tasks, we can use that information to update them in Teamwork from
FileMaker.
The format for this call will be pretty similar to the one we used for getting the tasks. This time, however,
we'll send a PUT request and send a task body to tell Teamwork what we'd like to update.
The main difference in our URL, aside from the API version differences, is the use of the task ID at the
end of the call to specify which task we're making the request for. So, for example, your URL for the
update task call would look like this:
https://dbservices.com/blog/filemaker-teamwork-integration 4/10
3/27/23, 11:38 AM FileMaker Teamwork Integration | DB Services
https://[your domain].teamwork.com/tasks/1234.json
It's important to note that you should always check the documentation when pushing data to an API. The
structure, names, and JSON type of each data point will have to match in order to either avoid errors or
avoid updating nothing. In particular, Teamwork requests dates to be pushed in a YYYY-MM-DD format
as a JSON string ( {"due-date":"2023-03-02"} ), which is different than how some other APIs may request
a date.
https://dbservices.com/blog/filemaker-teamwork-integration 5/10
3/27/23, 11:38 AM FileMaker Teamwork Integration | DB Services
Instant Updates
While we won't cover in detail how to get instant updates from Teamwork, it's important to know that
you can. Teamwork offers a robust suite of webhooks for all kinds of actions that take place on the site,
and which you can easily tap into to get near-instant updates about data in Teamwork.
At its simplest, you can set up a single webhook in the language and provider of your choice to listen for
updates issued by Teamwork, then pass that data to FileMaker to handle whatever custom workflows
you require. Teamwork even has logging tools in the webhook setup to help anticipate what is sent and
troubleshoot any problems.
Teamwork also lets you set up webhooks by project. So if you had a need to only get updates from a
specific or small number of projects, you could easily do so.
https://dbservices.com/blog/filemaker-teamwork-integration 6/10
3/27/23, 11:38 AM FileMaker Teamwork Integration | DB Services
...And More
This article covers just the beginnings of how you might bring together your current business processes
and Teamwork with the help of Claris FileMaker. The important thing is that you can extend the power of
your own custom FileMaker solution to leverage pre-made tools with immense value and low cost. It's
one more way FileMaker offers a springboard for innovation.
If you're looking to extend the power of your FileMaker solution by integrating with Teamwork, contact
us and let's talk about what we can accomplish together.
“
Did you know we are an authorized reseller for Claris FileMaker Licensing?
Contact us to discuss upgrading your Claris FileMaker software.
”
Download the FileMaker Teamwork Integration File
Please complete the form below to download your FREE FileMaker file.
https://dbservices.com/blog/filemaker-teamwork-integration 7/10