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.