Blog

Software tips, techniques, and news.

Claris FileMaker Zoom Integration

The integration of Zoom's API with Claris FileMaker can be a powerful way to enhance business processes, especially for managing online meetings directly while keeping critical information at your fingertips. FileMaker’s flexibility for custom solutions, combined with Zoom's robust API, allows users to review past meetings, create meetings, and more without needing to leave your FileMaker solution.

youtube-preview

Setting Up OAuth Connection

Before creating your Zoom integration, there are a few prerequisites. First, Zoom highly recommends that you read their Key Concepts article. Second, you will want to ensure that you have the proper permissions on your account to create Zoom apps.

Once you are ready, you can go to the Zoom Marketplace and choose Develop -> Build App. You will want to build a “General App.”  Once you have created your application, the first step you will want to take is updating the name for your application. Set it to something relevant to your FileMaker solution.

Next, you will want to save your App Credentials into your FileMaker application. You will need both your Client ID and your Client Secret. These two fields serve as a username and password for your specific Zoom app. These credentials differ between development and production, so be sure to note which credentials you are using. Zoom will specify which set of credentials you are viewing next to the header with either “Development” or “Production.”

After saving these credentials, you will need to populate the OAuth redirect URL for your application. The OAuth Redirect URL is just the web page the user will go to after they allow access to the Zoom application, and serves as the gateway for Zoom to connect to FileMaker. Once the URL is populated, Zoom will automatically add it to the OAuth Allow Lists for your app.

Example OAuth Information for a Zoom app.

Once you have populated the OAuth Redirect URL, you will need to define the scopes your API will be calling. Zoom allows you to use any scopes while testing, but when moving to a production version of your app, it will only allow you to use scopes that Zoom has approved. Navigate to the “Scopes” page, then click the “Add Scopes” button to view available scopes.

App Scopes in Zoom.

For this integration, you will want to enable all options in the “Meeting” product section. Under the “User” product, you will want to enable all options under “View all user information” and “View user’s zak token.” While not all of these options will be directly used, it will be helpful to have them enabled while testing if you choose to expand the integration to involve other elements of Zoom’s API.

The final token you will need is the secret token under “Features” -> “Access.” As noted in Zoom, it is used to verify event notifications that are then sent by Zoom. You will want to save this in your FileMaker solution.

Once you have defined these elements, you can go to the “Local Test” area and generate an Authorization URL for your application. This is specific to your app, and will take users to the page that allows them to approve the needed permissions. The formula for the authorization query is the following:

https://zoom.us/oauth/authorize?response_type=code&client_id={your_client_ID}&redirect_uri={your_oauth_redirect_URL}

Once it has been generated, you can save this URL into your FileMaker solution, and the setup for your Zoom app will be complete. You will now be able to authorize your FileMaker database to use the Zoom API.

Getting a List Of Meetings from Zoom in FileMaker

By default, Zoom’s API allows individuals to obtain the last 30 days of meetings they have created. Because we have created a user-managed app, we will be able to skip having to obtain a user’s ID and can use the “me” parameter to replace a user’s ID in our endpoint URLs. To grab a list of meetings, we will use the following API address:

https://api.zoom.us/v2/users/me/meetings

Additionally, we will need to specify some cURL parameters. These parameters will tell Zoom what we are doing with the API and what information we want to return. In our cURL, we will also have to provide an Authorization Token. This access token is generated after authenticating through the API. An example cURL header for this query would be the following:

An example cURL header for getting a list of meetings from Zoom.

Using FileMaker’s Insert from URL step, we can then retrieve our list of meetings and return the information in a JSON format. Zoom will return a list of meetings created by the currently authenticated user and a count of the number of meetings it found. This list of meetings will contain information such as the topic/meeting name, the join link, and the start time. An example of the JSON response might look like the following:

Zoom's example of JSON returned for a list of meetings.

To take this JSON data and use it to import a file into FileMaker, it’s important to extract only the pieces of information you will want to save. To do this, you can take advantage of FileMaker’s JSON functions. Using the JSONGetElement function, we can get the ID, link, start time, and topic of each meeting.

An example of saving meeting variables in FileMaker.

Cutting back to only the necessary information makes handling the data much easier. This information can then be used to save meetings to a member’s record or use the meeting’s ID to then grab a list of past participants.

Creating a Meeting in Zoom from FileMaker

In addition to receiving a list of meetings, it is possible to create a meeting within FileMaker. To create a meeting, we will use the exact same API address that we used to receive our list. However, instead of making a "GET" request, we will make a "POST" request. In addition, we will also have to specify some important data in our cURL header.

For the cURL data when creating a meeting, it is important to specify a meeting topic, a start time, and a duration for our meeting to begin. This data can be formatted into JSON, and it's important to make sure that the start time is formatted as a SQL timestamp. There are many great custom functions to automatically translate FileMaker timestamps into a SQL format. Example JSON data for a new Zoom meeting might look like the following:

Example JSON Data for a new meeting in Zoom.

You will want to be sure to append this data to your cURL options. We will still need to specify our content type and include our authorization bearer token in this call. Here is what your cURL parameters might look like when creating a meeting from FileMaker:

Example cURL parameters for creating a meeting in FileMaker.

With those set, you can then make your API call. Zoom will return JSON data regarding your new meeting, and the most important element will be the "join_url" parameter. This will be the URL that you can then share with meeting participants to join a meeting or add to a Google Calendar invite. Using our JSONGetElement function, we can immediately extract the link from our return JSON and save it in FileMaker.

Setting a FileMaker field with the returned Join URL of a meeting just created.

Conclusion

Integrating Zoom’s API with Claris FileMaker can enhance your workflow by automating meeting management directly from within FileMaker. With a proper understanding of cURL options and JSON handling, you can efficiently review and create Zoom meetings from your FileMaker solutions. If you want assistance integrating Zoom with your FileMaker solution, contact us at DB Services and we would be happy to help.

Did you know we are an authorized reseller for Claris FileMaker Licensing?
Contact us to discuss upgrading your Claris FileMaker software.

Download the Claris FileMaker Zoom Integration File

Please complete the form below to download your FREE FileMaker file.

First Name *
Last Name *
Company
Email *
Phone *
FileMaker Experience *
Agree to Terms *
summer law headshot.
Summer Law

Summer is a thoughtful and supportive application developer known for her dedication to high-quality outcomes. Her commitment to delivering effective solutions while focusing on accuracy and precision makes her a valuable asset to the DB Services team.