Meeting Title: Brainforge <> Contextual: Bi-Weekly Catchup Date: 2026-01-15 Meeting participants: Mike Klaczynski, Abhishek Varma, Gabriel Lam, Uttam Kumaran


WEBVTT

1 00:05:52.260 00:05:54.480 Abhishek Varma: We’re not in the wrong meeting, right, Mike?

2 00:05:55.560 00:05:57.690 Mike Klaczynski: I th-this is the right one.

3 00:05:58.470 00:06:00.290 Mike Klaczynski: I think this is the only one, right?

4 00:06:00.290 00:06:01.330 Abhishek Varma: Yeah, yeah.

5 00:06:01.510 00:06:03.670 Abhishek Varma: I… Hmm.

6 00:06:05.300 00:06:10.419 Abhishek Varma: Because he had… He had re-sent this.

7 00:06:11.020 00:06:11.690 Mike Klaczynski: Yeah.

8 00:06:14.270 00:06:15.530 Mike Klaczynski: Let me slack him.

9 00:06:16.140 00:06:16.660 Abhishek Varma: Yeah.

10 00:06:51.390 00:06:52.969 Mike Klaczynski: Alright, I’ll give him a few minutes.

11 00:09:33.210 00:09:34.380 Mike Klaczynski: Hey, Gabriel.

12 00:09:37.130 00:09:44.580 Gabriel Lam: Hey, how’s it going? Sorry, the reschedule didn’t show up on my calendars, I didn’t know what was happening until I saw the Slack message.

13 00:09:44.930 00:09:46.509 Mike Klaczynski: Nope, no worries.

14 00:09:46.840 00:09:48.590 Gabriel Lam: How are you guys? Happy New Year.

15 00:09:48.590 00:09:51.080 Mike Klaczynski: Happy New Year! Yeah, we’re doing good. How are you?

16 00:09:51.810 00:09:56.110 Gabriel Lam: I’m doing well. Lots going on, so…

17 00:09:56.430 00:09:58.280 Mike Klaczynski: Good. I was gonna ask, yeah, things…

18 00:09:58.730 00:10:02.000 Mike Klaczynski: Kicked into high gear, like they have for us.

19 00:10:02.340 00:10:03.930 Gabriel Lam: Yeah.

20 00:10:04.170 00:10:08.790 Gabriel Lam: I see Abhishek’s here as well, good to see you.

21 00:10:09.500 00:10:10.760 Abhishek Varma: Hello, hello!

22 00:10:11.400 00:10:19.970 Gabriel Lam: Hello. Yeah, I’m not sure who else is gonna be on this call at the moment.

23 00:10:20.820 00:10:22.540 Gabriel Lam: Hopefully.

24 00:10:23.880 00:10:30.239 Gabriel Lam: more people will come in. Abhishek, I did have a quick question before people hop in. Last time we talked about, like.

25 00:10:30.530 00:10:33.840 Gabriel Lam: A sort of extract feature being sent out.

26 00:10:34.030 00:10:35.639 Gabriel Lam: I’m just…

27 00:10:35.640 00:10:36.650 Abhishek Varma: That’s only carry it.

28 00:10:37.620 00:10:47.789 Gabriel Lam: That’s GA? Amazing. Yeah, I did… I think I was checking it… checking it last night, and I was like, oh, I wonder… like, it popped up, and then it didn’t pop up anymore, I wonder if it’s here.

29 00:10:48.020 00:10:51.200 Gabriel Lam: But… Glad to hear.

30 00:10:52.630 00:10:59.740 Abhishek Varma: Yep, it’s GA now, it is under the components, page.

31 00:11:00.090 00:11:04.559 Abhishek Varma: our sidebar, I can show you on my UI if you need.

32 00:11:06.370 00:11:09.779 Gabriel Lam: I’ll just try to quickly find it on my end.

33 00:11:10.760 00:11:11.320 Abhishek Varma: Yeah.

34 00:11:18.530 00:11:23.500 Gabriel Lam: Yeah, it’s not showing up on my end for some reason. It did show up, it did pop up for a day or so.

35 00:11:24.840 00:11:26.970 Mike Klaczynski: Is this… it’s not behind a feature flag?

36 00:11:28.770 00:11:32.899 Abhishek Varma: It should be GA, so let me… what is your tenant again?

37 00:11:33.900 00:11:39.610 Gabriel Lam: It should just be… this is just for the Brainforge, right. Workspace. Let me check.

38 00:11:43.400 00:11:45.050 Abhishek Varma: What is the tenant name?

39 00:11:50.620 00:11:52.320 Gabriel Lam: believe…

40 00:11:54.380 00:11:58.290 Abhishek Varma: It should say, app.contextual.ai slash something.

41 00:11:58.470 00:12:00.660 Gabriel Lam: It should just be Brainforge, yeah.

42 00:12:02.090 00:12:03.720 Abhishek Varma: Can you share your screen real quick?

43 00:12:03.720 00:12:07.390 Gabriel Lam: Sure. Happy to do that. Give me a second.

44 00:12:28.610 00:12:33.640 Gabriel Lam: I apologize for the… heap of tabs, but,

45 00:12:34.080 00:12:36.489 Gabriel Lam: I believe you’re talking about… this?

46 00:12:36.490 00:12:37.240 Abhishek Varma: Yeah.

47 00:12:37.730 00:12:38.210 Gabriel Lam: Should be…

48 00:12:38.210 00:12:38.860 Abhishek Varma: there.

49 00:12:39.790 00:12:41.090 Gabriel Lam: Okay, interesting.

50 00:12:41.530 00:12:44.189 Abhishek Varma: And it was there, you said?

51 00:12:45.020 00:12:46.960 Gabriel Lam: I think I saw it for…

52 00:12:47.960 00:12:52.810 Gabriel Lam: either I was hallucinating, but I was like, oh, I’m pretty sure we talked about it, and I saw it coming.

