How to Build a Meeting Cost Calculator to Save Time & Money
How much money are meetings costing your company?
If there are intrusive thoughts plaguing the minds of CEOs and high-level executives, this one is definitely among them.
And while there’s not always a direct relationship between the cost of a meeting and its actual value, it’s always better to know the actual figures than to guess them.
In the past couple of years, meeting cost calculators have become somewhat popular, but there’s a problem: They demand too much manual work.
You need to input some data (usually, time and hourly wages of the participants) to get a result.
Not very convenient, is it?
So what if we told you can automatically calculate the cost of all your meetings once and for all with Make?
By building this meeting cost calculator, you’ll know the cost of your meetings down to the very cent, without having to lift a finger.
Solution overview: Calculating the cost of meetings automatically
The meeting cost tracker we’ll build in this tutorial operates in a pretty straightforward manner:
First, it gets a list of meetings for the day from your Google Calendar.
Then, it calculates the cost of each meeting organized by you.
Finally, it sends you a Slack message that lists these meetings and their respective costs.
As a bonus, the Slack message also provides meeting cancellation links just in case you decide that the cost is too high and that an email would be more efficient.
Here’s how the Slack message generated by the tracker looks like:
The meeting cost tracker doesn’t take very long to build and doesn’t need any tedious coding either.
Aside from Slack and Google accounts, all you need is a Make account: Sign up for yours here, and let’s get building!
1. Create a new Make scenario and add the Google Calendar app
Start by creating a new Make scenario and adding the Google Calendar > Search Events module to it.
Connect the module to your Google account, and then set it up like this:
Calendar ID: Select the calendar that contains your meetings.
Start Date: Fill this out with {{formatDate(now; "DD.MM.YYYY")}}. This will make the start date the date on which the meeting cost tracker is run (such as today).
End Date: Fill this out with {{formatDate(addDays(now; 1); "DD.MM.YYYY")}}. This will make the end date one day after our start date (such as tomorrow’s date).
Single Events: Set this to Yes to separate any recurring meetings on your calendar into their respective individual meetings.
Limit: Set up the maximum number of results Google Calendar should get every time the tracker is run, such as “20” (this number should be higher than the number of meetings you usually participate in).
Check the image below for reference.
Click OK when you’ve finished configuring the module.
2. Add the Tools module to set up meeting information
To calculate the cost of the meetings we’ve organized, our tracker needs to know:
Each meeting’s duration (in hours).
Our email address. Our tracker will use it to check whether a meeting has been organized by us or someone else.
Each meeting attendee’s hourly rate. For simplicity, we’ll use the same hourly rate for all attendees.
Note: By using an average hourly rate, you avoid a significant issue - employees sharing their hourly rates with each other.
To provide the tracker with such data, we need to add a Tools > Set multiple variables module to our scenario.
After adding this module, it’s time to configure it.
Click Add item to add a data variable to the module.
Fill out “duration” as the Variable name, then copy and paste the following to the Variable value field: {{(1.end - 1.start) / 3600000}}
This function helps the tracker subtract the meeting’s start date from its end date to get its duration.
And because the result is in milliseconds format, we’ll divide it by 3600000 to get its equivalent in hours.
See the image below for reference.
Note: If you prefer to type the Variable value yourself, use Make’s special parenthesis function and math operators when doing so. Make won’t be able to calculate your meeting duration if you simply type (, ), -, or / using your keyboard.
Now, click Add item two more times to create these two variables next:
Variable name: “hourlyrate” and Variable value: Fill out your hourly rate here as a number and without the currency symbol. For example, if your hourly rate is $70/hour, type “70”.
Variable name: “myemail” and Variable value: Fill out your email address here.
Check the image below to see how all three variables should look.
Click OK to finish setting up this module.
3. Add a second Tools module to calculate the cost of each meeting
Now, we’ll use another variable to calculate the cost of each meeting.
Add a Tools > Set variable module to the scenario and set it up like this:
Variable name: Fill this out with “cost”.
Variable value: Copy and paste {{formatNumber(length(1.attendees) * 4.meetingDuration * 4.hourlyRate; 2; "."; ",")}} into this field.
Check the image below for reference.
Here’s what this variable does:
First, it counts the number of attendees in the meeting.
Then, it multiplies this number by the meeting’s duration and each attendee’s hourly rate to get the meeting’s cost.
Finally, it rounds the meeting cost to two decimal places.
After configuring the module, click OK to proceed to the next step.
4. Have the tracker calculate meeting costs for only meetings you’ve organized
Currently, our meeting cost tracker will calculate the cost for each meeting we’re attending on a given day.
But since we can only cancel the meetings we’ve organized, we’ll customize our tracker to work on just these meetings.
To do so, click the wrench icon between the two Tools modules and select Set up a filter.
Give your filter a descriptive name, such as “Proceed for only meetings we’ve organized”, and then:
Map the Organizer: Email item from your Google Calendar module to the filter condition’s first operator.
Change the condition setting to Boolean operators > Equal to.
Map the “myemail” variable from the first Tools module to the filter condition’s second operator.
See the image below for reference.
With this filter, our meeting cost tracker will check if the organizer’s email address for a meeting matches our email address.
If there’s a match, the tracker will go on to calculate that meeting’s cost.
But if there isn’t a match, the tracker will ignore that meeting.
Click OK to finish setting up the filter.
5. Compile the list of meetings and their respective costs
At this stage, the meeting cost tracker is able to calculate the cost of each meeting we organize.
To compile this info into a list, add a Tools > Text aggregator module to the scenario.
Enable the module’s Show advanced settings switch, and then set it up like this:
Source Module: Set this to Google Calendar - Search Events [1].
Row separator: Set this to New row so each meeting will appear in a new list row.
Stop processing after an empty aggregation: Check the Yes checkbox to stop the tracker from working if you haven’t organized any meetings for that day.
Text: Copy and paste • *{{1.summary}}:* ${{3.cost}} | <{{1.htmlLink}}|Cancel this meeting> into this field. It creates a line of text that includes our meeting’s name, its cost, and a link to cancel it.
Note: We’ve formatted our text using Slack markup because we’ll be displaying our meetings list in the Slack app. You’ll need to mark up your text differently if you’re displaying your list in a different messaging app.
Check the image below for reference.
Click OK to move to the last step!
6. Send the list of meetings to yourself via Slack
Finally, we’ll create a Slack message that sends us the list of meetings and their costs (feel free to replace Slack with any other team messaging app available on Make).
Add the Slack > Create a Message module to the scenario and connect it to your Slack account.
Set up the Slack channel in which you want to receive the message.
After that, fill out the Text field with what you want the full message to say.
When doing so, insert the text aggregator module’s “text” item into the part of the message that should display your list of meetings.
See the image below for reference.
Finally, enable the Show advanced settings switch and change the Unfurl primarily text-based content setting to No to disable the link preview for each meeting.
Optional: In the advanced settings, you can also customize your message’s icon emoji and username.
Click OK to finish setting up your tracker. Your full scenario should look like this:
Now, test it by clicking the Run once button at the bottom left of the scenario builder.
You should have received a Slack message listing the meetings you’ve organized for today, their respective costs, and links to cancel each of them.
If so, schedule your scenario such that your tracker runs in the morning of every workday (or every day of the week if you have meetings constantly), and activate it. That’s it!
Meeting time is money, so make it count
The goal of having this meeting cost tracker isn’t to shock you into canceling all your meetings.
Rather, when you’re aware of each meeting’s cost, you can thoughtfully proceed with the ones that will generate a positive return for the time spent in them.
As for the meetings you decide to turn into emails, your team will likely thank you for saving their time, while your superiors will thank you for saving the business money.
These are, in a nutshell, the main benefits of the automated meeting cost calculator.
Register for your Make account here to start building yours!
You’ll be on your way to freeing up your organization’s resources for the tasks that truly matter.