Meeting Title: ABC Update Form Workflow Discussion Date: 2025-09-25 Meeting participants: Casie Aviles, Samuel Roberts
WEBVTT
1 00:01:12.570 ⇒ 00:01:16.950 Samuel Roberts: Hey, sorry, I was trying to finish up a message, and I went a little over.
2 00:01:18.680 ⇒ 00:01:20.560 Samuel Roberts: Cool.
3 00:01:21.210 ⇒ 00:01:23.599 Casie Aviles: I guess I’ll go sharing my screen.
4 00:01:23.860 ⇒ 00:01:24.610 Samuel Roberts: Totally.
5 00:01:27.290 ⇒ 00:01:31.600 Casie Aviles: Okay… It very seemed alright.
6 00:01:32.320 ⇒ 00:01:33.540 Casie Aviles: Screen.
7 00:01:33.540 ⇒ 00:01:35.549 Samuel Roberts: I’m seeing ChatGPT, there we go.
8 00:01:35.810 ⇒ 00:01:37.210 Casie Aviles: Oh, that’s… yeah.
9 00:01:37.350 ⇒ 00:01:42.410 Casie Aviles: Let me change… Alright.
10 00:01:45.520 ⇒ 00:01:51.460 Casie Aviles: Yeah, so basically, just to give you, some more context on what I was trying to do.
11 00:01:52.430 ⇒ 00:01:59.750 Casie Aviles: So I had, like, a form for updating… Was this form?
12 00:02:03.060 ⇒ 00:02:10.009 Casie Aviles: Basically, what, what I was trying to do was… I thought that,
13 00:02:10.430 ⇒ 00:02:13.229 Casie Aviles: Let me… wait, let me just show the forms.
14 00:02:14.310 ⇒ 00:02:20.740 Casie Aviles: So, my… my… I think the limitations that I was worrying… worried about was…
15 00:02:21.400 ⇒ 00:02:28.790 Casie Aviles: Like, ideally, we would find, like, the assignment. We should be able to look for the assignment and edit it here.
16 00:02:29.040 ⇒ 00:02:31.919 Casie Aviles: But I don’t think NATN will be able to…
17 00:02:32.440 ⇒ 00:02:39.049 Casie Aviles: Let us do that. So, I thought, okay, maybe we should just do…
18 00:02:39.630 ⇒ 00:02:42.390 Casie Aviles: A request, an update form.
19 00:02:42.700 ⇒ 00:02:49.800 Casie Aviles: But yeah, the issue there is that we won’t be able to directly update the DB.
20 00:02:50.520 ⇒ 00:02:55.120 Samuel Roberts: And so why don’t we think NN will be able to do it? I’m not 100% following.
21 00:02:56.330 ⇒ 00:03:00.180 Casie Aviles: This is just based mostly on…
22 00:03:00.660 ⇒ 00:03:07.680 Casie Aviles: on ChatGPT, where I was basically asking it, like, do you, if this form should be adequate, like.
23 00:03:09.910 ⇒ 00:03:18.660 Casie Aviles: because I’m not sure, like, what’s the best way we could do… implement, like, an update, because what they have to do is they have to go through,
24 00:03:20.300 ⇒ 00:03:24.669 Casie Aviles: They have to go through the assignments, they need to be able to look for the assignments.
25 00:03:26.890 ⇒ 00:03:31.759 Casie Aviles: If I’m not mistaken, so they have to know the assignment ID, or they have to…
26 00:03:31.960 ⇒ 00:03:32.869 Casie Aviles: We have to map.
27 00:03:33.390 ⇒ 00:03:34.300 Casie Aviles: Whoa.
28 00:03:34.850 ⇒ 00:03:40.919 Samuel Roberts: Okay, so let’s think about this a little bit, let’s back up, so I understand, at least. So, I go to this update form.
29 00:03:41.750 ⇒ 00:03:42.180 Casie Aviles: Sure.
30 00:03:42.180 ⇒ 00:03:44.740 Samuel Roberts: And the idea here is they’ve put in a name.
31 00:03:45.920 ⇒ 00:03:46.830 Casie Aviles: Yeah.
32 00:03:46.830 ⇒ 00:03:49.080 Samuel Roberts: And they put in a role.
33 00:03:50.570 ⇒ 00:03:51.780 Samuel Roberts: And are they…
34 00:03:52.120 ⇒ 00:03:58.610 Samuel Roberts: Is this an… okay, I guess my question is, what kind of update is this? Are we just… is this just adding people, or is it…
35 00:03:58.770 ⇒ 00:04:05.889 Samuel Roberts: changing, like, if… if there… if it’s Sam Roberts in here, and I’m already in the table as an inspector.
36 00:04:07.380 ⇒ 00:04:11.729 Samuel Roberts: what is the intention of picking, like, technicians? Does that change it, or does that add it?
37 00:04:13.390 ⇒ 00:04:19.540 Casie Aviles: You’re supposed to change it, because we already have a form that will do the insert.
38 00:04:19.870 ⇒ 00:04:27.650 Samuel Roberts: So the insert would be… the insert works if I’m already in the system, it adds me as a different entry, or not a different entry, but adds more things to me.
39 00:04:27.980 ⇒ 00:04:29.270 Casie Aviles: Yes, exactly.
40 00:04:29.270 ⇒ 00:04:36.290 Samuel Roberts: Okay, that’s what I was wondering. So this is actually gonna… Swap things, not just… Okay.
41 00:04:36.290 ⇒ 00:04:37.220 Casie Aviles: So… Yeah.
42 00:04:37.730 ⇒ 00:04:42.659 Samuel Roberts: I see, I see. So we’re wondering here… so say… I’m an entry here.
43 00:04:43.270 ⇒ 00:04:45.029 Samuel Roberts: as a contractor.
44 00:04:45.170 ⇒ 00:04:49.640 Samuel Roberts: Well, actually, can we just, based on the name, as long as the name is something that can get pulled.
45 00:04:50.170 ⇒ 00:04:58.410 Samuel Roberts: Is that able to be joined with the other tables and get a full… Detail?
46 00:04:58.550 ⇒ 00:04:59.860 Samuel Roberts: From Subabase?
47 00:05:02.230 ⇒ 00:05:06.910 Casie Aviles: So we get your name right from the People’s table, and then join it.
48 00:05:08.800 ⇒ 00:05:14.410 Samuel Roberts: Like, I’m wondering, I know, from my experience with, like, the Supabase JavaScript SDK, I could be, like.
49 00:05:15.010 ⇒ 00:05:21.460 Samuel Roberts: Give me… here’s this person, like, find… that person…
50 00:05:21.780 ⇒ 00:05:29.020 Samuel Roberts: you know, get the ID, like, search… And then… also return Everything connected to it.
51 00:05:30.670 ⇒ 00:05:37.370 Casie Aviles: So, we’ll, we’ll get, like… so given that, for example, let’s see…
52 00:05:39.710 ⇒ 00:05:46.830 Casie Aviles: So we… we have these people, we’re just gonna get, like, the ID, and then look for that in the assignments table, right?
53 00:05:46.830 ⇒ 00:05:53.059 Samuel Roberts: Right, so I… but I’m saying, like, I think there’s a way to say, like, in one SQL call to do all that.
54 00:05:55.570 ⇒ 00:05:56.560 Casie Aviles: Hmm.
55 00:05:56.800 ⇒ 00:06:02.529 Samuel Roberts: I don’t know what N8N allows, but I’m not… Superbase is just Postgres, and I think you can… Yes.
56 00:06:02.720 ⇒ 00:06:05.879 Samuel Roberts: Craft a… it might be a little more complex than…
57 00:06:06.090 ⇒ 00:06:11.750 Samuel Roberts: even I’m ready for it, because I don’t… but this is where we could… Probably use…
58 00:06:12.000 ⇒ 00:06:19.130 Samuel Roberts: some AI to help us, because I am just trying to think, like… so this Superbase ID is running what, exactly? Like a…
59 00:06:21.340 ⇒ 00:06:23.049 Casie Aviles: You mean this node?
60 00:06:23.430 ⇒ 00:06:25.370 Samuel Roberts: Yeah, like, what that notice is doing the lookup.
61 00:06:26.560 ⇒ 00:06:27.230 Casie Aviles: Yeah, this is…
62 00:06:27.230 ⇒ 00:06:28.649 Samuel Roberts: doing it, yeah.
63 00:06:28.650 ⇒ 00:06:33.520 Casie Aviles: It’s getting, like, the name, and then it’s going to return the…
64 00:06:33.990 ⇒ 00:06:38.390 Casie Aviles: So it’s just to check if the person exists in the people table.
65 00:06:38.590 ⇒ 00:06:42.600 Samuel Roberts: Okay. So, okay, I see what you’re saying. So after that, it then says…
66 00:06:43.380 ⇒ 00:06:46.289 Samuel Roberts: It’s found, basically, I assume, is the next one.
67 00:06:46.840 ⇒ 00:06:49.970 Casie Aviles: Yes, so it outputs, like, the actual record.
68 00:06:50.420 ⇒ 00:06:51.050 Samuel Roberts: Yeah, yeah.
69 00:06:51.050 ⇒ 00:06:52.120 Casie Aviles: Wonderful name.
70 00:06:52.950 ⇒ 00:06:56.759 Samuel Roberts: Okay, I guess I wasn’t sure what N8in’s, capabilities are here.
71 00:06:57.010 ⇒ 00:06:58.420 Samuel Roberts: to.
72 00:06:59.760 ⇒ 00:07:09.600 Casie Aviles: I see, yeah, I think I’m getting what you’re trying to say, so I think we need to do, like, a custom query then, because I think these.
73 00:07:09.600 ⇒ 00:07:12.190 Samuel Roberts: Yeah, so are there… okay, yeah.
74 00:07:12.190 ⇒ 00:07:18.859 Casie Aviles: Yeah, these nodes are very, like, what do you call this, like, simple operations, it’s like… Right.
75 00:07:19.460 ⇒ 00:07:19.830 Samuel Roberts: Okay.
76 00:07:19.830 ⇒ 00:07:20.510 Casie Aviles: Caso.
77 00:07:20.880 ⇒ 00:07:21.610 Casie Aviles: It’s just crazy.
78 00:07:21.610 ⇒ 00:07:29.540 Samuel Roberts: Delete, get a row, get many rows, update a row. Oh, interesting. I would have assumed there would have been, like, a custom SQL kind of one.
79 00:07:30.460 ⇒ 00:07:35.109 Samuel Roberts: Let me… Let’s see what Supergness says about this.
80 00:07:36.290 ⇒ 00:07:38.699 Samuel Roberts: Those are pretty basic.
81 00:07:38.700 ⇒ 00:07:39.690 Casie Aviles: They are…
82 00:07:40.030 ⇒ 00:07:52.370 Samuel Roberts: they’re not bad, obviously, they’re important for a lot, but this is where, like, we’re hitting a little bit of the limit with… because I think you’re right, we could do that lookup, we could merge all that in N8N, but then we’re kind of wasting Postgres, you know?
83 00:07:52.730 ⇒ 00:07:55.000 Casie Aviles: I see, yeah. I… I think Warren.
84 00:07:56.090 ⇒ 00:07:57.120 Samuel Roberts: Oh, go ahead, yeah, sorry.
85 00:07:57.120 ⇒ 00:08:01.469 Casie Aviles: Yeah, one option might be to do, like, an HTTP request.
86 00:08:01.880 ⇒ 00:08:02.560 Casie Aviles: Which…
87 00:08:02.560 ⇒ 00:08:02.920 Samuel Roberts: Yeah.
88 00:08:02.920 ⇒ 00:08:07.710 Casie Aviles: We can send, like, a more custom SQL query?
89 00:08:08.480 ⇒ 00:08:11.830 Casie Aviles: I think that’s something we may be able to do.
90 00:08:11.830 ⇒ 00:08:14.839 Samuel Roberts: Yeah, that’s exactly what it’s suggesting here in the documentation.
91 00:08:15.240 ⇒ 00:08:19.159 Samuel Roberts: the HTTP request node to call the services API, yeah.
92 00:08:19.740 ⇒ 00:08:20.590 Casie Aviles: Yeah.
93 00:08:20.860 ⇒ 00:08:24.110 Samuel Roberts: Okay, yeah, so that is the only way to do it. I was just making sure that there wasn’t, like, a…
94 00:08:24.540 ⇒ 00:08:26.380 Samuel Roberts: anything I was missing here, so…
95 00:08:28.390 ⇒ 00:08:29.030 Casie Aviles: So…
96 00:08:29.030 ⇒ 00:08:37.850 Samuel Roberts: Yeah, I think the first thing to do is probably, let’s figure out that SQL to see Everything?
97 00:08:43.039 ⇒ 00:08:51.249 Samuel Roberts: Yeah. Right, because then basically what happens is they’ll send a request, my ID here.
98 00:08:51.620 ⇒ 00:08:53.309 Samuel Roberts: And stop me if I’m wrong.
99 00:08:53.570 ⇒ 00:08:58.590 Samuel Roberts: They’ll send a request, we’ll have all the information there that we want.
100 00:08:58.920 ⇒ 00:09:03.959 Samuel Roberts: But what we first do is look up the person and compare with what is there, right?
101 00:09:04.490 ⇒ 00:09:06.480 Casie Aviles: Yeah, that’s what I’m doing.
102 00:09:07.800 ⇒ 00:09:11.619 Samuel Roberts: That’s what… yeah, yeah, but I’m saying, like, once we have this, we’ll have all their information, right?
103 00:09:19.580 ⇒ 00:09:23.640 Casie Aviles: Wait, sorry, did I get the answer? I mean the.
104 00:09:23.640 ⇒ 00:09:26.660 Samuel Roberts: No, no, no, sorry, I paused for a second, I’m like, hold on.
105 00:09:27.070 ⇒ 00:09:36.060 Samuel Roberts: So once we have… we would have the person, Their assignments, right?
106 00:09:37.670 ⇒ 00:09:38.340 Casie Aviles: Yeah.
107 00:09:39.210 ⇒ 00:09:42.939 Samuel Roberts: And what else do we get normally? Or what else do we need to know?
108 00:09:47.910 ⇒ 00:09:52.729 Casie Aviles: We want to update, basically, the assignment, so we need… so…
109 00:09:53.440 ⇒ 00:09:58.930 Casie Aviles: we should… we need, like, for example, I think where this can get complicated is…
110 00:09:59.940 ⇒ 00:10:08.159 Casie Aviles: Or maybe I’m just overthinking, the role ID, like, we want to… like, what if we want to change them into a different role, or…
111 00:10:08.750 ⇒ 00:10:10.910 Casie Aviles: But most likely… Okay, fine. Yeah, okay.
112 00:10:10.910 ⇒ 00:10:15.130 Samuel Roberts: Yeah, sorry, I’m just trying to think, I’m trying to understand it myself, so…
113 00:10:16.360 ⇒ 00:10:25.299 Samuel Roberts: there’s a… there’s a way to potentially get all that information, including the IDs and… What they mean, right?
114 00:10:26.670 ⇒ 00:10:29.079 Samuel Roberts: So let’s just say we make a big…
115 00:10:29.550 ⇒ 00:10:35.669 Samuel Roberts: fancy SQL query that gives us… The name, the assignments.
116 00:10:36.050 ⇒ 00:10:40.850 Samuel Roberts: The… from the assignments, it gets the role.
117 00:10:41.510 ⇒ 00:10:44.850 Samuel Roberts: So it would pull… it would basically pull these three.
118 00:10:46.010 ⇒ 00:10:49.879 Samuel Roberts: Rows, for example, and then it would dig into each one of these.
119 00:10:50.850 ⇒ 00:10:53.309 Samuel Roberts: And then it would also pick the location. That’s…
120 00:10:53.820 ⇒ 00:10:57.610 Samuel Roberts: doable with SQL, I just don’t know how obtained. But I guess…
121 00:10:58.820 ⇒ 00:11:00.920 Samuel Roberts: Do we need to dig any further than that?
122 00:11:01.850 ⇒ 00:11:05.550 Samuel Roberts: Because what are we updating here on the table, or on the form, I forget exactly.
123 00:11:08.230 ⇒ 00:11:09.720 Samuel Roberts: We’re updating…
124 00:11:10.250 ⇒ 00:11:15.230 Casie Aviles: Oh, sorry. Like, their assignment. So, for example, we want to reassign someone.
125 00:11:16.210 ⇒ 00:11:18.259 Samuel Roberts: Right, but we have 3 assignments here.
126 00:11:18.720 ⇒ 00:11:21.369 Samuel Roberts: Why do we have 3 assignments in different locations, right?
127 00:11:23.260 ⇒ 00:11:24.999 Casie Aviles: Yeah. Yeah, yeah.
128 00:11:25.000 ⇒ 00:11:25.690 Samuel Roberts: So…
129 00:11:25.890 ⇒ 00:11:27.270 Casie Aviles: different locations.
130 00:11:27.920 ⇒ 00:11:34.060 Samuel Roberts: I guess my first question is, how would we know which ones to update?
131 00:11:38.300 ⇒ 00:11:45.029 Samuel Roberts: Like, how do we just know that without the SQL or the AI? Like, if someone fills out that form and says…
132 00:11:46.150 ⇒ 00:11:54.280 Samuel Roberts: Here’s the name of the person, here’s their role, here’s their…
133 00:11:56.130 ⇒ 00:12:00.310 Samuel Roberts: Location, I guess? Service? Branch?
134 00:12:00.710 ⇒ 00:12:01.170 Casie Aviles: Yeah.
135 00:12:01.170 ⇒ 00:12:02.640 Samuel Roberts: It’s going to be…
136 00:12:02.640 ⇒ 00:12:04.020 Casie Aviles: Through the zip codes.
137 00:12:04.650 ⇒ 00:12:10.410 Samuel Roberts: So we would look and see… well, the, you know, I guess I’m wondering, is that any of these three could be changed?
138 00:12:11.830 ⇒ 00:12:12.720 Samuel Roberts: Right.
139 00:12:12.900 ⇒ 00:12:13.750 Casie Aviles: Yeah.
140 00:12:15.220 ⇒ 00:12:24.299 Samuel Roberts: And so, I guess, I don’t know, like, we’d have to look at the database, see what they’re already in, and then… is there a way to definitively know what they mean by this form?
141 00:12:26.820 ⇒ 00:12:28.719 Samuel Roberts: Like, what if they add a new zip?
142 00:12:29.020 ⇒ 00:12:30.259 Samuel Roberts: That they’re not in.
143 00:12:30.790 ⇒ 00:12:31.450 Samuel Roberts: Or they…
144 00:12:31.450 ⇒ 00:12:32.340 Casie Aviles: Hmm…
145 00:12:33.870 ⇒ 00:12:40.890 Samuel Roberts: change a branch, or change the role, does that mean add them to that role, or replace that role? You know what I mean? Like.
146 00:12:41.270 ⇒ 00:12:45.839 Samuel Roberts: Yeah. I think the role you already clarified, like, they’re gonna insert for that new stuff.
147 00:12:46.550 ⇒ 00:12:50.599 Samuel Roberts: But for updating, I feel like we have to know what is gonna change.
148 00:12:51.500 ⇒ 00:12:56.789 Samuel Roberts: like, especially because there’s 3 locations there, right? So I guess that’s really They have the zip.
149 00:12:57.100 ⇒ 00:13:01.390 Samuel Roberts: And if any of the zips are different, we add the zips, we just replace them completely.
150 00:13:01.500 ⇒ 00:13:03.810 Samuel Roberts: With the same role and service.
151 00:13:05.000 ⇒ 00:13:10.470 Samuel Roberts: Is that what it is? Yeah, that’s what I was thinking of. Okay, cool. That’s the… yeah, okay, go ahead.
152 00:13:10.470 ⇒ 00:13:17.139 Casie Aviles: want to reassign them to a different location. So, yeah, I guess to make it simpler, we limit it to that.
153 00:13:19.000 ⇒ 00:13:22.709 Samuel Roberts: Okay, and we get the location by a combination of branching zip, right?
154 00:13:23.480 ⇒ 00:13:24.240 Casie Aviles: Yes.
155 00:13:25.890 ⇒ 00:13:29.299 Samuel Roberts: Okay, so I think, let me just talk this through a little bit.
156 00:13:30.510 ⇒ 00:13:38.779 Samuel Roberts: We have the form, we get the info that they input, which will include the name, the role…
157 00:13:39.280 ⇒ 00:13:43.010 Samuel Roberts: So people could have multiple roles, but we’re only looking at ones that have this one role.
158 00:13:43.370 ⇒ 00:13:44.190 Samuel Roberts: Right?
159 00:13:45.600 ⇒ 00:13:51.339 Samuel Roberts: And then… Between the branch and the zip, we can identify
160 00:13:52.040 ⇒ 00:13:55.099 Samuel Roberts: The location that we want to
161 00:13:55.540 ⇒ 00:13:59.079 Samuel Roberts: the locations we want to add, I guess?
162 00:14:00.190 ⇒ 00:14:08.509 Samuel Roberts: Right? Because we’ll have multiple zips, but only one branch, right? Okay. Okay. So yeah, let’s figure out how to write that SQL, because I think if we… if we pull…
163 00:14:09.490 ⇒ 00:14:15.229 Samuel Roberts: the… The bran- like, the branches and stuff is, selected.
164 00:14:15.760 ⇒ 00:14:16.610 Samuel Roberts: Right.
165 00:14:17.490 ⇒ 00:14:18.069 Samuel Roberts: So we.
166 00:14:18.070 ⇒ 00:14:20.669 Casie Aviles: Yeah. There will be no issue…
167 00:14:21.340 ⇒ 00:14:29.310 Samuel Roberts: matching that name. Like, we’re setting that name, so it should match something in the database, and we can do a lookup to get the ID, right?
168 00:14:30.590 ⇒ 00:14:33.900 Samuel Roberts: If the full name isn’t found, obviously that’s an error.
169 00:14:34.610 ⇒ 00:14:36.010 Casie Aviles: Yeah, that’s going to be an error.
170 00:14:36.250 ⇒ 00:14:42.730 Samuel Roberts: So that’s fine. If the name is found, and there’s no role for that, like…
171 00:14:43.990 ⇒ 00:14:49.170 Samuel Roberts: what happens? So, say they are an inspector and someone puts in
172 00:14:51.390 ⇒ 00:14:53.480 Samuel Roberts: What’s the other one? I’m blanking all of a sudden, oh my god.
173 00:14:53.480 ⇒ 00:14:54.509 Casie Aviles: Oh, sorry, I did…
174 00:14:54.510 ⇒ 00:14:55.329 Samuel Roberts: Technician, thank you.
175 00:14:55.330 ⇒ 00:14:56.250 Casie Aviles: technician.
176 00:14:56.490 ⇒ 00:15:03.840 Samuel Roberts: So, like, If they are adding something, that becomes… we just add that field, right? Or add that row.
177 00:15:07.820 ⇒ 00:15:10.050 Samuel Roberts: Or is it an error if they’re not part of that?
178 00:15:10.740 ⇒ 00:15:18.220 Casie Aviles: I think, yeah, that’s going to be an error, because we’re not going to add anything here, it’s more like changing something that’s existing already.
179 00:15:18.220 ⇒ 00:15:21.839 Samuel Roberts: Totally. Okay, good. So, if the role is not found at all.
180 00:15:22.260 ⇒ 00:15:24.459 Casie Aviles: Then it’s probably going to be an error.
181 00:15:24.460 ⇒ 00:15:26.550 Samuel Roberts: Then we’ll make an eve. Okay.
182 00:15:27.050 ⇒ 00:15:31.609 Samuel Roberts: So then, if both of those are fine, and we are able to identify them.
183 00:15:31.770 ⇒ 00:15:36.710 Samuel Roberts: What we’ll then do is we will have looked up that list of assignments.
184 00:15:37.940 ⇒ 00:15:46.480 Samuel Roberts: For that, and find… and filter by the row, basically. And then we’ll see a number of different… locations.
185 00:15:46.730 ⇒ 00:15:52.229 Samuel Roberts: And we just… replace them, basically, I guess.
186 00:15:54.480 ⇒ 00:15:55.240 Casie Aviles: Hmm.
187 00:15:56.170 ⇒ 00:16:00.909 Samuel Roberts: Like, are we assuming that whatever locations they’re putting are now the only locations on this person?
188 00:16:04.200 ⇒ 00:16:06.190 Samuel Roberts: Or do we just supplement it?
189 00:16:08.990 ⇒ 00:16:12.570 Casie Aviles: Oh, sorry, supplements, so… Yes, sir.
190 00:16:12.570 ⇒ 00:16:13.320 Samuel Roberts: I went.
191 00:16:13.320 ⇒ 00:16:15.009 Casie Aviles: Can you, can you, can you.
192 00:16:15.470 ⇒ 00:16:18.830 Samuel Roberts: Yeah, so, like… Go back to the table real quick.
193 00:16:19.100 ⇒ 00:16:19.950 Casie Aviles: Sure, sure.
194 00:16:20.380 ⇒ 00:16:24.200 Samuel Roberts: So, this person has 3 locations for the same service and role.
195 00:16:24.410 ⇒ 00:16:24.970 Samuel Roberts: Okay.
196 00:16:26.850 ⇒ 00:16:31.660 Samuel Roberts: If they put in one more location, Into that update.
197 00:16:32.590 ⇒ 00:16:35.109 Samuel Roberts: Do we assume that’s just add a new row?
198 00:16:37.200 ⇒ 00:16:40.369 Samuel Roberts: Or delete these rows and add one row. You know what I mean?
199 00:16:43.160 ⇒ 00:16:49.380 Samuel Roberts: So, my thought is that they need to put in everything that’s gonna match these to keep them, you know?
200 00:16:50.580 ⇒ 00:16:51.320 Casie Aviles: Yes.
201 00:16:53.320 ⇒ 00:16:55.169 Samuel Roberts: As long as they know that, I think it’s okay.
202 00:16:55.450 ⇒ 00:16:59.250 Samuel Roberts: I don’t want them thinking, like, oh, I’m just… gonna…
203 00:16:59.630 ⇒ 00:17:07.669 Samuel Roberts: supplement on this update, it’s like, whatever you put in here is now their only assignment. So by updating, you need to update everything, theoretically.
204 00:17:08.569 ⇒ 00:17:12.239 Casie Aviles: Yeah, it’s… it’s kind of like overwriting it, right?
205 00:17:12.640 ⇒ 00:17:18.220 Samuel Roberts: Exactly, exactly. We’ll basically say whatever’s in there is trash, and this is the new location.
206 00:17:18.740 ⇒ 00:17:22.130 Samuel Roberts: And so if you want them to still have the old location, you need to include that.
207 00:17:22.339 ⇒ 00:17:27.829 Samuel Roberts: I don’t know if that’s ideal, but again, this is a limit, probably, of the N8N stuff, where we can only do so much.
208 00:17:28.580 ⇒ 00:17:29.850 Casie Aviles: Exactly, yeah.
209 00:17:31.110 ⇒ 00:17:34.529 Samuel Roberts: Does anyone have the ability to do, like, multiple step forms?
210 00:17:35.750 ⇒ 00:17:40.240 Casie Aviles: You mean, like, having, like, a second page? Something like that?
211 00:17:40.240 ⇒ 00:17:42.380 Samuel Roberts: Yeah, cause, like, could we put in the name?
212 00:17:43.410 ⇒ 00:17:44.250 Samuel Roberts: And…
213 00:17:44.850 ⇒ 00:17:50.149 Samuel Roberts: Roll, and then click a page, and it would show all the branches, and they could, like, pick which ones they wanted and add new ones?
214 00:17:51.870 ⇒ 00:17:58.079 Casie Aviles: I believe, yeah, there should be, like, a second page, for example, when… if I try this, if I submit.
215 00:17:59.010 ⇒ 00:18:00.840 Casie Aviles: Now, it should give us this…
216 00:18:01.540 ⇒ 00:18:05.210 Samuel Roberts: That’s what I’m wondering. Okay, this is exactly the kind of thing I’m wondering. So, we are now…
217 00:18:06.190 ⇒ 00:18:09.610 Samuel Roberts: Updating the services part.
218 00:18:10.780 ⇒ 00:18:12.769 Samuel Roberts: Okay, okay, I see.
219 00:18:15.730 ⇒ 00:18:21.069 Samuel Roberts: So then, here is where we would just keep whatever services they check and not any others.
220 00:18:24.290 ⇒ 00:18:25.210 Casie Aviles: Hmm…
221 00:18:31.510 ⇒ 00:18:38.559 Casie Aviles: So, there’s a way for them to, like, select multiple services, so what usually…
222 00:18:39.550 ⇒ 00:18:42.490 Samuel Roberts: I guess my question is, where is this other form…
223 00:18:42.600 ⇒ 00:18:46.679 Samuel Roberts: on the page. Is this inspector service, every inspector service?
224 00:18:49.020 ⇒ 00:18:53.430 Casie Aviles: Yeah, this should be, like, all the inspector services.
225 00:18:53.580 ⇒ 00:18:54.400 Samuel Roberts: Okay.
226 00:18:54.510 ⇒ 00:18:59.100 Samuel Roberts: this might not be something Neden can do, but is it possible to have these
227 00:19:00.150 ⇒ 00:19:04.739 Samuel Roberts: Like, we haven’t passed anything into any of them, right? It’s still waiting for the whole form to be submitted.
228 00:19:07.560 ⇒ 00:19:11.999 Casie Aviles: Yeah, but I feel… I believe that, like, in the middle of the…
229 00:19:12.620 ⇒ 00:19:17.919 Casie Aviles: Workflow, we’re already get… we’re already getting the data from the first page.
230 00:19:18.660 ⇒ 00:19:20.430 Samuel Roberts: Okay, that’s kind of what I’m wondering, so…
231 00:19:21.230 ⇒ 00:19:24.479 Samuel Roberts: Are we able to then change that second page?
232 00:19:26.470 ⇒ 00:19:27.920 Samuel Roberts: like, dynamically?
233 00:19:29.780 ⇒ 00:19:34.330 Casie Aviles: Hmm, Dana, I was looking into a way to do it.
234 00:19:34.770 ⇒ 00:19:35.790 Samuel Roberts: Okay.
235 00:19:35.880 ⇒ 00:19:42.960 Casie Aviles: I haven’t gotten to, you know, it’s… because it’s not, like, a easy way to do. Looks like a…
236 00:19:43.410 ⇒ 00:19:45.660 Casie Aviles: There’s, like, a way, but it’s smart.
237 00:19:45.660 ⇒ 00:19:46.430 Samuel Roberts: I’ll forget to work out.
238 00:19:46.430 ⇒ 00:19:47.350 Casie Aviles: around, you know.
239 00:19:47.350 ⇒ 00:19:54.830 Samuel Roberts: Yeah, that’s not fun. Okay. So, because my thought is, if we could… Fill out those… That first page?
240 00:19:55.260 ⇒ 00:20:06.099 Samuel Roberts: do a lookup, we could then pre-populate the ones that are actual, and then they could select whatever ones, or deselect whatever ones, and then we just overwrite all the assignments, you know?
241 00:20:07.590 ⇒ 00:20:09.910 Casie Aviles: Yeah… Okay.
242 00:20:10.420 ⇒ 00:20:14.440 Samuel Roberts: Otherwise, they have to make sure to fill in their current ones and the new ones.
243 00:20:14.550 ⇒ 00:20:23.970 Samuel Roberts: Or make sure to remove the ones they don’t want. So, I just don’t know how many people are on, like, so many multiple. Like, is that 3 we’re seeing, where they just are one location, one…
244 00:20:24.540 ⇒ 00:20:27.010 Samuel Roberts: In the Superbase.
245 00:20:27.270 ⇒ 00:20:32.210 Samuel Roberts: Like, is this common, where they have… One service, multiple locations.
246 00:20:33.610 ⇒ 00:20:40.100 Casie Aviles: what I… what I’ve seen is that there are multiple Services across multiple locations.
247 00:20:40.370 ⇒ 00:20:47.359 Samuel Roberts: Okay, that’s what I’m wondering, because if there’s a lot of those, then this is gonna be probably pretty annoying for them to have to fill in and make sure that they’re not just…
248 00:20:49.220 ⇒ 00:20:53.440 Samuel Roberts: The filter’s not comment.
249 00:20:53.560 ⇒ 00:20:54.230 Casie Aviles: Oh.
250 00:20:54.680 ⇒ 00:20:55.749 Samuel Roberts: Yeah, there you go.
251 00:21:00.510 ⇒ 00:21:05.150 Casie Aviles: Yeah, like… I was just trying to show the multiple.
252 00:21:05.150 ⇒ 00:21:07.589 Samuel Roberts: Yeah, that’s exactly what I want to see, totally. Okay.
253 00:21:11.370 ⇒ 00:21:14.380 Casie Aviles: Yeah, like… Like here, number.
254 00:21:14.380 ⇒ 00:21:15.599 Samuel Roberts: Yeah, 54 is…
255 00:21:15.710 ⇒ 00:21:22.849 Samuel Roberts: the same location, two different services. So this is where it gets complicated, because we can’t necessarily know what they’re changing here.
256 00:21:24.900 ⇒ 00:21:28.569 Samuel Roberts: like, how do they do it right now, I guess is my question. That Google Form…
257 00:21:29.550 ⇒ 00:21:31.069 Samuel Roberts: Do you have the Google Form open?
258 00:21:32.650 ⇒ 00:21:38.550 Casie Aviles: Yeah, it’s just… it’s this one, and how they’re doing it is… They just select…
259 00:21:39.150 ⇒ 00:21:41.359 Casie Aviles: So I tried to just mimic this.
260 00:21:41.740 ⇒ 00:21:46.229 Samuel Roberts: Yeah, that’s what I’m wondering, because if they’re already used to doing it that way, it’s probably okay. So they put in…
261 00:21:47.390 ⇒ 00:21:51.720 Samuel Roberts: Yeah, let’s say it’s just employee name for now, I’m not sure what the number is, we don’t…
262 00:21:51.720 ⇒ 00:21:53.179 Casie Aviles: Do you have the number.
263 00:21:53.700 ⇒ 00:21:56.429 Casie Aviles: And then we have the branches. So for them.
264 00:21:56.430 ⇒ 00:21:57.150 Samuel Roberts: So they’d have to pick…
265 00:21:57.150 ⇒ 00:21:58.950 Casie Aviles: I’ll multi-select for them.
266 00:21:58.950 ⇒ 00:22:03.460 Samuel Roberts: So they would… so, like, say they’re updating someone already in there that has Austin.
267 00:22:04.220 ⇒ 00:22:08.470 Samuel Roberts: And they fill out this form and only check Bell County.
268 00:22:09.920 ⇒ 00:22:12.170 Samuel Roberts: That would then remove Austin.
269 00:22:12.550 ⇒ 00:22:13.390 Samuel Roberts: Right?
270 00:22:16.420 ⇒ 00:22:17.500 Casie Aviles: Yeah, I’m…
271 00:22:18.330 ⇒ 00:22:24.329 Samuel Roberts: I just don’t know if it’s, like, this is their updated branches, or this is branches to update for them, you know?
272 00:22:26.690 ⇒ 00:22:27.990 Casie Aviles: This is where the…
273 00:22:27.990 ⇒ 00:22:31.289 Samuel Roberts: Custom UI would be nicer, because we could pull from Superbase, and they could just, like.
274 00:22:31.590 ⇒ 00:22:33.789 Samuel Roberts: Delete things and add things, you know?
275 00:22:35.120 ⇒ 00:22:35.980 Casie Aviles: Yeah.
276 00:22:36.960 ⇒ 00:22:39.139 Samuel Roberts: Okay, so I guess I…
277 00:22:39.610 ⇒ 00:22:45.420 Samuel Roberts: I still think the big SQL query is good, and we just have to hash out exactly how…
278 00:22:46.320 ⇒ 00:22:48.599 Samuel Roberts: The form behaves, like.
279 00:22:50.360 ⇒ 00:22:58.339 Samuel Roberts: For any given input, because there’s a few ways it could go, and people might not know exactly which way it goes, you know?
280 00:22:59.280 ⇒ 00:23:03.020 Casie Aviles: Do we have any insight into what happens after they fill this form out normally?
281 00:23:04.370 ⇒ 00:23:14.420 Casie Aviles: Yeah, I believe what they just do is, this goes… this is received by somewhere, and then they would just manually change it, because they don’t really automate it.
282 00:23:14.420 ⇒ 00:23:17.920 Samuel Roberts: No, that’s what I figured, I’m just… I’m wondering how they change it, you know?
283 00:23:18.650 ⇒ 00:23:24.360 Samuel Roberts: Like, will they know, oh, this person still works in Austin, or this person now only works Bell County?
284 00:23:26.310 ⇒ 00:23:32.340 Samuel Roberts: If they only check validity. That’s what I’m wondering, and maybe we need to clarify their current way it works?
285 00:23:32.480 ⇒ 00:23:33.810 Samuel Roberts: It’s, like, kind of…
286 00:23:34.790 ⇒ 00:23:41.120 Samuel Roberts: nitty-gritty details, but it will definitely affect how this form is used, so we might need to verify that with the client.
287 00:23:42.520 ⇒ 00:23:43.350 Casie Aviles: Here…
288 00:23:44.180 ⇒ 00:23:47.680 Samuel Roberts: Unless we know exactly how that workflow does that they’re manually doing.
289 00:23:50.080 ⇒ 00:23:51.320 Casie Aviles: But my gut…
290 00:23:51.320 ⇒ 00:23:58.340 Samuel Roberts: for N8N is to… just… Delete any matching rows for…
291 00:23:58.940 ⇒ 00:24:03.169 Samuel Roberts: The branches and zips, and replace them with the new services, you know?
292 00:24:05.220 ⇒ 00:24:10.489 Casie Aviles: Okay, so… yeah, I think that’s what we can… what I can do for now.
293 00:24:10.810 ⇒ 00:24:17.969 Samuel Roberts: Yeah, exactly. So, we still probably want to pull everything once we have everything, so we probably want to figure out that SQL.
294 00:24:19.350 ⇒ 00:24:20.110 Casie Aviles: Okay.
295 00:24:21.040 ⇒ 00:24:22.549 Samuel Roberts: We can work on that.
296 00:24:24.220 ⇒ 00:24:30.039 Samuel Roberts: So, okay, let’s, can we go to s… Yeah, let’s go to.
297 00:24:30.040 ⇒ 00:24:30.540 Casie Aviles: the base.
298 00:24:30.540 ⇒ 00:24:38.930 Samuel Roberts: Yeah, so let’s say… okay, so what we’re gonna have at the top, we’ll have a name, Right?
299 00:24:39.180 ⇒ 00:24:40.810 Samuel Roberts: A person name, I guess.
300 00:24:41.150 ⇒ 00:24:49.219 Samuel Roberts: We’ll have a… service… It’s only two services, so we could kind of hardcode that for now, but…
301 00:24:50.310 ⇒ 00:24:53.199 Samuel Roberts: So we might need to do that extra lookup, you know?
302 00:24:53.860 ⇒ 00:25:02.040 Samuel Roberts: But we can, too. So let’s for now just assume we have a person name, a service name,
303 00:25:02.530 ⇒ 00:25:08.770 Samuel Roberts: One branch name, and then potentially multiple zips.
304 00:25:09.260 ⇒ 00:25:16.530 Samuel Roberts: So the question is… what SQL do we write to get… To look up that person.
305 00:25:16.980 ⇒ 00:25:21.589 Samuel Roberts: In that service area, And then find, I guess.
306 00:25:21.760 ⇒ 00:25:25.740 Samuel Roberts: All the locations that they are, and then we compare Right.
307 00:25:26.800 ⇒ 00:25:28.390 Samuel Roberts: Oh, I’m sorry, we also get…
308 00:25:31.010 ⇒ 00:25:33.160 Samuel Roberts: We’ll have multiple service names, right?
309 00:25:34.550 ⇒ 00:25:37.260 Casie Aviles: Yeah, we do have multiple service names.
310 00:25:37.410 ⇒ 00:25:39.309 Samuel Roberts: Okay, okay, sorry, I almost forgot that.
311 00:25:39.460 ⇒ 00:25:40.310 Samuel Roberts: So…
312 00:25:41.250 ⇒ 00:25:44.320 Casie Aviles: Let’s try… is there a…
313 00:25:44.320 ⇒ 00:25:46.149 Samuel Roberts: Good way to view the whole schema.
314 00:25:46.470 ⇒ 00:25:48.939 Samuel Roberts: I don’t remember in Superbase where that lives.
315 00:25:50.240 ⇒ 00:25:55.080 Casie Aviles: We have just the schema visualizer, as far as I know.
316 00:25:56.950 ⇒ 00:26:02.749 Samuel Roberts: Okay, I thought there was a way to, like, see… Go to Database, actually?
317 00:26:04.660 ⇒ 00:26:05.980 Samuel Roberts: Mmm…
318 00:26:05.980 ⇒ 00:26:07.570 Casie Aviles: Yeah, this one.
319 00:26:08.120 ⇒ 00:26:11.260 Samuel Roberts: BSSQL, I think that’s what I’m talking about at the top right.
320 00:26:12.210 ⇒ 00:26:13.409 Casie Aviles: Okay, yeah.
321 00:26:13.410 ⇒ 00:26:17.870 Samuel Roberts: So, like, I think we can probably paste that into…
322 00:26:18.490 ⇒ 00:26:23.169 Samuel Roberts: chat GPT and explain what we want, and it might… or cursor.
323 00:26:24.300 ⇒ 00:26:26.600 Casie Aviles: Oh, I have ChatGPT on.
324 00:26:26.940 ⇒ 00:26:28.040 Samuel Roberts: Okay, yeah.
325 00:26:28.280 ⇒ 00:26:31.439 Casie Aviles: It already has some of the context that.
326 00:26:31.440 ⇒ 00:26:33.370 Samuel Roberts: Oh, good, okay, that’s perfect, yeah.
327 00:26:35.090 ⇒ 00:26:40.140 Samuel Roberts: So let’s say, here’s the full schema of this database, something like that.
328 00:26:41.250 ⇒ 00:26:43.319 Casie Aviles: It already has this.
329 00:26:43.740 ⇒ 00:26:50.340 Samuel Roberts: Oh, then you’re fine, okay, hopefully that’s good then. I would just say, like, given a…
330 00:26:50.490 ⇒ 00:27:00.609 Samuel Roberts: person’s name… And there… Well, let’s see…
331 00:27:04.220 ⇒ 00:27:07.190 Samuel Roberts: We want then to find their list of… and there’s…
332 00:27:07.600 ⇒ 00:27:10.749 Samuel Roberts: It’s just, we don’t want to use the branch in multiple zips yet, right?
333 00:27:11.590 ⇒ 00:27:12.889 Casie Aviles: Oh, okay. We just want…
334 00:27:13.110 ⇒ 00:27:16.419 Samuel Roberts: We want to look up all the assignments.
335 00:27:16.940 ⇒ 00:27:22.260 Samuel Roberts: I’m just trying to think. And don’t just anchor this, make sure we talk it through, because I’m spitballing, but…
336 00:27:22.560 ⇒ 00:27:31.820 Samuel Roberts: We want to look up all the assignments That have this person’s name, Or match this person’s…
337 00:27:32.370 ⇒ 00:27:34.249 Samuel Roberts: How do I want to phrase this with ChatGPT?
338 00:27:35.980 ⇒ 00:27:41.979 Samuel Roberts: We want to… Use the person’s name to get their ID,
339 00:27:42.570 ⇒ 00:27:51.589 Samuel Roberts: use the service names to get those IDs, and then look up all assignments that contain that user ID and that service ID, right?
340 00:27:52.830 ⇒ 00:27:53.490 Casie Aviles: Yes.
341 00:27:53.910 ⇒ 00:27:56.719 Samuel Roberts: I think this can happen in one step. Yeah, service, yeah, there you go.
342 00:27:59.510 ⇒ 00:28:02.659 Casie Aviles: And then we want to use those IDs to look for…
343 00:28:02.660 ⇒ 00:28:05.530 Samuel Roberts: For all given assign… yeah, all assignments that match.
344 00:28:16.080 ⇒ 00:28:19.430 Samuel Roberts: I might have wanted to say make sure it was SQL, but okay, good, I did it, okay.
345 00:28:22.110 ⇒ 00:28:24.790 Samuel Roberts: Perfect. This is the way to do it. Okay, so…
346 00:28:26.510 ⇒ 00:28:29.159 Samuel Roberts: No it’s not, because we don’t have the IDs. Go back.
347 00:28:33.740 ⇒ 00:28:39.460 Samuel Roberts: Oh, okay, it is joining services, it is joining people. Perfect. Okay, so you see what’s happening here?
348 00:28:40.430 ⇒ 00:28:41.330 Casie Aviles: Yeah, yeah.
349 00:28:41.940 ⇒ 00:28:45.189 Samuel Roberts: So it’s saying… Join these two.
350 00:28:45.910 ⇒ 00:28:48.690 Samuel Roberts: And then select all of these things from them.
351 00:28:49.770 ⇒ 00:28:55.870 Samuel Roberts: where the name is that, and the services enter in that. Okay, cool. The next thing we might want to add…
352 00:28:57.260 ⇒ 00:29:01.930 Samuel Roberts: is to… Populate those…
353 00:29:03.080 ⇒ 00:29:09.899 Samuel Roberts: Locations, so we get their branch names and zips, so we can do a little bit of work in comparing them, maybe?
354 00:29:11.680 ⇒ 00:29:15.860 Samuel Roberts: Or do we want to make that a… I think that we can do it all in one step to get all the information, so…
355 00:29:16.010 ⇒ 00:29:24.329 Samuel Roberts: I would say that’s great, a little encouragement for ChatGPT. Now, we also want to fetch the
356 00:29:24.740 ⇒ 00:29:33.239 Samuel Roberts: branch name, and zip code… for… all of the location IDs.
357 00:29:33.590 ⇒ 00:29:37.470 Samuel Roberts: For each assignment. Or each location ID for each assignment, something like that, yeah.
358 00:29:38.690 ⇒ 00:29:42.909 Casie Aviles: We also want to fetch the branch name and zip code. Yeah, okay.
359 00:29:43.910 ⇒ 00:29:47.910 Samuel Roberts: Yeah, that’s perfect, I think. And then hopefully this updated SQL will be…
360 00:29:51.410 ⇒ 00:29:53.820 Samuel Roberts: So they’re probably just gonna join the table, yep.
361 00:29:55.420 ⇒ 00:30:01.429 Samuel Roberts: And then we’re seeing location ID, location… okay, cool. So let’s… let’s throw that in with,
362 00:30:02.360 ⇒ 00:30:07.930 Samuel Roberts: someone’s name, I guess, and try it out, and that might be the HTTP request we kind of generate.
363 00:30:09.360 ⇒ 00:30:10.240 Casie Aviles: Oh, output.
364 00:30:10.430 ⇒ 00:30:12.580 Casie Aviles: I’ll try it here first.
365 00:30:12.580 ⇒ 00:30:16.080 Samuel Roberts: Yeah, oh, that’s what I mean, that’s exactly what I’m saying, try it here, and then make sure it works, so, like…
366 00:30:16.520 ⇒ 00:30:18.120 Samuel Roberts: Do we know a good name offhand?
367 00:30:18.560 ⇒ 00:30:20.710 Casie Aviles: Hmm, I’ll look for anyone.
368 00:30:21.200 ⇒ 00:30:25.519 Casie Aviles: There should be an inspector here. This one, I was trying to add this person, so…
369 00:30:25.990 ⇒ 00:30:26.850 Samuel Roberts: Okay.
370 00:30:27.350 ⇒ 00:30:31.209 Casie Aviles: I think… Maybe, yeah, Turner, I mean?
371 00:30:31.950 ⇒ 00:30:32.620 Samuel Roberts: Cool.
372 00:30:33.010 ⇒ 00:30:35.880 Samuel Roberts: And then, do we know what services?
373 00:30:36.170 ⇒ 00:30:37.529 Samuel Roberts: She does…
374 00:30:39.010 ⇒ 00:30:44.430 Casie Aviles: Yes, it should be… WDI embeddable.
375 00:30:45.190 ⇒ 00:30:45.860 Samuel Roberts: Okay.
376 00:30:47.910 ⇒ 00:30:50.050 Samuel Roberts: Inspectors?
377 00:30:50.650 ⇒ 00:30:53.469 Samuel Roberts: Okay, cool. I didn’t know how these were phrased, okay.
378 00:30:53.980 ⇒ 00:30:59.100 Samuel Roberts: Commercial ID and commercial… Sick. Okay.
379 00:30:59.980 ⇒ 00:31:02.459 Samuel Roberts: What are notes? What are you thinking notes are?
380 00:31:04.320 ⇒ 00:31:09.080 Samuel Roberts: Oh, his notes on, the assignment, they just don’t have all of them.
381 00:31:10.090 ⇒ 00:31:11.450 Casie Aviles: Yeah, it’s just… Or they don’t know.
382 00:31:11.450 ⇒ 00:31:12.150 Samuel Roberts: Something?
383 00:31:12.150 ⇒ 00:31:13.920 Casie Aviles: Sometimes there are, like.
384 00:31:14.380 ⇒ 00:31:20.679 Samuel Roberts: Yeah, so it’s just not everything has it. Totally, okay, cool. So that seemed to work, then.
385 00:31:21.080 ⇒ 00:31:27.259 Samuel Roberts: So we still have the assignment and person ID, we have the full name that we can match, we have the service ID,
386 00:31:27.990 ⇒ 00:31:39.040 Samuel Roberts: the service name… location ID, and each branch and zip. Okay. So now, I think the question becomes…
387 00:31:39.970 ⇒ 00:31:47.809 Samuel Roberts: what do we do with this data, given the inputs on the form that we haven’t used yet? Like, the branch and the zips and the services, right?
388 00:31:48.340 ⇒ 00:31:51.550 Samuel Roberts: That’s where we need to clarify how they want this form to work.
389 00:31:52.830 ⇒ 00:31:58.150 Samuel Roberts: I think my initial thing, and this might be the way to, like, work on it for now, is… Okay.
390 00:31:58.400 ⇒ 00:32:13.219 Samuel Roberts: for every… branch… Or for every service ID, we… Replace the location ID?
391 00:32:15.910 ⇒ 00:32:21.209 Samuel Roberts: with the matching location for the new branch and zips. Does that make sense?
392 00:32:23.120 ⇒ 00:32:26.999 Casie Aviles: Yeah, so we’re gonna overwrite the existing location ID.
393 00:32:27.200 ⇒ 00:32:30.000 Casie Aviles: with the location ID from the input.
394 00:32:30.560 ⇒ 00:32:31.190 Casie Aviles: Hmm.
395 00:32:31.190 ⇒ 00:32:37.479 Samuel Roberts: Yeah, we can either… we can either delete an insert, or we can just update, and I think updating probably makes more sense right now, but…
396 00:32:38.570 ⇒ 00:32:42.840 Samuel Roberts: Unless we want to keep track of, like, when they were assigned, that actually might be what we want, so…
397 00:32:44.010 ⇒ 00:32:44.700 Casie Aviles: Alright.
398 00:32:45.370 ⇒ 00:32:48.060 Samuel Roberts: Yeah, actually, we might want to just delete…
399 00:32:48.860 ⇒ 00:32:54.609 Samuel Roberts: An update. Unless we need to do anything where we’re, like, have an active flag or something?
400 00:32:54.900 ⇒ 00:32:57.719 Samuel Roberts: But I think that’s more than we need to do right now.
401 00:32:58.220 ⇒ 00:33:00.579 Casie Aviles: Yeah, we don’t… we don’t have that yet, I believe.
402 00:33:01.040 ⇒ 00:33:05.469 Samuel Roberts: Yeah, if we’re just deleting and stuff, then, you know, we could do a soft delete eventually, but…
403 00:33:05.610 ⇒ 00:33:08.560 Samuel Roberts: If they’re not doing that right now, I wouldn’t worry about it, you know?
404 00:33:10.000 ⇒ 00:33:14.889 Samuel Roberts: Okay. Okay. So, does that make sense, I think? Or do you think?
405 00:33:16.030 ⇒ 00:33:20.269 Casie Aviles: Mmm, yeah, I think, I think so. So, just to reiterate, like…
406 00:33:20.270 ⇒ 00:33:20.870 Samuel Roberts: Yeah.
407 00:33:20.870 ⇒ 00:33:26.460 Casie Aviles: for every service ID, right? Like, for example, we have 63 and then 59.
408 00:33:27.560 ⇒ 00:33:34.759 Casie Aviles: We’re going to replace the location ID, we’re gonna delete these, and then we’re gonna replace it with a new one, right?
409 00:33:35.400 ⇒ 00:33:39.900 Samuel Roberts: Yeah, we do need to delete, and then just reinsert, because there could be different numbers, yeah, okay.
410 00:33:40.960 ⇒ 00:33:45.589 Samuel Roberts: Okay. So, I think the other thing we need to do, then, is have a… another lookup.
411 00:33:46.210 ⇒ 00:33:52.690 Samuel Roberts: another SQL… That will… Find…
412 00:33:53.840 ⇒ 00:33:57.619 Samuel Roberts: all the location IDs for the given branch zip combinations.
413 00:34:06.500 ⇒ 00:34:12.080 Samuel Roberts: And then… And then… That’s what we use to do…
414 00:34:13.600 ⇒ 00:34:16.729 Samuel Roberts: The insertion after the deletions, right?
415 00:34:18.420 ⇒ 00:34:23.710 Samuel Roberts: And we assume that they do all services in all locations right now, because there’s no other way to split it, right?
416 00:34:24.889 ⇒ 00:34:26.719 Casie Aviles: Yes, we use.
417 00:34:32.419 ⇒ 00:34:34.879 Casie Aviles: Okay, yeah, I think that makes sense.
418 00:34:35.320 ⇒ 00:34:36.000 Samuel Roberts: Okay.
419 00:34:36.460 ⇒ 00:34:41.449 Samuel Roberts: Yeah, I think this is the cleanest way to do it right now, until we get clarification on…
420 00:34:41.969 ⇒ 00:34:45.159 Samuel Roberts: Like, is this how they’re expecting it to work, you know?
421 00:34:45.830 ⇒ 00:34:47.000 Casie Aviles: Okay, yeah.
422 00:34:47.610 ⇒ 00:34:49.639 Samuel Roberts: So I would say work on that,
423 00:34:49.940 ⇒ 00:34:52.769 Samuel Roberts: And then we’ll probably be able to clarify that
424 00:34:53.300 ⇒ 00:34:56.319 Samuel Roberts: Oh, you’re on a call, right?
425 00:34:56.619 ⇒ 00:34:59.529 Samuel Roberts: Yeah, in, like, half an hour, perfect, okay.
426 00:35:00.580 ⇒ 00:35:01.420 Casie Aviles: Oh, wait.
427 00:35:02.230 ⇒ 00:35:03.470 Casie Aviles: Oh, this one.
428 00:35:04.640 ⇒ 00:35:05.500 Casie Aviles: Okay.
429 00:35:06.690 ⇒ 00:35:11.580 Samuel Roberts: So we can make sure to clarify that. I might even ping Amber and let her know we’re gonna ask about it, just to make sure.
430 00:35:12.010 ⇒ 00:35:12.880 Casie Aviles: Okay.
431 00:35:14.950 ⇒ 00:35:15.890 Casie Aviles: Alright, so…
432 00:35:15.890 ⇒ 00:35:19.470 Samuel Roberts: Do you know if they’re the ones that approved the stuff, or, like, did the work on the back end?
433 00:35:19.710 ⇒ 00:35:25.569 Samuel Roberts: To, like, take the… form updates in Google Sheets and move them to the… the right sheets.
434 00:35:26.170 ⇒ 00:35:27.619 Samuel Roberts: Janiece and Yvette?
435 00:35:28.860 ⇒ 00:35:34.900 Casie Aviles: You mean, did they approve the work that we did? Like, the migration from the shitty.
436 00:35:34.900 ⇒ 00:35:38.150 Samuel Roberts: No, no, no, on the Google form that they have right now.
437 00:35:38.150 ⇒ 00:35:39.180 Casie Aviles: Yeah, yeah, yeah.
438 00:35:39.180 ⇒ 00:35:43.110 Samuel Roberts: Are they who would be doing the work to populate that into their…
439 00:35:44.980 ⇒ 00:35:49.600 Samuel Roberts: They’d be able to answer our question, or… I mean, they probably can either way, I just wasn’t sure who does it, you know?
440 00:35:49.860 ⇒ 00:35:54.430 Casie Aviles: Yeah, I believe it’s just Janice and, yvette, who does it?
441 00:35:54.770 ⇒ 00:35:55.860 Casie Aviles: Okay.
442 00:35:55.860 ⇒ 00:36:02.739 Samuel Roberts: So they might say, like, we do it this way, but this is how we’ll tell everyone to use it, then we’ll be fine. We’ll make sure to clarify that in half an hour, and then you can probably…
443 00:36:03.500 ⇒ 00:36:07.940 Samuel Roberts: Yeah, so I would say figure out the SQL for the location lookups.
444 00:36:09.890 ⇒ 00:36:11.220 Samuel Roberts: And then…
445 00:36:14.330 ⇒ 00:36:18.609 Samuel Roberts: And then, yeah, we’ll have to add the logic to do that work, and I’m wondering…
446 00:36:19.260 ⇒ 00:36:23.830 Samuel Roberts: where that should live, now that we’re kind of hitting the limits of NADN with this, you know?
447 00:36:25.030 ⇒ 00:36:32.480 Samuel Roberts: My saw is… If we can do this all in… SQL…
448 00:36:33.040 ⇒ 00:36:35.509 Samuel Roberts: Should we just make a function that does it?
449 00:36:37.760 ⇒ 00:36:38.640 Casie Aviles: Hmm.
450 00:36:38.640 ⇒ 00:36:40.170 Samuel Roberts: Like a stored procedure?
451 00:36:40.730 ⇒ 00:36:46.009 Casie Aviles: Yeah, like, we could, like, create… I believe we could create functions here in…
452 00:36:46.770 ⇒ 00:36:50.870 Samuel Roberts: Yeah, we can do edge functions, definitely, which are, like,
453 00:36:51.190 ⇒ 00:36:57.640 Samuel Roberts: JavaScript functions, but we could also just write a big SQL thing to do everything we wanted to do.
454 00:36:58.110 ⇒ 00:37:01.360 Samuel Roberts: You know what I mean? So I don’t know how complicated this logic’s gonna be.
455 00:37:01.790 ⇒ 00:37:02.640 Samuel Roberts: But…
456 00:37:03.070 ⇒ 00:37:07.950 Samuel Roberts: That’s a thought. What I’m saying is, like, take a little bit of the heavy lifting off of N8N, and just use it to, like.
457 00:37:08.610 ⇒ 00:37:09.300 Casie Aviles: Yeah.
458 00:37:09.560 ⇒ 00:37:11.690 Samuel Roberts: Handle the incoming and outgoing stuff.
459 00:37:12.090 ⇒ 00:37:19.420 Samuel Roberts: For now. Which will then make it easier, potentially, to build the custom UI if the logic isn’t all in NAN anyway.
460 00:37:19.560 ⇒ 00:37:21.589 Samuel Roberts: But that’s irrelevant right now, so…
461 00:37:21.740 ⇒ 00:37:28.699 Samuel Roberts: I would say figure out that other SQL, and then think about a little bit of how we might, like, go back to what the chat GPT and say, like.
462 00:37:29.260 ⇒ 00:37:33.070 Samuel Roberts: Like, can a SQL query do all of this?
463 00:37:33.190 ⇒ 00:37:39.870 Samuel Roberts: Or… or how would an SQL query do all of this? And if we want… Like, a little more…
464 00:37:42.690 ⇒ 00:37:49.949 Samuel Roberts: I don’t know, robustness? I’m not really sure how I want to call that, but we could do it on the edge functions, too. I don’t know how that charges, though, you know?
465 00:37:51.400 ⇒ 00:37:53.350 Samuel Roberts: Okay. And I don’t know how the…
466 00:37:54.090 ⇒ 00:37:58.579 Samuel Roberts: Store procedures work, either, as well, but that’s, like, on the database itself, so…
467 00:37:58.820 ⇒ 00:38:02.740 Samuel Roberts: Rather than, like, in an edge function kind of thing, so…
468 00:38:02.870 ⇒ 00:38:08.320 Samuel Roberts: Yeah, play with that a little bit. We got half, or less than half an hour now until we talk to them, so we’ll have more clarity afterwards, but…
469 00:38:08.520 ⇒ 00:38:10.050 Casie Aviles: I think this was…
470 00:38:10.050 ⇒ 00:38:12.449 Samuel Roberts: helpful, now that we’re… I’m on the same page, at least.
471 00:38:13.180 ⇒ 00:38:18.460 Casie Aviles: Yeah, this was very helpful, like, I wasn’t sure, like, what’s the best way to do this, and…
472 00:38:19.360 ⇒ 00:38:25.059 Samuel Roberts: No, yeah, no, I mean, I think I wasn’t either at first. This is… this is a good… been a good little working session for us, so…
473 00:38:26.400 ⇒ 00:38:29.310 Casie Aviles: Okay, yeah, I won’t take up more of your time.
474 00:38:29.810 ⇒ 00:38:32.540 Samuel Roberts: No, no worries, no worries, this is why I’m here.
475 00:38:32.540 ⇒ 00:38:34.940 Casie Aviles: Yeah, I’ll figure this out, and then…
476 00:38:35.710 ⇒ 00:38:37.499 Casie Aviles: Yeah, okay, I’ll let you know.
477 00:38:38.250 ⇒ 00:38:42.630 Samuel Roberts: Okay. Oh, I see, yeah, we may have to do the edge function kind of thing, because…
478 00:38:43.270 ⇒ 00:38:51.699 Samuel Roberts: to iterate over all of the inputs, or we do that in N8N, build a thing, and then pass it in. I don’t know. We can explore that later once we know how to do this, but I think there’s a lot of cool stuff to do here.
479 00:38:52.290 ⇒ 00:38:53.529 Casie Aviles: Okay, sure.
480 00:38:54.050 ⇒ 00:38:56.620 Samuel Roberts: Okay, cool. I’m gonna go then…
481 00:38:57.240 ⇒ 00:38:57.630 Casie Aviles: If you need.
482 00:38:57.630 ⇒ 00:39:00.700 Samuel Roberts: anything in the meantime, but I’ll see you on the call in 20 minutes.
483 00:39:01.730 ⇒ 00:39:05.229 Casie Aviles: Okay, I don’t think I would be… I will be there, though.
484 00:39:05.230 ⇒ 00:39:06.429 Samuel Roberts: You’re not on this call?
485 00:39:06.870 ⇒ 00:39:10.130 Samuel Roberts: Y-yeah, I don’t… I think… Oh, I’m sorry, yeah, yeah, yeah.
486 00:39:10.130 ⇒ 00:39:11.120 Casie Aviles: I think they’re not…
487 00:39:11.120 ⇒ 00:39:11.850 Samuel Roberts: Sorry.
488 00:39:12.260 ⇒ 00:39:17.130 Samuel Roberts: My mistake. Yeah, I’m even optional on it, but I usually go because I’ve been dealing with the…
489 00:39:17.600 ⇒ 00:39:19.220 Casie Aviles: The technical side.
490 00:39:19.370 ⇒ 00:39:22.429 Samuel Roberts: Yeah, I will make sure to clarify this then and get back to you, I apologize.
491 00:39:22.790 ⇒ 00:39:24.059 Casie Aviles: Yeah, no problem.
492 00:39:24.780 ⇒ 00:39:27.350 Casie Aviles: Cool. Thank you. Thank you very much, Sam.
493 00:39:27.350 ⇒ 00:39:29.850 Samuel Roberts: Don’t we? Yeah, of course, of course, anytime.
494 00:39:30.310 ⇒ 00:39:31.850 Casie Aviles: Yeah, we do have that demo.
495 00:39:32.710 ⇒ 00:39:34.590 Samuel Roberts: When’s that… is that right after?
496 00:39:35.090 ⇒ 00:39:36.730 Samuel Roberts: Okay, well, I’ll, I’ll, I’ll…
497 00:39:36.940 ⇒ 00:39:41.119 Samuel Roberts: get that out to you one way or another, whether I just Slack it to you or convenient, but…
498 00:39:41.670 ⇒ 00:39:43.260 Casie Aviles: Okay. Yeah, thank you.
499 00:39:43.260 ⇒ 00:39:44.800 Samuel Roberts: Alrighty. Yeah.
500 00:39:45.710 ⇒ 00:39:46.609 Casie Aviles: Bye bye.
501 00:39:47.050 ⇒ 00:39:47.730 Samuel Roberts: Bye.