53 00:12:53.680 00:12:57.029 Abhishek Varma: Okay, I don’t have access to your…

54 00:12:58.770 00:13:02.069 Abhishek Varma: to your tenant. I think…

55 00:13:05.370 00:13:10.150 Abhishek Varma: I’m… I may need to… Get access to it.

56 00:13:10.280 00:13:11.020 Abhishek Varma: Do you want.

57 00:13:11.020 00:13:11.680 Gabriel Lam: Okay.

58 00:13:11.820 00:13:15.600 Abhishek Varma: To grant access to me? Is that something that you’re authorized to do?

59 00:13:16.660 00:13:24.449 Gabriel Lam: That, I… Don’t know, to be… to be… Honest and transparent with you.

60 00:13:24.670 00:13:25.590 Gabriel Lam: Okay.

61 00:13:26.020 00:13:29.070 Abhishek Varma: Let me have a look, I can…

62 00:13:30.860 00:13:35.430 Abhishek Varma: I can see what’s going on, internally, and…

63 00:13:35.550 00:13:40.500 Abhishek Varma: If there’s some feature flag or something we need to… Ended up dying on.

64 00:13:40.680 00:13:41.620 Gabriel Lam: Awful.

65 00:14:05.040 00:14:06.739 Abhishek Varma: Yeah, let me have a look.

66 00:14:08.460 00:14:11.020 Abhishek Varma: It is… It should.

67 00:14:13.620 00:14:21.110 Abhishek Varma: Yeah, I also don’t have ac… now we’ve definitely buttoned up on all our access, so I can’t access your tenant.

68 00:14:21.360 00:14:24.070 Abhishek Varma: But let me, I can actually…

69 00:14:25.450 00:14:28.110 Abhishek Varma: you know, I’ll just come in and see if…

70 00:14:29.030 00:14:32.079 Abhishek Varma: I can grant myself permission to switch it on.

71 00:17:04.829 00:17:11.839 Abhishek Varma: Okay, so technically, it is not in GA, but it is in production, so that’s why it’s behind a feature flag right now.

72 00:17:12.230 00:17:13.099 Gabriel Lam: I’ve done.

73 00:17:14.520 00:17:16.959 Abhishek Varma: So, I have enabled it for you.

74 00:17:18.270 00:17:19.500 Gabriel Lam: Awesome.

75 00:17:19.930 00:17:22.030 Abhishek Varma: Yeah, do you wanna just have a look?

76 00:17:23.589 00:17:26.699 Gabriel Lam: Just… yes, I see it.

77 00:17:27.470 00:17:28.359 Abhishek Varma: Okay, great.

78 00:17:28.770 00:17:30.849 Gabriel Lam: Amazing. Thank you so much.

79 00:17:31.360 00:17:37.610 Abhishek Varma: So, do you… do you recall how… It works.

80 00:17:39.790 00:17:45.040 Gabriel Lam: Briefly, I remember it was, like, extracting, schema.

81 00:17:45.170 00:17:51.659 Gabriel Lam: and being able to fill it in, which I think, for the demo that we were working on,

82 00:17:51.780 00:17:55.220 Gabriel Lam: Was one of the more… like…

83 00:17:57.000 00:18:05.220 Gabriel Lam: deeper demos. I think there’s sort of two parts with, like, intake, which is less about schema, and one about form filling, which…

84 00:18:05.380 00:18:13.990 Gabriel Lam: clear, like, as you… I remember you, sharing, like, needs it a lot, so I think this is really helpful for the follow-up demo, which we are working on right now.

85 00:18:14.750 00:18:15.440 Abhishek Varma: Great.

86 00:18:20.140 00:18:24.060 Abhishek Varma: Yeah, so, hopefully this helps. Let me know if you need,

87 00:18:24.750 00:18:28.349 Abhishek Varma: Example schema or something like that.

88 00:18:28.350 00:18:31.370 Gabriel Lam: I would… yes. I will reach out, yeah.

89 00:18:31.720 00:18:32.860 Abhishek Varma: Okay, great.

90 00:18:32.860 00:18:33.880 Gabriel Lam: Thank you.

91 00:19:52.230 00:19:54.209 Abhishek Varma: Is there anything else I can help with?

92 00:19:55.360 00:20:00.889 Gabriel Lam: I think that’s it for now. I think on our end, one of the… one of our blockers is mainly with.

93 00:20:01.440 00:20:04.200 Gabriel Lam: Just having the correct

94 00:20:04.420 00:20:13.669 Gabriel Lam: like, formatting, basically, like, what an SME would use on the daily, and I think some of that is just, you know, behind their own…

95 00:20:15.870 00:20:28.679 Gabriel Lam: it’s just like, yeah, we’re also working to make sure we have the… like, the demo is working well for people in the industry, and so that’s really our blocker, but it’s not… I think contextual is working really well.

96 00:20:29.030 00:20:36.200 Gabriel Lam: I think, now that you say it, I did have a question where… Sometimes when I…

97 00:20:38.650 00:20:42.319 Gabriel Lam: have… I’m gonna try to bring up an example.

98 00:21:18.110 00:21:22.229 Gabriel Lam: Give me… give me one minute, I’m just trying to scroll through the history.

99 00:22:22.110 00:22:25.319 Mike Klaczynski: Hey guys, I’m back, sorry I had to step away for a phone call.

100 00:22:27.670 00:22:32.590 Gabriel Lam: No worries. I think Abhishek and I was just trying to, talk over

101 00:22:32.760 00:22:40.379 Gabriel Lam: some of the features, and I just had a quick question that I can bring up now, which was, I think it’s to do with multi-step.

102 00:22:40.550 00:22:44.499 Gabriel Lam: And maybe this is the way I set up the agent.

103 00:22:45.000 00:22:56.949 Gabriel Lam: Something I noticed was… For example, if I… Bring up, I can share a screen.

