Video: Integrate Anywhere, Anyhow: Harnessing the Power of JDBC, HTTP, and Celigo’s Extensible Connectors | Duration: 3604s | Summary: Integrate Anywhere, Anyhow: Harnessing the Power of JDBC, HTTP, and Celigo’s Extensible Connectors | Chapters: Welcome and Introduction (0s), New Spotlight Series (89.11s), Connectivity Misconceptions Addressed (216.49s), Connector Misconceptions Debunked (308.175s), Customizable Connector Options (406.63s), Extending Prebuilt Connectors (600.96s), Database Connectivity Options (1154.255s), JDBC Database Connections (1340.58s), Connector Configuration Essentials (2327.25s), Customizing Connector Creation (2582.085s), Q&A and Wrap-up (3302.78s)
Transcript for "Integrate Anywhere, Anyhow: Harnessing the Power of JDBC, HTTP, and Celigo’s Extensible Connectors":
Beginning? You tell me. Yep. Yep. K. Hello, everyone. Good morning. Looking forward to, getting a chance to talk with all of you. We're gonna wait just a minute. We know a couple people are coming in. Hopefully, the weather's not too bad. I know where I'm at. We're back down to subzero temperatures. So at any point, it looks like I'm freezing. It's because I am. But hopefully, you guys had a, a good week a Presidents' Day weekend, and we'll we'll kick off in probably a minute or two. Yousef, how was your weekend? Was it good? It was good. The weather is, like, very tricky, actually. It's very sunny, but if you go outside, it's, like, really freezing. Yeah. Yeah. Alexia, what about you? How's Knoxville right now? Yeah. Oh, man. Yeah. I cold? Yeah. I bet. Cold. We got about a foot of snow here in Cleveland, Ohio. I'm used to it being from Denver, but, yeah. It's pretty good. I'm I'm pretty sure our friends from California will jump right now and say their weather is really great in compared to ours here. It's always 50 degrees. Yeah. Alright. Well, why don't we, why don't we get started headed, and moving forward? So everyone who's, who's attending, thank you so much. Wanted to kick off our new spotlight series. So for those of you, joining who are our partners, you're probably used to some of the tech spotlights that the teams put on last year. And for those of you that are our customers, we've done a number of enablement kind of more educational series in the past. But what we were starting to identify over the last six months was that a lot of the topics that were coming up, whether you are our partners or our customers had very similar things. So we wanted to put together this new series, which we're just calling spotlight. Right? And and what we're really trying to focus on here is there's a lot of expertise that the team has internal. And so I'll be working to make sure throughout this entire series that we're bringing you guys, real world needs and best practices around this so that we can help improve generally your your practical skills around the IO platform. Now these sessions are interactive by design. So if there's questions you have as we're going through things, we've created natural pause points, throughout this. And then they'll thank you for reaching out first in the morning. Good morning to you as well. Like I said, we we are looking at chat. We love talking to you guys as we're going through this. So if you have questions, feel free to reach out. Now it wouldn't be a series if we weren't trying to talk about some of the other pieces that we have going forward. So, with any good story, we start here here at the beginning with connectivity, and we'll be going through a number of topics and best practices. But we have a number of sessions that we've put together already, so that we could plan out the first couple of these to begin with. So you see that we've got another one coming up March 4. It's actually quite quick, around some of the the balancing between best practices on flows, how you get the most performance without, impacting functionality. So we'll be going through a number of best practices on flow design. And then following up with that, we're seeing a huge uptick in customers, IT teams working with operational teams around centers of excellence for kind of operational management using air management capabilities. So we wanted to put that together. The series is meant to evolve as we reach out and understand your guys' needs. So when we get towards the end of this, we'll be working on trying to identify some of the ones that we could do in June and July. So feel free to think of some of the topics that have been on your top of mind. But, for today's discussion, I have Yousef here with me. And Yousef, if you wouldn't, mind, please introduce yourself to the our audience and, take it away. Absolutely. Thanks a lot, Nick. So, good morning, everyone. Especially people in the Northeast, the East Of The The US and Europe, EMEA, APAC, wherever you are. So, yeah. My name is Yousef. I'm one of the solution consultants here at Citygo. A lot of you know me. I mean, especially, partners because I works, a lot with partners. So, my background is integration engineering. And, yeah, I'm here just, to share with you the few small things, tips and tricks that I know about the platform. We will start with connectivity. This is like a great, points because, a lot of, so we we had, like, a lot of misconceptions. We noticed a lot of misconceptions around the connectivity, and we wanted to address most of them. So we will discuss three points here, three misconceptions and try to clarify, the misunderstanding here. The first one, the first misconception is that, all the, we all the connectors are the same. And this is why the point the first point is platform connectors, generic, and we will talk about customization of these connectors. What is the difference between a prebuilt connector, a generic or HTTP universal connector, and how you can switch between both. Then the second misconception is how to expand out of the the rest based API. So, a lot of, I mean, a lot of our users think that we are only supporting the rest, protocol, which is not the the the case. And we will provide some, details here, in a second. The third one is, the third misconception is that we, we offer only, a limited, we are you are only limited to the prebuilt connectors. Right? That we offer you. And, this is like a very good point here because I I I'm not sure how many of our users know that you can today, build your own connector using, using the the APIs that we offer you. And I will go into the details. I will try to make this, this presentation, very light in terms of slides and very hands on, and focus on the demos, most like because they are the ones who will show you what we you can do as builders. Okay. Okay. So first point here is the, the first misconception that we want to to address. And let's start by addressing a key point that often gets misunderstood. Many assume that a connector is just a one size fits all to a rigid of the self components that you simply plug in and forget about. In many systems, you are forced to stay within a narrow box. If you need even a slight modification or customization, you are either stuck using a generic version of that connector, and which which does not quite fit and it it does not work. So what we offer at Citibul is, two options. Now we we you got we got you, like, the prebuilt connector with the drop down pick list business user friendly, where you pick just your your resource and your endpoints. And whenever, you have something like, and you have, like, the second type of connectors, which is the HTTP universal connector, where you can basically use the usual API documentation that you see with the HTTP methods, the endpoints that you have in the, API documentation offers by the system that you are trying to to connect to. The other option that maybe a lot of users don't know about is the possibility to use a prebuilt connector and switch it to the HTTP universal connector. In that case, the main benefits is that you will keep using the credentials and the authentication or authorization mechanisms that you already have in that simple prebuilt connector. As you can see, you can switch with that small edit export on the top or edit export, edit imports. You can switch from the simple view, with the drop down picklists to the HTTP view. And, yeah. So this is like will will make it possible for you to, to customize the behavior to suit your unique API calls, payload adjustments, or even to adapt to new protocols like GraphQL. Just like a very good example that I will show you in a second during the demo. This isn't about a generic connector, it's about flexibility and true customization. So we want to offer this flexibility to all our users, so that they can, basically, not be like stuck in one rigid type of prebuilt connectors that's lot of our platforms out there, are offering, but have the possibility to switch between that prebuilt connector that we offer to other, views with more customization by and keep using the same authentication authorization that you have. And I will show a very good example here in a second, in our demo. Let me stop sharing for a second, and I will share my screen. Okay. So first example here, is with SharePoint. So, I hope that you are seeing right now the Integrator IO screen. What you cannot see in SharePoint here, this is like a very good use case with ITPA. If if I switch to the simple view, which is the view that you will have with the prebuilt connector, this is a prebuilt connector, you have a list of resources. Right? Fields, lists, roles, users. And if I select list, you can have, like, the endpoints related to that list. The problem or actually the, the use case here where it's very interesting, to switch to the HTTP view is that with SharePoint, if you use the actual endpoint lists, it will take you by default to the default site that you have in SharePoint. Some, some companies, they have multiple sites and every site has multiple lists. So, to to be able to to do that, without, like, losing the, the functionality of, like, quickly use the save and authorize and the quick connect the quick authentication or authorization to the prebuilt connector, you can just switch to the HTTP here and you will see that I'm adding in the relative URI the sites and pointing to the site that I want to use. And then, and then you will you can use, like, the, the the the API as as it as it is from the documentation, that you have. I can access to it and get the data that I need. This is a first use case where sometimes it's very important to have this option HTTP. The other way to do it would be to go here and create an HTTP connection, an HTTP connection. But then if you do that, you would have to create the connection from scratch, and you will lose that simplicity in authenticating and to to your, to your endpoints, to your system, using just the prebuilt connector that makes it, like, very easy for you to to connect to SharePoint. Okay. So this is the first, use case. The second one is, we will stay in the Microsoft environment here. And this one is with, FNO or supply chain management, Microsoft's dynamic supply chain management. So, with this one, we we not just touch a lot of our customers and users. They they build their own custom APIs on the top of FNO. So they don't use the the usual records, offered by by, by FNO. And they they, in this case, for example, they they create their custom APIs. Like here we have workers as an API, and and to be able to use that custom API. So if you are like in a a prebuilt, rigid, non flexible connector, you will have to switch to an HTTP universal connector to be able to pull the data from this endpoints. But in our case here, you can just switch to HTTP and follow the and do the the changes needed for the relative URI and points to workers, and get the data from from there. Okay. So the third one is, is to the possibility to expand to other protocols like, GraphQL without really using the GraphQL connector. So, obviously, you can, like you have that universal connector to GraphQL, so you can, at any time, just go and build your query with our universal connector for GraphQL post, and you, you write the query. But, the other thing that you can do is, like, for example, here with with Shopify, you can write the the GraphQL query, as a body in as an HTTP body, in your HTTP view. So the usual view that you see is a simple one, where you can just, again, select the resource and the endpoint. When switching to HTTP, you can just point to the, GraphQL endpoint, for Shopify, which is GraphQL.JSON, and and send your, your query as a string. It's a JSON where you have the key as a query and the value is this string, your actual, GraphQL, string. And and then you will the that query will be sent to the GraphQL server, and the GraphQL server will be able to execute that and get you back, the results needed. Okay? So, those are, like, just few examples, that I wanted to, to share with you, in order to, to show you how flexible you can be with with the prebuilt connector. And, if I go back to my slides k. So one of the things that you can see so the tips and tricks that we have here for you is, so first of all, we suggest that you edit your existing connectors versus configuring universal connectors. As I mentioned during the demo, instead of building a new configuration for an endpoint using the HTTP Universal Connector, it's better to use the prebuilt connector when you have that and just switch to HTTP. This way you will use the credentials that you had because for those prebuilt connectors, we make it very easy for our users to authenticate and make the authorizations needed for the API calls or GraphQL calls. By switching from the prebuilt connector to HTTP, you are using the this preconfigured fields that you have in in the in that in that prebuilt connector versus using, like, having to create from scratch the the the authentication and the authorization needed to access that endpoint. So one other point that, I usually do is, whenever I'm I have to, integrate with, some, a new system, I I just go and, like, look at the documentation and see if there are any other resources and endpoints similar to the one for, for the SharePoint that I just showed you, where you have, we have some endpoints that are basically hidden, if you don't if the if you don't look very closely to the, into the API documentation and see what you can do there. So with with GraphQL as well, you can switch between REST and and GraphQL by just using that switch, from simple view to HTTP view. Next one does have a bit this should should use a similar naming convention. Yeah. This is like, another best practice that we use internally whenever you have, like, multiple configuration for the same system. It's better to stick to to some naming conventions so that you, you you you can distinguish between the different connections that you configured for that specific endpoint. Okay. So, yeah. I mean, this is like, just to we want to, clarify some misunderstanding about the extent, the extension how you can extend the prebuilt connector to more use cases that are customized. So the second miss misconception is that, we, we are limiting we are limiting you or you are limited to connectivity via rest. Right? And this is not, this is not not true. And, what we can say here is that, the idea that the platform only supports stress based integrations, is not is not correct. While many integration tools might restrict you to to just stress, an effective, like, iPaaS solution must handle a broad spectrum of, connectivity options. So, and we offer you here, especially when you have, like, multiple environments and multiple different applications, you need to have also different diverse, protocols. So, so an effective iPaaS solutions must connect to multiple protocols, not just REST. Here we had a GDBC support for a year about, which many users might not realize. I got many calls with a lot of our partners that don't know that we support today, g GDBC as well. So, and so with GDBC connector, you have the possibility to handle on prem and and cloud databases, obviously. So what we can offer here is that so and I will show you here how you can configure this gDBC. It's not like something very, complex. You just need to stick, obviously with the GDBC, you will have to to use an on prem agent, to be able to connect to your, to your instance where you have the that driver. Okay. So, and, just a reminder here, we we support also some specific connectors to other databases, like the MySQL, SMS, MSSQL. So all the ones that you see here, so we have prebuilt connectors for them. So if they are Cloud or on prem databases, you will just need to use if it's a Cloud, you will be able to access them because they are publicly accessible. If they are like an on prem databases, you will be able to just use the agent. It's only when you don't have this pre built connector that you can use and you have, like, some, examples of, some database where you don't have a prebuilt connector. You can use the g d b c driver, for that. And I will show you that in, in a second in my in my demo. K. So let me stop sharing here and share again my internal screen. Okay. So, I will jump quickly to my instance. So first of all, what we are going to do is, I will try to, to to, connect to a new database, which is, SQLite. If you do SQLite, download page. You will see that we have here multiple pre compiled binaries. We can download this one, which is the the bundle with the tools. I will I will download this one, and I will put it I have it I think I have it here in my, downloads. So I can take that and and use it in, the c level, which is, this is the this is basically the, the binaries that you will get, the executable binaries. So what I will do and I clear this, close this for a second, and open a new one. So what we can do, we will, first of all, try to, using the command line, just move to, this, where we have the the binaries. And, I think the I have here some yeah. So the command line to create the database is SQLite three, and we do, database employees, for example, employees. Right? Okay. So we have the the the we created the database. We created the file for the database. Now I will create the tables. I have this table, employees, and so you see that the file was created here. So I run, the the the create table. I will add a couple of records to that table. So I added, two records, Alice as an engineer and Bob as a manager. And if we query this database now, you will see that we have access. So first of all, first thing that I like to do, when I'm trying to connect to to a GDPC connector is, first of all, try to connect to it using a client, for that that database. So I'm using here the Beaver. It's a great client honestly. I use it usually with my databases. I selected the SQLite and here I need to define what is the path to that, GDBC driver that I have. And the path that I have here is this one. So it's in c and SQLite. So this is my path. So you you will see that the g d b c URL here, by adding the path, you will get the g d b c URL. I will go to driver settings, and I will go to libraries to configure my, my library. So I have the drivers. So I put the driver that I had. So I I you can download the driver, obviously, from here. And and I have the driver now, and I put it in, g d b c drivers. So it's c g b g d b c drivers, and this is the driver for SQLite. This is the dot jar that we need. So I have it here. So I can just click on it, find class, and it will find the class for me. Okay. So now I have the my driver configured, and it will test the connection. Okay. So let me do this again. So we have the SQLite here. We have the GDBC, driver settings, libraries, select the driver, find the class, like this, test the connection. File is already directory enabled to yeah. I think it's because I'm opening that file here. Let's see. Find this already. It's really able to open database file. Okay. So those are the nice things that we have when we try to do live demos, and we will try to figure out together here. So I let's do it from the beginning. So I'm trying to create a new connection, SQLite to this. So I have the file in here. Okay. Something happened when we created that. One second. So good thing is that I have already the databases. I have some examples that I set up before. So the when we do a command line here, try to see the, to this. K. So next is the SQLite three. SQLite. SQLite three. And we will try to give it a name. So test DB, dot DB. Okay. Now let's create a table. I think I know what what's happened. I had to to name the, the database with a a dot d b at the end. So create the table, create the users, and select the users. Okay. So now let's go back, and this is, better because we have now a database file. This one, was missing the dot d b at the end. So let's try to create that's d b now. Close this. Connection. SQLite. And here, get my the path to my, to, where we have the file for the DB. And then the driver, we will select the driver, find this. We have it. Okay. And now we when we test, what's the problem here? Just one second. Sorry. Oh, yeah. I had to point to, yeah. Sorry. My mistake. So yeah. So it's this. And then we need to point to, to the database that we have here, which is the test d b D b. That's a nice one. I did not have this one when I was, setting up this early this morning. And now when I test it, I got the connection. Sorry. My, dear customers and partners. So it was like just a mistake here. I had to put the file for the DB, to make sure. And this is why this is one reason why I say it's always good to test with something like DBeaver, a client before trying to connect with Citigore, any anything, that you will use to connect, remotely. So, now I I'm sure that the database is working locally. So what I will do now, is I would try to, to to connect oh, sorry. I did not I did not save the the configuration. So so what was the name again? Test d b. D b. K. And fiber settings, we have it. Find the path. We got it. This connection is online. Now finished. I have the connection now here, TestDBDotDB. So what I will do is I will copy this, path. Right? Because I will need it when I will try to to, establish the connection in my, Citigold. So if I go back here, if I try to, to establish a connection here, and sorry. That's not right. Environment. When I have the the, the agent. Yeah. So I have this. Let's establish a new connection. So it's a new flow. I will try to create an export, select the gDBC connector, create flow step, and, in the connection so I will create a new one. So gdbc test db, I would say test db dot test db dot a half for SQLite. So the agent, I will select my agent. So that's, something that we have already in the, that we have here. So this is the the agent is running. One trick that I found here is sometimes when you, install a new database, the agent needs to be restarted. So what I will do, control m and I will go to the services that they have and will go to the Seligo agent and just restart it. This way, the agent will be able to, to see the database that I just created. And I will go to the go back to, to my connect to my configuration. The connection string is is this one. Right? The g d b c driver is the one that I where I have the driver here, which is this. Okay. I don't have a username password. The things looks good. That's the connection. Okay. Connection is working. Save and close this. I will try the same select that I, was using there. And so if we do this, so preview. Boom. We got our records here. So as you can see, so all what you need is the connection string to your database. And every driver, JDBC driver, you can figure out for that database what is the connection string needed. You need to put your driver into, a folder, four drivers that and when we say you need to put the driver, I mean, you need to put the jar of the driver In in a folder like this one, c g d b c drivers or driver, you call it whatever you want. You see that we have others, for MSSQL, postgreSQL that we tried, before. And on and yeah. I mean, if you have, like, some credentials to access to that database, it would be great as well. And and that's it. So, this is a way. So a lot of, as I said, databases that are not supported with previous connectors in our platform can be accessed if you have the gDPC driver. Sometimes it's also very useful when when it comes to on prem systems because the on prem system does not have an API but has a database. And database sometimes is not really, supported with the previous connector. So you can just have the g d b c driver for that database and connect to it. K. So, we'll go back to presentation, and let's see if we have some tips and tricks, for this one. So the tips that I have here, I think I mentioned those, during the presentation, the the the demo. Make sure that your agent is is is online. And by that, you can just go to Integrator IO to your agents and make sure that it's online. Right? That's the first thing to do. The second thing is to verify that the driver works with an external, to the agents. And, basically, you can have, like, a database driver and, and and and test your connection using that, database client. Sorry. And test your connection using that database client before trying to connect using that Citigle. Another point here worth mentioning is that GDPC is not a catchall for all other things like GMS and Kafka. It doesn't mean that because we have the GDBC, it means that you can connect to GMS or like, will not unlock the event driven architecture. Because, the connector that we have for GDBC will still need, a request, like a pull a request to do a request to call and to get the data back. It's not it's not like a pull or an event driven architecture type of, I mean, connector. Okay. I think we addressed here the second, misconception, which is about we don't support only the addressed. The next one is, do we need to use only the prebuilt connectors and everything, are we limited to only the prebuilt connectors offered by Zilligo? Means you have a system. It's either you need to use a prebuilt connector that was released by our team or an HTTP universal connector, or a database connector, or do you have, like, another option? So the the answer is you have more options. You can create actually your own, connector. I will show you an example here, in a second. So what I mean here is, like, basically you can, you are not limited to a prebuilt connector, and and you can build, build your own connector with, like, basically your name, the name of your your system and, and and and gets all these preconfiguration needed, for that system so that you don't have to, from scratch, build that connection again. And I will show you an example in a second here. This is an example here for things that you need to know, before starting to build your own connector. We have you need to know what is a connector or a source and the endpoint. So connector is basically, this is like, it will give you like a simple view to access things that are preconfigured. A resource is something that represents specific data in a system. It can be represented by JSON and XML. An example is like here, projects can be like customers, clients, orders. And an an endpoint is is usually, a way to access, like, a specific URL to access the, data related to a resource using HTTP methods like get, post, put, and and delete to be able to manipulate, the, the the resource. Right? So creating project, Usually, it's like probably, it's like a post, to, endpoints projects and, and you create your project. So the second thing here that I want to mention, so To be able to build your connector, you need to know two things. Preconfigured fields, that are basically the static values set in a connector. Think of it as the base URI. Like you see here for Asana, the h t t p s, api.asana.com or like, something like this, slash v one, for example, is something that is going to be static, will never change. Things like what is the the media type when you when you send a when you send, a request, the the request should be a JSON, for example, and the response will be JSON. So these things are something that you can configure, and, and it's static for every type of configuration, for every connection that you will build for that system. The other example is the authentication method. We know that, like, for this six for this system, it will always be a token based authentication. And, we will always send that token as a header, with, like, a header with the name of authorization and it will be a better, type of, header. So an example here, as I just mentioned, two users, user a, user b, both establish a connection. So both of them, they will use the same they would have to use the and configure the same, the same fields to to to have this connection online. The second thing is, the fields those are the fields that must that that the user must set. So we call them fields must user set type of fields. Those are the name of the connection, obviously, and anything that is related to something that would be dynamic and will change from configuration to another one. And you can think of things like, the ID related to, to like a domain, for example, or a token. If you can if you configure multiple connections, those are multiple different configurations and every configuration needs to have a separate different token. So those are the fields that must user set and that you need to configure in those API calls that I will show you in a second in our demo so that you can create your own pre built connector. Okay? So I will go and share my screen again. Okay. So I will I will go to, Postman. And, this is like a and I think in the, the the links, and by the way, if you have any questions, please do not hesitate to put those questions in the q and a section. We want to answer, any questions that you have related to what we, meant what we, mentioned and, covered today. So, and and, this postmark collection is something that, our product team, published in our documentation. You will find the link to the documentation in, in the in the links section. So, you will see that we have three, three type of endpoints that we will hit to create our connector really. So we need to first create the connector, then we need to create the resource under the connector and the endpoint. So before discussing these bodies and, what are the fields that needs to con to be configured, I will just go back to Integrator IO. And I want to show you, what are the these fields look like. So if I go here, I will go to Asana because I, mentioned that in the presentation. If we create, like if we want to create an Asana connection, you will see that you will have these, fields to fill. And these are the the must the fields that the user must, fill. Right? In the HTTP, if I switch to the HTTP, all these, static values are the ones that we will need to configure in the preconfigured preconfigured fields. So if I go back to the postman postman that I have here, you would see that in the header, we will give some generic information about the name of the connector, published, false. Like, we will give, like, the the the help URL for that connector, a lot of metadata about the connector. And then you will see that, we we have we have, like, a section called supported by. Two two things here. So we have supported by export, import, and the connection itself. So in the import, those are the preconfigured fields that you will have when you create when you try to create, an export using this this, disconnector. So you see that, for example, here we have the success media type as set as JSON, the error as JSON. We have the headers. We have some headers by default as API key and we have some API key. Same thing for the import. We, we create, we we have the value for the success, for the error, and request how what is the, the media type that we send for the for the request and some prebuilt headers as well that we configure here with the name and the value of that header. For the connection, we have more fields to configure because we have things like if you want to, by default, have that connector ping the endpoints, you will configure a ping endpoint by providing the relative URI, the method to access to, to call that that endpoint, and what is the HTTP party request to use. So for example, here, we send this HTTP party request, to, to to this endpoints and using the method post. We have some headers as well for the connection, and and you can have some token. This is like, the token that I'm using. You have, like, all the fields that you see, all the fields that you see to configure a connection can be preconfigured here. The authorization, how do you how are we so going to send it? It's we are going to send it in the in the header, and it will be an authorization. The type schema is better. And are we going to configure a refresh? If we have a refresh, this is what we are going to do for the refresh token. And then, at the end of the, the connection part, we will configure the form. And this form here is what you are going to see, in an Asana connection here. This name of the connection personal access token, these are the ones that you will see here with the label and what this, what, it's it's using our in internal framework so that you can base basically build a form with, with the values that you want to have there. And these are the fields user must set, the domain, the test ID, client ID, and client secret. And once we do that, we will create, after that, a resource using that ID that we will have by creating the connector. And that resource is client's, resource. And once we define client resource, we will define another endpoints, get clients, which is going to be a get to slash clients, and it's it's it's it's an endpoint that's that is part of the the resource clients that we have here. Okay. Let's let's do that, and let's give it a try. So as a name here, let's do, this is our, Spotlights app. Right? Let's call it this. We will do, like, test and it's like Spotlight. Test. This is my temporary ID. Everything else, we will leave it as is. All everything else here is just, fake URL and everything. But if I if I do this so I get a two zero one and I get an ID. I would copy that ID. I would get I will copy that ID and put it in the create resource. This is the body for the the resource. So I will create my resource. And once I will get the ID for the resource, we'll go to the endpoints and create the endpoint. Okay. So if I go back to Integrator.io, I will refresh the link here. And if I go and try to create a new source, what did we call it? We called it Spotlight app. So if I go to application, I should be able to see Spotlight. One second. Oh, sorry. I'm in the wrong environment. This is not lapse two. I built that in lapse two instead of lapse live. Okay. I think I'll try to do this. So in if I go to add, application, I will try to find Spotlights and you see that we have Spotlights app. Create I will create that. And, if I if I try to create a connection, I will have all the fields that I got in my form. Right? If I switch back to HTTP, I would see the base URL that I used, the token type token, the HTTP method, the request body that I'm using, all the preconfigured values that I had here. One other thing that I wanted to show you before we go to the q and a section is the resource. So you see that I have now a resource called clients, and I have an endpoint name, get clients. And I think if we switch to HTTP, that get client is just a get method to, slash client with, with the preconfigured headers for the export. Okay? So I will go back to the last point here, which is basically what are the, tips and tricks for this one. So use preconfigured fields as often as possible. Whenever you find that you have, that you have, some preconfigured fields, use them in your connector that will accelerate the configuration for every system that you are using. The second point is connections being used in a managed service use case. We noticed some of our customers, they have a managed service type of use case where they need to create like multiple configurations for multiple, customers for the same system. So, in that case, it's very it does make sense for them to, to, to use, their own and create their own connector, and and, and basically just configure quickly. It will like a gain of time and, it's it's it's very more like a streamlined experience, by by just using create your own connector. And for every new customer, you just, basically configure the the fields that are changing from one customer to another one, versus using the universal connector, which is like for every customer, you would have to to configure that connection from scratch, with all the preconfigured, fields for that connection. Okay? So I think the we we covered the three and tried to, clarify the three misunderstandings here. Our connectors so first of all, our connectors are designed to be flexible, not one size fits all. The second one is our system's connectivity goes well beyond rest using the GDPC connector. The third one is that you're never restricted by what's prebuilt. Customization and extensibility are readily available, so you can build your own connector. Okay. So, do we do we have any questions to answer? Yeah. We have an anonymous question coming in. When it comes to this legal agent, is it available for Linux? Yes. Yes. I think we have documentation in the docs side, tab where for the, the on prem agent and we support, Linux as well. I think we have, like, at least three, additions of Linux that are supported today. Yep. Red Hat, Fedora, and CentOS. Yeah. Very cool. See, I think that we had another question already. Yeah. You you, oh, we got another one. Are there plans to add, on similar to Postman or DBeaver inside Zaliga so users don't have to go to an external site? In terms of documentation, I, you know, I'd say long term strategy is something that we're looking at with regards to some of the capabilities that Gen AI is using to be able to extract API documentation or OAS specifications. So that's something that's actively being looked at, but I I think more clarification. But, oh, we can definitely follow-up. I wanna make sure that we are respectful. I know we only got a couple more minutes left. If you wouldn't mind jumping to the poll, Yousef. So as we kinda mentioned earlier on, these topics that we've set between now and March are actually harvested from conversations we've had with customers, partners, partner forums, so on and so forth. So we wanted to leave you guys with some options, for what we're looking at for our June topic. So if you wanna answer in the chat below, we've got three different topics that we've come up with based on what's been requested, but we also have a write your own option in. So we've seen a lot of customers asking about hooking up IO to an external error management capability. So we've we've planned a session around that. We've seen a lot of customers looking for more advanced education around, looping use cases, how you do branching, how you do parent child, conversions from, like, multiple into single structures as you move forward. So there's a number of pieces there. And then we also have some best practices requests around transformations. You have multiple places within the IO flows. You're gonna do transformations. They have various performance impacts. Where should you do what when? So those are some of the suggested use cases or, topics that we could cover. But if there are things that you're seeing that you would like to, cover on your own or something else, we can definitely, support that too. I see some, some answers coming in, around B, which is really great. Some stuff for a. Okay. And by no means does this mean that if, if you, this topic is not picked, that we won't do it. We're just trying to make sure that we had, we were responding to some of the attendees to see what you guys would be looking for. Absolutely. I I had a lot of discussions with our partners and customers, and a lot of them are, like, very interested in, for example, the external error management, parts. And, like, yeah, we have a lot of cool things that we can present in the next session sessions. And I hope hopefully, the what we covered today was very useful, to, to the audience, in terms of, like, configuring, GDBC connector. I know it's like sometimes, you have that option, you can see it, but it's, configuring it is might might seem a little bit complex for, for users. And, apologies for the the small, issues that we had, technical issues. This is like the demo. Live demo is like yeah. You never Yeah. It's been a while. Right? So if you if you would. Oh, sorry. You said for the last minute, if you wouldn't mind, jumping to the last slide, I think we just wanted to cut to keep up the last minute. So, as you guys if you haven't had a chance to make sure we've got this up, you can sign up for the other series sessions in the series. We've got about thirty seconds left, so we wanted to thank you for your time. And we look forward to feedback as we continue moving forward with these. So, if we don't get a chance to catch up very soon, have a good rest of the day. And, we will be following up with your account managers and partner managers to make sure these sessions are hitting what you guys need. Perfect. Thank you.