Meeting Title: Calendly Data Ingestion + Modelling Date: 2026-04-15 Meeting participants: Awaish Kumar, Ryon
WEBVTT
1 00:06:52.630 ⇒ 00:06:54.190 Ryon: Morning, Alicia, how you doing?
2 00:06:54.580 ⇒ 00:06:56.569 Awaish Kumar: Hi, I’m good, how about you?
3 00:06:56.970 ⇒ 00:07:00.970 Ryon: Good, good. Sorry I’m a little late. Okay.
4 00:07:01.180 ⇒ 00:07:06.600 Ryon: Let me give you the high level, because I’m gonna try and present this…
5 00:07:09.260 ⇒ 00:07:12.019 Ryon: Yeah, simply as possible. But also…
6 00:07:12.340 ⇒ 00:07:14.970 Ryon: Give you kind of an idea of what our objectives are.
7 00:07:16.280 ⇒ 00:07:19.920 Ryon: So… On a regular basis, me…
8 00:07:23.720 ⇒ 00:07:25.869 Ryon: Our team…
9 00:07:29.220 ⇒ 00:07:29.970 Ryon: Perfect.
10 00:07:31.940 ⇒ 00:07:49.639 Ryon: Our team from customer service, or member experience, reaches out to a series of new customers in what they call their Day Zero campaign. And what they do is they offer them a chance to talk to a
11 00:07:49.940 ⇒ 00:07:54.260 Ryon: Expert, or like a, an in-house rep.
12 00:07:54.390 ⇒ 00:08:05.689 Ryon: about something specifically relating to their actual, you know, their treatment, right? So they’ve signed up, they’ve gone through the process, this is day zero, right?
13 00:08:05.860 ⇒ 00:08:20.199 Ryon: And they record all these things in a Google Form here. And you can see, I’ll share this file with you here, you can see that this is the,
14 00:08:20.550 ⇒ 00:08:27.539 Ryon: email of every person that signs up for an event to talk to them in Calendly.
15 00:08:27.960 ⇒ 00:08:28.830 Awaish Kumar: Right?
16 00:08:29.120 ⇒ 00:08:34.330 Ryon: So, what I need to do, or what they’ve asked from us is.
17 00:08:35.169 ⇒ 00:08:43.820 Ryon: You ignore this here, right? This was my attempt, I broadly failed, by the way. I need to basically…
18 00:08:44.660 ⇒ 00:08:45.850 Ryon: No.
19 00:08:46.250 ⇒ 00:08:52.950 Ryon: What the sales record is, For every person, who…
20 00:08:53.960 ⇒ 00:08:55.500 Ryon: Is a part of this program.
21 00:08:56.090 ⇒ 00:08:58.300 Ryon: Okay? So that’s really it.
22 00:08:58.480 ⇒ 00:09:13.040 Ryon: Right? So, if they have an email inside of the order completed or order summary table, what their first last name is, the total number of orders, their total LTE, the total treatments they’re on, and the number of refills. This is basically just it.
23 00:09:13.760 ⇒ 00:09:22.639 Ryon: So, I tried the idea of getting this information myself by writing a query here and, you know, looking up these emails. This is a dynamic
24 00:09:22.880 ⇒ 00:09:31.380 Ryon: This is a dynamic column, so it’s really useless to do it this way, right? This is basically useless. So…
25 00:09:32.110 ⇒ 00:09:39.940 Ryon: What I needed instead is for you to capture information about the person
26 00:09:40.280 ⇒ 00:09:50.310 Ryon: about the API, you know, the Calendly API here, right? And store that inside of BigQuery.
27 00:09:51.070 ⇒ 00:09:58.710 Ryon: Right? So, if you can capture data Around the different events in…
28 00:09:59.140 ⇒ 00:10:10.629 Ryon: Calendly, like, they booked an event, they rescheduled an event, you know, whatever, whatever the endpoint is, right? If you can capture all of that, from
29 00:10:11.080 ⇒ 00:10:29.119 Ryon: here, right, from Calendly itself, store it inside of BigQuery, then we can join that table’s information over to the business tables, basically order completed or order summary, and we can know what the performance of those people
30 00:10:29.250 ⇒ 00:10:37.820 Ryon: is, right? So I don’t have to play this game of, like, importing it into Google Sheets and trying to play this game of figuring out who’s who.
31 00:10:37.930 ⇒ 00:10:39.800 Ryon: Does that make sense?
32 00:10:40.930 ⇒ 00:10:45.259 Awaish Kumar: Yes, but my question is, why do we need
33 00:10:45.480 ⇒ 00:10:49.630 Awaish Kumar: Calendly, because you already have the list of emails.
34 00:10:50.450 ⇒ 00:11:08.249 Ryon: So the list of emails here is, this right here. This is a dynamic list. What I’d like it… what I’d like to do is I’d like to use Calendly, because this is the scheduling system, and this is… this is dynamic, this is updating regularly.
35 00:11:08.250 ⇒ 00:11:19.650 Ryon: Right? With information like, you know, cancellations, or reschedules, or, you know, the event actually happened, that kind of thing, right? Whereas this here, this is just from a Google form.
36 00:11:19.910 ⇒ 00:11:21.750 Ryon: Right? This is just from a Google form.
37 00:11:22.120 ⇒ 00:11:30.210 Ryon: That the team updates regularly. It’s not… it’s not frequently… like, this is not the best source of information, it’s not the source of truth, I would say.
38 00:11:30.600 ⇒ 00:11:33.530 Ryon: Yeah. So, if this is,
39 00:11:34.370 ⇒ 00:11:50.750 Ryon: you know, if this is gonna be too much for us to get information, or, you know, I was really just thinking it might be a quick, pull of information to get this all set up and figured out inside of, you know, Calendly real quick, so we can just record this data. That would be great.
40 00:11:50.770 ⇒ 00:11:57.419 Ryon: If it’s… if it’s too much, let me know. Like, if this is just too much, it might be simpler for us to just…
41 00:11:57.470 ⇒ 00:12:03.230 Ryon: grab the information manually, you know what I mean? If this is just gonna be too, too, too, too much.
42 00:12:04.780 ⇒ 00:12:11.420 Awaish Kumar: Okay, so it’s not that, like, it’s the writing these API calls are too much, it’s just, like.
43 00:12:12.170 ⇒ 00:12:18.890 Awaish Kumar: like, we do it if it’s needed. If we can, like, if it’s not needed, then, like, I was just trying to…
44 00:12:19.070 ⇒ 00:12:23.690 Awaish Kumar: See, like, if I already have an email, why do I need that? So I was just trying to learn that.
45 00:12:23.880 ⇒ 00:12:37.099 Ryon: No, no, I understand. I understand the question. I really am just getting to the point of, like, if this is, like, a lot of work or a lot of effort, it might just be easier for me to do this manually for the team. That’s really what I’m saying. So, like, how long do you think…
46 00:12:37.230 ⇒ 00:12:43.060 Awaish Kumar: Yeah, what I’m saying is, if it’s a continuous thing that you need to do, we can automate it, like, we…
47 00:12:43.400 ⇒ 00:12:52.049 Awaish Kumar: If it’s a one-time thing, then obviously you can do manually, but it’s something if you need to do, like, every day, or every week, or something like that, so…
48 00:12:52.700 ⇒ 00:12:55.970 Ryon: I mean, yeah, we probably will long-term.
49 00:12:56.110 ⇒ 00:12:57.570 Ryon: Okay. Basically.
50 00:12:58.400 ⇒ 00:13:00.620 Awaish Kumar: Okay, so yeah, I will,
51 00:13:01.790 ⇒ 00:13:08.109 Awaish Kumar: I will write that. What I needed was more like an organization ID.
52 00:13:09.170 ⇒ 00:13:10.709 Ryon: Oh, I have that for you.
53 00:13:18.580 ⇒ 00:13:19.630 Ryon: Hmm, a second…
54 00:13:41.630 ⇒ 00:13:42.700 Ryon: Try this.
55 00:13:53.910 ⇒ 00:13:56.269 Awaish Kumar: This is a token, right?
56 00:13:57.100 ⇒ 00:13:57.870 Ryon: Give me a second.
57 00:13:57.870 ⇒ 00:13:58.340 Awaish Kumar: God.
58 00:13:58.340 ⇒ 00:14:00.359 Ryon: I’m gonna give you an admin ID real quick.
59 00:14:05.100 ⇒ 00:14:05.760 Ryon: Hmm.
60 00:14:52.850 ⇒ 00:14:54.190 Ryon: I’ll have to look for that.
61 00:14:54.470 ⇒ 00:14:55.440 Ryon: I guess.
62 00:14:55.600 ⇒ 00:14:59.809 Ryon: And get it from… Yeah, I’ll have to look for that and get it from you.
63 00:15:03.670 ⇒ 00:15:06.320 Awaish Kumar: Okay, yeah, you can create it from…
64 00:15:07.650 ⇒ 00:15:09.400 Ryon: One second, I think, Katie.
65 00:15:28.890 ⇒ 00:15:29.650 Ryon: Alright.
66 00:15:29.930 ⇒ 00:15:32.190 Ryon: I pinged Katie, see what she says.
67 00:15:33.690 ⇒ 00:15:35.020 Awaish Kumar: Hmm, okay.
68 00:15:39.680 ⇒ 00:15:42.840 Ryon: Alrighty, is there anything else you need from me?
69 00:15:43.400 ⇒ 00:15:51.049 Awaish Kumar: So, I am… If you look at this endpoint called, events? Like, list events?
70 00:15:51.710 ⇒ 00:15:55.450 Awaish Kumar: Here is an example of how it will look like, organizationally.
71 00:15:58.910 ⇒ 00:16:03.640 Ryon: Let me see here… List events?
72 00:16:04.330 ⇒ 00:16:08.170 Awaish Kumar: Yeah, if you click on that inside, there’s, parameters.
73 00:16:10.680 ⇒ 00:16:14.909 Awaish Kumar: for that API call, and one of the parameters is organization.
74 00:16:16.150 ⇒ 00:16:23.399 Awaish Kumar: If you scroll down… Yeah, this organization.
75 00:16:24.190 ⇒ 00:16:27.740 Awaish Kumar: Here, it’s, scroll up, this one.
76 00:16:28.730 ⇒ 00:16:29.370 Ryon: This one here.
77 00:16:29.370 ⇒ 00:16:30.120 Awaish Kumar: loose.
78 00:16:30.490 ⇒ 00:16:34.739 Awaish Kumar: Yeah, there’s a one called organization, and the example is…
79 00:16:35.780 ⇒ 00:16:37.409 Awaish Kumar: So this is what I’m doing.
80 00:17:00.530 ⇒ 00:17:02.809 Ryon: I’m not sure if I know how to find this.
81 00:17:21.779 ⇒ 00:17:23.989 Awaish Kumar: Okay, what is under the admin side?
82 00:17:44.329 ⇒ 00:17:45.119 Awaish Kumar: Hold on.
83 00:18:20.620 ⇒ 00:18:21.210 Ryon: Hmm.
84 00:18:37.500 ⇒ 00:18:40.920 Ryon: I don’t know, Oish, this is actually kind of interesting.
85 00:18:43.150 ⇒ 00:18:47.989 Ryon: I’m not sure where to find this. I might be able to get it from an existing link.
86 00:18:48.430 ⇒ 00:18:50.240 Ryon: If I was to have a link?
87 00:18:50.680 ⇒ 00:18:53.099 Ryon: But I don’t know where this is.
88 00:18:55.270 ⇒ 00:18:58.720 Awaish Kumar: I’m also trying to Google, but there’s no…
89 00:19:00.030 ⇒ 00:19:03.299 Awaish Kumar: Docs on it, where to go to find out.
90 00:19:03.650 ⇒ 00:19:06.510 Awaish Kumar: I’ll see if I can find somewhere.
91 00:19:07.770 ⇒ 00:19:09.680 Ryon: Tell me where to go look if you find it.
92 00:19:10.280 ⇒ 00:19:11.450 Awaish Kumar: Okay, yeah, sure.
93 00:19:12.090 ⇒ 00:19:14.069 Ryon: Amen? Does that work? Okay.
94 00:19:14.520 ⇒ 00:19:18.630 Ryon: I feel like it should be kind of obvious, but… Maybe I’m missing it.
95 00:19:19.990 ⇒ 00:19:21.570 Ryon: Okay. Again…
96 00:19:22.260 ⇒ 00:19:30.349 Ryon: just base-level stuff of what I need is who’s setting up what events, and the status of cancellation of those events, that kind of thing.
97 00:19:32.660 ⇒ 00:19:33.360 Ryon: Yeah.
98 00:19:37.220 ⇒ 00:19:42.390 Awaish Kumar: And we are also… Okay, we are joining only based on emails, right?
99 00:19:42.920 ⇒ 00:19:53.699 Ryon: Email, first, last name, that thing, basically, yeah. You want to see what the… if you were able to get the data into BigQuery, I can create a query to pull data into…
100 00:19:56.690 ⇒ 00:20:15.599 Ryon: to pull data into Google Sheets, and it’ll just basically give the team the data they need regularly. It does a… it’s just because, you know, Calendly’s gathering it automatically, and Basque is sending its data via its webhooks automatically, so we can see the two joined together. That’s pretty much it. Shouldn’t be that hard, right?
101 00:20:16.210 ⇒ 00:20:18.180 Awaish Kumar: 100 more once it’s ingested.
102 00:20:18.640 ⇒ 00:20:20.500 Ryon: Okay, thank you, appreciate it.
103 00:20:20.920 ⇒ 00:20:22.119 Awaish Kumar: Alright, thank you.