104 00:23:02.650 00:23:10.030 Gabriel Lam: So, you know, I… one example of what we’re trying to do is to… Just talk about…

105 00:23:10.450 00:23:16.019 Gabriel Lam: insurance, and specifically in this case, I wanted to have a difference between, like, having

106 00:23:16.160 00:23:18.760 Gabriel Lam: You know, different… differing levels of…

107 00:23:18.940 00:23:32.810 Gabriel Lam: information in a data store. What I noticed was, like, when I looked at, for example, this quote that just asked for a transcript and COI, for insurance, it sometimes also looks at the other documents in the data store.

108 00:23:33.220 00:23:38.730 Gabriel Lam: And I wonder if there’s a way to… for example, if I…

109 00:23:39.230 00:23:41.509 Gabriel Lam: You know, take a look here,

110 00:23:42.210 00:23:48.210 Gabriel Lam: it, like, takes, you know, a policy document that we put in. And I was like, okay, is that something that we can…

111 00:23:48.820 00:23:53.220 Gabriel Lam: Specify, or do you recommend that in the data store, we actually

112 00:23:53.350 00:23:57.129 Gabriel Lam: Differentiate it and put them in different data stores based on levels of access.

113 00:23:58.270 00:24:03.199 Abhishek Varma: So, I don’t really understand the question here,

114 00:24:03.620 00:24:07.290 Abhishek Varma: Do you want to filter out

115 00:24:07.390 00:24:10.729 Abhishek Varma: particular types of documents? Do you want to… Yeah.

116 00:24:10.730 00:24:11.840 Gabriel Lam: Exactly.

117 00:24:12.010 00:24:12.470 Abhishek Varma: Okay.

118 00:24:13.400 00:24:24.139 Gabriel Lam: it’s really, you know, is that filtering something that… I thought that you could filter it based on the prompt that you write, but I’m…

119 00:24:24.380 00:24:30.599 Gabriel Lam: not… like, it’s still extracting documents that I’m trying to filter out, and so my question is.

120 00:24:31.090 00:24:38.940 Gabriel Lam: Is that with the filter prompt in the agent, or is that… more of a… data store, like.

121 00:24:39.320 00:24:41.740 Gabriel Lam: organization question.

122 00:24:41.740 00:24:45.589 Abhishek Varma: So, let me share my screen.

123 00:24:54.120 00:24:55.839 Abhishek Varma: Do you see my screen? Is it…

124 00:24:55.840 00:24:56.530 Gabriel Lam: Yes.

125 00:24:57.020 00:24:57.610 Abhishek Varma: Yeah.

126 00:24:58.210 00:25:01.969 Abhishek Varma: So, over here, is this what you’re talking about?

127 00:25:04.190 00:25:11.870 Gabriel Lam: So… if I go into… well, re-ranking, I understand. I think it was more so…

128 00:25:12.250 00:25:21.149 Gabriel Lam: when I was sharing the screen just now, where in the prompt I asked it to only look through certain pieces in the datastore, and yet it would still

129 00:25:21.270 00:25:26.050 Gabriel Lam: retrieve from other… Documents. I see.

130 00:25:26.460 00:25:29.830 Gabriel Lam: And is that something that… my first…

131 00:25:30.000 00:25:33.610 Gabriel Lam: you know, instinct is like, oh, they should go in different data stores then, right? Because then…

132 00:25:33.750 00:25:43.529 Gabriel Lam: that seems to, you know, you would have an ID associated with that, as opposed to trying to configure it through the agent. Is that the recommendation that you would have as well?

133 00:25:43.820 00:25:46.529 Abhishek Varma: So, if it is imperative that

134 00:25:46.560 00:26:05.040 Abhishek Varma: the documents do not get conflated, meaning, for example, if you have different customers and, you know, certain data belongs to customer A and customer Y’s agent cannot get documents from customer A, then yes, you should definitely have different data stores.

135 00:26:05.040 00:26:06.350 Gabriel Lam: Okay.

136 00:26:06.690 00:26:10.180 Abhishek Varma: re-ranker is, more of a…

137 00:26:10.470 00:26:27.420 Abhishek Varma: guidance, you know, it’s not like a strict auditable guarantee thing. It’s more like, hey, prioritize documents that are most recent, or prioritize documents that are, you know, more relevant to the chemical engineering industry, for example, right? They’re like.

138 00:26:27.420 00:26:28.220 Gabriel Lam: Got it, yeah.

139 00:26:28.220 00:26:29.670 Abhishek Varma: Yeah, so…

140 00:26:30.210 00:26:43.369 Abhishek Varma: for example, other customers, that build on top of Contextual to serve their own customers, they keep individual… their own customers’ data in separate data stores.

141 00:26:44.420 00:26:45.050 Gabriel Lam: Right.

142 00:26:47.990 00:26:55.109 Uttam Kumaran: We’d probably end up doing both, Gabe. Like, we’d have a data store for each, and then we’d also have, like, probably some global

143 00:26:55.820 00:26:59.730 Uttam Kumaran: In case, like, in case the customer’s doing, like, cross-customer…

144 00:27:00.560 00:27:00.940 Abhishek Varma: Cheers.

145 00:27:00.940 00:27:02.240 Uttam Kumaran: Something, right? Yeah.

146 00:27:02.450 00:27:11.050 Gabriel Lam: Right. So, let’s say if it is the same customer, and they’re, you know, they have, like, this year’s data and last year’s data in the same data store.

147 00:27:11.050 00:27:11.480 Uttam Kumaran: Yeah.

148 00:27:11.480 00:27:18.630 Gabriel Lam: Or, for example, this year’s policy and last year’s policy in the same data store, like, is there a way to configure the agent so that

149 00:27:18.950 00:27:23.989 Gabriel Lam: I could be like, I can only call out this year’s and have it not, you know.

150 00:27:24.240 00:27:35.640 Gabriel Lam: retrieve last year is by accident. Is that something… at least that’s what I noticed was happening on my end, and I don’t know if it’s how I’m configuring the agent, or if there’s, like, pointers on your end to be like, oh, this is how we could set it up.

151 00:27:36.450 00:27:43.770 Abhishek Varma: So the re-ranker prompt over here, you would write, prioritize the most recent documents.

152 00:27:44.360 00:27:50.269 Abhishek Varma: And… I see. And that will filter, filter out the…

153 00:27:50.820 00:27:57.739 Abhishek Varma: And the way it will, understand most recent is, it will try and infer it from

154 00:27:57.870 00:28:03.240 Abhishek Varma: The metadata of the documents, but… To guarantee that.

155 00:28:03.240 00:28:07.180 Uttam Kumaran: Does the title go into the context?

156 00:28:07.370 00:28:11.709 Abhishek Varma: Yeah, so you… if, for example, right, let’s see…

157 00:28:12.160 00:28:15.739 Abhishek Varma: Over here, this is your document.

158 00:28:15.740 00:28:21.220 Uttam Kumaran: And then also, I guess, what other metadata on PDFs, like, actually goes in? Because, yeah, that’s something we can control also.

159 00:28:21.220 00:28:29.210 Abhishek Varma: Yeah, so… so, as best practice, through the API, you should tag metadata

160 00:28:29.350 00:28:34.810 Abhishek Varma: in each document, so that the re-ranker has access to it. I see.

161 00:28:35.160 00:28:44.449 Abhishek Varma: This… this doesn’t have a date, right? But sometimes you’ll… you’ll see a date here or something, and over here, this is the metadata right now.

162 00:28:44.720 00:28:45.710 Uttam Kumaran: Okay.

163 00:28:46.080 00:28:59.449 Abhishek Varma: There will be a… there’ll be a thing that says date of publication, or whatever, 1st January 2026. And so then it’ll be like, okay, that’ll be part of the metadata, and you can edit it over here.

164 00:29:00.720 00:29:06.649 Abhishek Varma: But… you know, it’s best to do it at API, so… If you go here…

165 00:29:09.930 00:29:11.260 Abhishek Varma: I think…

166 00:29:11.260 00:29:17.610 Uttam Kumaran: It would basically be, like, on Datastore, like, creation or on ingestion, we would, like, tag the metadata.

167 00:29:17.920 00:29:18.580 Abhishek Varma: Correct.

168 00:29:18.690 00:29:19.910 Uttam Kumaran: Dynamically or something?

169 00:29:20.150 00:29:33.859 Abhishek Varma: Correct. So, upon ingesting, if something like this… I think for insurance, and ensuring things like, you know, how you would match particular documents to particular policies.

170 00:29:33.940 00:29:40.289 Abhishek Varma: The metadata field is very custom, right? So it can be as complex as you wish.

171 00:29:40.510 00:29:45.060 Abhishek Varma: And so I would suggest that you guys use this as best practice.

172 00:29:45.060 00:29:49.650 Uttam Kumaran: Do you suggest we use the metadata fields for things like summaries, or…

173 00:29:49.990 00:29:54.560 Uttam Kumaran: like, pre… basically, if we pre-process things before putting it to Datastore.

174 00:29:55.730 00:29:57.689 Abhishek Varma: What do you mean by summaries?

175 00:29:57.690 00:30:02.910 Uttam Kumaran: So, if I was to say, like, give it, like, a short description of, like, what’s in the document.

176 00:30:03.460 00:30:04.230 Abhishek Varma: Oh, okay.

177 00:30:04.260 00:30:05.350 Uttam Kumaran: valuable.

178 00:30:05.770 00:30:10.000 Abhishek Varma: I believe that is valuable for the LLM, but…

179 00:30:10.200 00:30:13.360 Abhishek Varma: Most importantly, the metadata should be…

180 00:30:13.450 00:30:25.010 Abhishek Varma: For example, for a consulting company, we did, like, metadatas for the authors, right? So if there’s a research paper or a blog post or something, you can write

181 00:30:25.010 00:30:34.609 Abhishek Varma: Authors, date of publication, what institute it was published from, etc, so that the read anchor, you can be like, hey.

182 00:30:34.610 00:30:52.800 Abhishek Varma: prioritize, prioritize articles from authors that are… have PhDs, or that are experts in a particular field, and then it will be able to go through the metadata to… to re-rank and prioritize those documents. Okay. So, summary, is…

183 00:30:53.270 00:31:07.360 Abhishek Varma: I don’t know if summary will be very important, but definitely, like, metadata on the document that allows you to, re-rank them and prioritize them based on some business logic should be in this.

184 00:31:07.670 00:31:08.520 Uttam Kumaran: Okay, okay.

185 00:31:10.740 00:31:14.220 Gabriel Lam: So, I guess a quick question would be, like, what is the difference

186 00:31:14.720 00:31:20.579 Gabriel Lam: that you’re distinguishing between re-ranking and filtering, because filtering.

187 00:31:20.580 00:31:21.400 Abhishek Varma: Good question.

188 00:31:21.400 00:31:27.080 Gabriel Lam: It’s about, you know, completely excluding something, as opposed to, like, prioritizing.

189 00:31:27.490 00:31:29.740 Abhishek Varma: Good question. So,

190 00:31:29.880 00:31:42.210 Abhishek Varma: we would recommend you to use the re-ranker. The filter is more of a root force thing, but we’ve actually found that the re-ranker is performing better in our experiments.

191 00:31:43.130 00:31:45.099 Gabriel Lam: Understood. Awesome. Okay.

192 00:31:45.100 00:31:53.289 Uttam Kumaran: Well, it’s like, Gabe, it’s basically like, if you… if there’s a risk of not having it for something you want to ask, then you basically shouldn’t… shouldn’t re-rank, so…

193 00:31:53.890 00:31:54.530 Abhishek Varma: Yeah.

194 00:31:58.830 00:31:59.410 Uttam Kumaran: Okay.

195 00:32:00.110 00:32:05.609 Uttam Kumaran: Hey guys, sorry, I came in a little bit late. Maybe, Mike, I could send you some… yeah, I’ll send you some… I’ll send some Slack notes.

196 00:32:05.760 00:32:06.950 Mike Klaczynski: Yeah, let’s do that. Thanks.

197 00:32:06.950 00:32:07.590 Uttam Kumaran: Okay.

198 00:32:09.640 00:32:10.600 Abhishek Varma: Thank you.

199 00:32:11.840 00:32:13.669 Abhishek Varma: Any, anything else here?

200 00:32:18.050 00:32:18.820 Abhishek Varma: We have some…

201 00:32:18.820 00:32:19.190 Gabriel Lam: That’s real.

202 00:32:19.190 00:32:21.240 Abhishek Varma: Exciting, yeah, go ahead.

203 00:32:21.240 00:32:24.029 Gabriel Lam: to hear it. No, no, no, no, go on.

204 00:32:24.030 00:32:31.979 Abhishek Varma: We… we have some really exciting stuff on the horizon. Utam and Gabe, have you heard of our agent composer stuff?

205 00:32:34.010 00:32:45.619 Uttam Kumaran: No, although I know that I’m not familiar with the terminology, I may have just missed… It’s not really. Like, I know about the current agent creation interface, but if it’s not related to that, then no.

206 00:32:45.840 00:32:49.820 Abhishek Varma: Yeah, so this is… this is like… I don’t know if I’m…

207 00:32:50.130 00:32:52.730 Abhishek Varma: This is not yet generally available.

208 00:32:52.730 00:32:54.980 Uttam Kumaran: Yeah, no, I’ve never seen this before.

209 00:32:55.190 00:33:00.760 Abhishek Varma: Yeah, so we have some really intense updates coming.

210 00:33:00.890 00:33:05.960 Abhishek Varma: So, for example, Let me show you…

211 00:33:07.450 00:33:11.460 Abhishek Varma: This is, like, what we are working on, all hands on deck.

212 00:33:14.400 00:33:25.159 Abhishek Varma: So, basically, this feature, okay, is coming on, and it’s, like, a big deal. I don’t even know if I’m allowed to share this with you, but whatever.

213 00:33:26.190 00:33:39.099 Abhishek Varma: Basically, we are working on very complex multi-agent frameworks to reason through not just your documents, but externally.

214 00:33:39.220 00:33:41.760 Abhishek Varma: External data sources.

215 00:33:41.930 00:33:54.959 Abhishek Varma: And basically provide tools for a planner agent to generate reports and take actions against them. So, let me show you an example really quick.

216 00:34:01.710 00:34:09.960 Abhishek Varma: So… So… For example, we…

217 00:34:10.139 00:34:22.980 Abhishek Varma: This is like a demo tenant where we have, some warehouses, where a hurricane is coming, some fake hurricane is coming, and we want to do some risk analysis.

218 00:34:23.320 00:34:31.189 Abhishek Varma: So… This… this is… looking up

219 00:34:31.630 00:34:37.579 Abhishek Varma: our own, like, how you’ve… you’ve already seen our own rag, right? So this is…

220 00:34:37.580 00:34:38.090 Uttam Kumaran: Yes.

221 00:34:38.090 00:34:48.880 Abhishek Varma: we still have the same industry-leading rag on your own data, but then it becomes more than that. You can look up whether… you can look up anything online.

222 00:34:49.020 00:34:54.310 Abhishek Varma: And then you can also run arbitrary code to…

223 00:34:54.449 00:35:06.189 Abhishek Varma: You know, for example, we want to calculate the financial impact of a 45% capacity reduction, right? LLMs are bad at math, but what they can do is generate code that does math well.

224 00:35:06.390 00:35:09.199 Abhishek Varma: So… so we’re able to do…

225 00:35:09.430 00:35:18.499 Abhishek Varma: you know, run arbitrary code in Python to start doing calculations. We can execute data visualizations

226 00:35:18.640 00:35:24.489 Abhishek Varma: We can generate maps. So, anything that can be done in Python.

227 00:35:25.110 00:35:34.589 Abhishek Varma: can be done, along with externally getting, you know, information from APIs that you trust, from web search, things like that.

228 00:35:35.000 00:35:38.679 Abhishek Varma: So, this is, like, what the company is really working on right now.

229 00:35:39.040 00:35:45.419 Uttam Kumaran: Wow, that’s great. So it’s very, like, yeah, it’s kind of, like, on the fly, like, a bunch of different items, yeah.

230 00:35:46.260 00:35:47.390 Uttam Kumaran: Interesting.

231 00:35:47.770 00:35:48.490 Abhishek Varma: Yeah, so…

232 00:35:48.490 00:35:56.430 Uttam Kumaran: calling external MCPs and, like, like, what, what were the types of external like, methods, yeah.

233 00:35:56.430 00:36:13.379 Abhishek Varma: So… so you’ll… you… I’ll show you on the map, but really, what this is calling is web search, right? We have a web search tool. Okay. And then we have what we call as web hooks, aka, it triggers a cloud function.

234 00:36:13.380 00:36:14.330 Uttam Kumaran: Oh, God.

235 00:36:14.680 00:36:25.979 Abhishek Varma: That just, like, run… does something. So here, this cloud function, I have written to generate graphs and visualizations, right? Data visualizations, but…

236 00:36:25.990 00:36:36.929 Abhishek Varma: Here, you see, this code used output is, it… it called an LLM to run this function. It said, hey.

237 00:36:37.050 00:36:44.950 Abhishek Varma: This is the logic. I need to write a Python script to do that. It went ahead, generated the Python script.

238 00:36:45.460 00:36:51.490 Abhishek Varma: and then got the output of the Python script, which is this, and included that into the report.

239 00:36:53.310 00:36:58.129 Abhishek Varma: Right? In this case, the Python script is simple math, but it can be anything.

240 00:36:59.030 00:37:01.150 Uttam Kumaran: Interesting, okay, yeah, yeah, yeah.

241 00:37:02.600 00:37:04.469 Abhishek Varma: So this way, we can do…

242 00:37:05.010 00:37:09.759 Abhishek Varma: A lot of financial analysis, a lot of anything that you can do in code.

243 00:37:09.880 00:37:15.680 Abhishek Varma: right, can be done in… as long as, like, a simple script in Python can be done.

244 00:37:15.870 00:37:16.960 Abhishek Varma: So…

245 00:37:17.690 00:37:36.630 Abhishek Varma: you know, we’ll be able to generate much richer reports with maps, data visualizations, things like that. Access web search, access any MCP or API. We have, like, a secret manager, so you can securely store your API keys.

246 00:37:36.720 00:37:44.630 Abhishek Varma: And really build, like, Entire applications on… that… that require context engineering.

247 00:37:45.750 00:37:50.610 Uttam Kumaran: And are you releasing, like… boilerplate.

248 00:37:50.610 00:37:51.200 Abhishek Varma: Yes.

249 00:37:51.200 00:37:59.950 Uttam Kumaran: like, create chart, like, for example, let’s say create… I saw it was, like, generate bar chart. Are you… that’s boilerplate, like, you’re just giving that out.

250 00:38:00.250 00:38:06.699 Abhishek Varma: Yes, yes, yes. All this is, like, we’ll be creating a configuration, so let me show you…

251 00:38:07.930 00:38:10.950 Abhishek Varma: So this is, you know, not GA, right?

252 00:38:10.950 00:38:11.349 Uttam Kumaran: This is…

253 00:38:11.930 00:38:14.270 Abhishek Varma: Under NDA.

254 00:38:15.010 00:38:22.250 Abhishek Varma: So, for example, you see web search. I’ll just show you here. So these are all the nodes that you can connect.

255 00:38:22.430 00:38:31.220 Abhishek Varma: So this is our UI. Usually, I just write… you can write this in YAML, usually what I do is I generate the YAML with AI.

256 00:38:31.220 00:38:35.429 Uttam Kumaran: Yeah, similar to NA… basically similar to N8N, except programmable.

257 00:38:35.430 00:38:35.920 Abhishek Varma: Yeah.

258 00:38:35.920 00:38:36.720 Uttam Kumaran: programmable.

259 00:38:37.040 00:38:37.620 Abhishek Varma: Exactly.

260 00:38:37.620 00:38:41.970 Uttam Kumaran: Which is the… which was the… it’s just a stupid problem about N8N, basically.

261 00:38:41.970 00:38:52.010 Abhishek Varma: Yeah, exactly. So, like, honestly, what… what’s going on is… so this is the UI representation, right? Sure. So… so it’s, it’s…

262 00:38:52.110 00:39:10.579 Abhishek Varma: Supply Chain Search is a tool that we have defined, which is our rag on our own supply chain. But web search is a tool that comes boilerplate, like, give it a query, it will Google search it and give you a result. Generate Risk Map is a tool that has been defined using our

263 00:39:10.740 00:39:14.649 Abhishek Varma: You know, that understands that it needs to call the map

264 00:39:15.200 00:39:23.899 Abhishek Varma: webhook, right? The generate map webhook. Generate bar chart. These are all tools that have been given to this agent.

265 00:39:24.040 00:39:29.199 Abhishek Varma: And the agent decides… Which of these tools it needs

266 00:39:29.360 00:39:39.499 Abhishek Varma: to, actually give you a result. So, for example, there’s a create presentation tool, right? It can generate PowerPoints, but for this query, it did not need to generate a PowerPoint.

267 00:39:39.640 00:39:49.720 Abhishek Varma: I’ve given it, the power to generate infographics or any AI image. It didn’t need it here, but if I asked for an infographic, it would be able to generate that.

268 00:39:50.000 00:39:55.660 Abhishek Varma: So… That’s… that’s, like, you can imagine the power here.

269 00:39:57.130 00:40:00.930 Abhishek Varma: And the way I have been really working on this is…

270 00:40:01.370 00:40:04.500 Abhishek Varma: this, so this is, like, program map, yeah?

271 00:40:04.940 00:40:09.840 Abhishek Varma: So, so… Yeah, so this, you know, I basically…

272 00:40:10.530 00:40:19.939 Abhishek Varma: work with AI to generate this, and, deploy agents really fast. This is what you can look forward to in the near future.

273 00:40:19.940 00:40:21.649 Uttam Kumaran: Great. This is awesome.

274 00:40:22.280 00:40:27.600 Uttam Kumaran: I mean, a lot of enterprise use cases are… they’re trying to use something like N8N,

275 00:40:27.770 00:40:38.950 Uttam Kumaran: because it’s not programmable, they don’t have a tight coupling, unless you’re, like, on their super big plan with, like, GitHub or something, it’s really difficult, once you get big, to do any sort of debugging or anything like that.

276 00:40:39.570 00:40:41.150 Uttam Kumaran: Yeah, and so…

277 00:40:41.390 00:40:48.860 Abhishek Varma: And so our, our vision is… You see here.

278 00:40:50.200 00:40:55.590 Abhishek Varma: It’s when you create an agent, what you saw is… so we’ll have templates.

279 00:40:55.700 00:41:06.040 Abhishek Varma: we’ll have a blank canvas, which is a blank YAML file, but what I’m really looking forward to is this, where in natural language, you tell it

280 00:41:06.540 00:41:20.140 Abhishek Varma: what data you already have in your data stores, what data you need from the web, and what tools you want to give this agent in natural language, and it will generate that YAML configuration.

281 00:41:21.510 00:41:22.590 Uttam Kumaran: Interesting.

282 00:41:23.020 00:41:25.140 Uttam Kumaran: I mean, Gabe, on our side.

283 00:41:26.240 00:41:32.080 Uttam Kumaran: I mean, basically, like, this insurance agent just becomes this type of agent, basically.

284 00:41:32.580 00:41:37.529 Uttam Kumaran: And continue to layer on tools, and what we’re packaging is that… is that agent.

285 00:41:37.830 00:41:38.670 Uttam Kumaran: You know?

286 00:41:40.130 00:41:44.319 Uttam Kumaran: Because ultimately, it is basically that, like, we’re gonna layer on

287 00:41:44.460 00:41:54.760 Uttam Kumaran: Right now, the use case is very rudimentary, just asking questions over, but we want to layer on, like, a risk analysis, like, you could say module, right, where you can ask a bunch of stuff, you get a bunch of return.

288 00:41:54.880 00:41:58.019 Uttam Kumaran: Or, like, a benchmarking thing, or something like that.

289 00:41:58.250 00:42:01.730 Uttam Kumaran: And again, like, I think for non-technical users.

290 00:42:02.570 00:42:05.809 Uttam Kumaran: having it end up as a UI,

291 00:42:07.180 00:42:09.289 Uttam Kumaran: It’s much easier to tweak things.

292 00:42:09.930 00:42:10.390 Abhishek Varma: Yeah.

293 00:42:10.390 00:42:12.809 Uttam Kumaran: Everything is programmatic forever, you know?

294 00:42:13.210 00:42:18.540 Abhishek Varma: Yeah, and I really think that the… Quite frankly.

295 00:42:19.400 00:42:26.540 Abhishek Varma: the UI is… is good for non-technical users, but, like, you saw how complex that particular thing was, right? Like, it’s…

296 00:42:26.540 00:42:27.140 Uttam Kumaran: Yeah.

297 00:42:27.300 00:42:36.450 Abhishek Varma: Yeah, so the best… the best scenario here, from a… from a UX perspective, in my, in my opinion, is…

298 00:42:36.710 00:42:39.340 Abhishek Varma: is the AI generates the YAML, where you…

299 00:42:39.340 00:42:44.370 Uttam Kumaran: Exactly. But, like, it’s the small tweaks after that, like, you actually want non-technical users.

300 00:42:44.370 00:42:45.140 Abhishek Varma: Yes.

301 00:42:45.140 00:42:47.040 Uttam Kumaran: To be able to adjust and tweak.

302 00:42:47.310 00:42:51.090 Uttam Kumaran: But, like, yeah, the, the, the kind of, like, the initialization…

303 00:42:52.070 00:42:57.630 Uttam Kumaran: Yeah, I totally agree. I mean, again, but it’s like, that’s already what’s happening in VS, basically.

304 00:42:57.630 00:43:05.259 Abhishek Varma: Yeah, I mean, what’s happening… what… how I’m deploying these agents is I’m in cursor, I’m importing all the documents.

305 00:43:05.260 00:43:05.580 Uttam Kumaran: Yeah.

306 00:43:05.580 00:43:21.600 Abhishek Varma: from our GitHub, right? So Cursor understands the capabilities of all these different tools, and then within cursor, I’m like, hey, generate a YAML that does this. And so, it’s AI to create AI, so what am I doing, right?

307 00:43:21.600 00:43:22.200 Uttam Kumaran: Yep.

308 00:43:23.260 00:43:40.709 Abhishek Varma: But yeah, that’s… that’s, like, a huge step forward that we’re making as a company. We’ll be launching it later on, I think, in early Feb. So keep… keep your eyes peeled. I will demo it to you guys properly, do a workshop, so that you guys can take it to market.

309 00:43:40.710 00:43:44.779 Uttam Kumaran: But I assume basically all of that is, like, you can white-label, like, all pieces of…

310 00:43:46.880 00:43:52.519 Abhishek Varma: I don’t know about white labeling as a strategy for, like, what that means,

311 00:43:52.520 00:44:03.190 Uttam Kumaran: Well, I guess, like, how much of the UI is, like, the… because I know the theme of y’all’s company is just, like, everything kind of programmable. Like, how much of that UI lives

312 00:44:03.430 00:44:08.300 Uttam Kumaran: Like, yeah, like, what parts of the UI piece are, like, embeddable, or…

313 00:44:08.990 00:44:12.300 Abhishek Varma: Okay, so I see what you mean.

314 00:44:13.120 00:44:18.709 Abhishek Varma: I don’t know about embeddable UI, but what you could do is…

315 00:44:18.860 00:44:24.720 Abhishek Varma: use this… so, just like how you call our API and get a return, right?

316 00:44:24.720 00:44:26.190 Uttam Kumaran: functions and a UI to do that?

317 00:44:26.190 00:44:30.770 Abhishek Varma: Yeah, and you can do that, or you can, like.

318 00:44:31.130 00:44:45.669 Abhishek Varma: program things like, hey, generate this report, export it as a PDF and email it. Or write an email and just send it as an email. And so… or you update Salesforce with it. That code gen step is…

319 00:44:45.930 00:44:55.459 Abhishek Varma: really big, right? You can generate… you can, like, write whatever code, host it on your own, you know, Lambda or whatever serverless thing.

320 00:44:55.630 00:45:07.140 Abhishek Varma: and just trigger that to send an email, to update a record in whatever CRM, anything you wish. So, it becomes part of the workflow rather than,

321 00:45:07.550 00:45:12.379 Abhishek Varma: you know, something where somebody has to log into Pentextual to interact with.

322 00:45:12.680 00:45:13.260 Uttam Kumaran: Yeah.

323 00:45:13.930 00:45:15.359 Uttam Kumaran: On the fly, which is great.

324 00:45:15.360 00:45:21.450 Abhishek Varma: Yeah, and so that’s what’s really cool, like, I’ve been trying to, like.

325 00:45:21.570 00:45:28.399 Abhishek Varma: get people excited about it. I’m like, guys, this is like a… you can generate infinite code, like, what the hell? This is crazy.

326 00:45:28.400 00:45:32.490 Uttam Kumaran: Sort of like when they talk about, like, with V0, you can generate UI on the fly.

327 00:45:32.590 00:45:33.270 Abhishek Varma: Yeah.

328 00:45:33.270 00:45:36.140 Uttam Kumaran: So this… yeah, it’s… Exactly.

329 00:45:36.630 00:45:50.370 Abhishek Varma: Yeah, and so when we look at it from a context engineering perspective, we already built best-in-class RAG on your data. Now we can supplement that with external data, then process that with

330 00:45:50.770 00:45:59.259 Abhishek Varma: on-the-fly generated code and data visualizations to then generate, like, actual intelligence that can then be

331 00:45:59.710 00:46:02.669 Abhishek Varma: Update it into whatever workflow that you work on.

332 00:46:04.270 00:46:04.980 Uttam Kumaran: Yeah.

333 00:46:07.290 00:46:09.010 Abhishek Varma: So, watch this space.

334 00:46:09.170 00:46:09.949 Abhishek Varma: This is a D.

335 00:46:13.740 00:46:14.700 Uttam Kumaran: No, that’s awesome.

336 00:46:14.700 00:46:15.629 Gabriel Lam: That’s super exciting.

337 00:46:15.630 00:46:16.260 Uttam Kumaran: Yeah.

338 00:46:16.670 00:46:17.889 Uttam Kumaran: That’s great.

339 00:46:20.260 00:46:22.340 Abhishek Varma: Great, so… Cool.

340 00:46:22.740 00:46:24.649 Abhishek Varma: Whet your appetite there.

341 00:46:24.650 00:46:29.129 Uttam Kumaran: No, no, that’s great. I feel like even just knowing that that’s coming is actually really, really helpful.

342 00:46:29.440 00:46:47.439 Abhishek Varma: Yeah, that’s why I wanted to, like, because I see you guys are actively building, you know, insurance policy agents and things like that, and so I wanted to really… as you design these, or as you think about a go-to-market or something like that, I don’t want you to, like, limit

343 00:46:47.700 00:46:58.169 Abhishek Varma: your understanding of what’s… I want to show the… share the roadmap so that you guys can envision what you can go to market with. It’s a lot more than a Q&A tool.

344 00:46:58.580 00:47:06.330 Uttam Kumaran: Yeah, but even the, like, some of our customers are sophisticated enough that they want to make changes, and they want to build on top of, like, what we set up.

345 00:47:06.710 00:47:07.280 Abhishek Varma: Yeah.

346 00:47:07.280 00:47:11.529 Uttam Kumaran: Fork it, fork something from there, and sort of, like, continue to edit.

347 00:47:11.730 00:47:13.150 Uttam Kumaran: So, that’s great.

348 00:47:14.410 00:47:16.690 Abhishek Varma: Yeah, exactly. So, you know.

349 00:47:17.680 00:47:32.700 Abhishek Varma: we’ll be able to… if you have, like, consulting companies or anything that requires PowerPoint presentation, we will be able to generate a PowerPoint based on the report that is being made. We’ll be able to generate a variety of artifacts,

350 00:47:33.200 00:47:36.930 Abhishek Varma: Or hook into whatever system that they’re working in.

351 00:47:37.060 00:47:39.750 Abhishek Varma: So it’s beyond just, like, a chatbot.

352 00:47:40.140 00:47:40.690 Uttam Kumaran: Yeah.

353 00:47:41.120 00:47:41.820 Uttam Kumaran: Yeah.

354 00:47:42.120 00:47:42.640 Uttam Kumaran: Okay.

355 00:47:42.640 00:47:43.370 Abhishek Varma: Cool.

356 00:47:44.360 00:47:56.900 Abhishek Varma: Okay. So yeah, so think about that as you design these agents, and then I’ll definitely work closely with you and your team, and maybe even host an in-person enablement session.

357 00:47:56.900 00:47:57.300 Uttam Kumaran: Yeah.

358 00:47:57.300 00:48:00.540 Abhishek Varma: Because, I think this is a huge leap forward for us.

359 00:48:00.540 00:48:16.540 Uttam Kumaran: Yeah, yeah, definitely. I think we’ll follow up also. I think, Gabe, we’re probably close to, like, wrapping a bow. I was just gonna send a message to Mike on, like, something on the insurance side once we show, Ian, and then we’ll kind of gonna prioritize, like, how we go to market with it, so…

360 00:48:18.190 00:48:26.299 Gabriel Lam: Yeah, I’ve… on that note, I’ve scheduled a time tomorrow, and I’ve, I spent yesterday just getting the demo up to speed. Cool, cool.

361 00:48:26.820 00:48:31.430 Gabriel Lam: Yeah, I just need some documents from him, and then I think we’re A-okay, we’re ready to go.

362 00:48:31.760 00:48:32.310 Uttam Kumaran: Okay.

363 00:48:34.450 00:48:35.390 Uttam Kumaran: Okay.

364 00:48:35.390 00:48:37.700 Abhishek Varma: Cool! Awesome, guys! Happy New Year!

365 00:48:37.700 00:48:38.550 Uttam Kumaran: Yeah, Happy New Year!

366 00:48:38.550 00:48:39.030 Gabriel Lam: Likewise.

367 00:48:39.030 00:48:40.110 Uttam Kumaran: waste of time.

368 00:48:41.050 00:48:43.250 Abhishek Varma: Awesome. Cheers. Have a good day.

369 00:48:43.530 00:48:44.600 Gabriel Lam: You too, bye.

370 00:48:44.600 00:48:45.100 Abhishek Varma: Bye.