diff --git a/.vscode/launch.json b/.vscode/launch.json index deb4abf1e4..29aec59b0b 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -26,6 +26,30 @@ "cwd": "${workspaceRoot}/server", "console": "integratedTerminal", "protocol": "inspector" + }, + { + "name": "Docker Debug Client", + "request": "launch", + "type": "chrome", + "preLaunchTask": "docker-compose: debug:client", + "url": "http://127.0.0.1:8082", + "webRoot": "${workspaceFolder}/frontend", + "skipFiles": ["/**"] + }, + { + "name": "Docker Debug Server", + "request": "launch", + "type": "docker", + "platform": "node", + "preLaunchTask": "docker-compose: debug:server", + "removeContainerAfterDebug": true, + "node": { + "port": 9229, + "localRoot": "${workspaceRoot}/server", + "remoteRoot": "/app/server", + "sourceMaps": true, + "skipFiles": ["/**"] + }, } ] } diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000000..bea3e583ed --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,37 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "type": "docker-compose", + "label": "docker-compose: debug:client", + "dockerCompose": { + "up": { + "detached": true, + "services": [ + "client" + ] + }, + "files": [ + "${workspaceFolder}/docker-compose.yaml", + "${workspaceFolder}/docker-compose-debug.yaml" + ] + } + }, + { + "type": "docker-compose", + "label": "docker-compose: debug:server", + "dockerCompose": { + "up": { + "detached": true, + "services": [ + "server" + ] + }, + "files": [ + "${workspaceFolder}/docker-compose.yaml", + "${workspaceFolder}/docker-compose-debug.yaml" + ] + } + } + ] +} \ No newline at end of file diff --git a/docker-compose-debug.yaml b/docker-compose-debug.yaml new file mode 100644 index 0000000000..d61645516a --- /dev/null +++ b/docker-compose-debug.yaml @@ -0,0 +1,7 @@ +version: "3" + +services: + server: + ports: + - 9229:9229 + command: npm run --prefix server start:debug -- --debug 0.0.0.0:9229 diff --git a/docs/docs/contributing-guide/setup/docker.md b/docs/docs/contributing-guide/setup/docker.md index c701661930..1330cc11ce 100644 --- a/docs/docs/contributing-guide/setup/docker.md +++ b/docs/docs/contributing-guide/setup/docker.md @@ -149,4 +149,41 @@ docker compose run --rm server npm --prefix server run test ## Troubleshooting -Please open a new issue at https://github.com/ToolJet/ToolJet/issues or join our [Slack Community](https://tooljet.com/slack) if you encounter any issues when trying to run ToolJet locally. \ No newline at end of file +Please open a new issue at https://github.com/ToolJet/ToolJet/issues or join our [Slack Community](https://tooljet.com/slack) if you encounter any issues when trying to run ToolJet locally. + + +## Debugging with Docker + +In this section, we provide guidance on how to enable debugging for ToolJet services using Docker and Visual Studio Code. These additions will significantly benefit contributors by streamlining the debugging process and enhancing the overall development experience. + + +#### VSCode Launch Configuration: + +A new configuration has been added in `.vscode/launch.json` to facilitate launching the client and server in debug mode. This allows contributors to easily debug the application within the Visual Studio Code environment. Configurations include: + +- **Docker Debug Client**: Launch the client running in a Docker container for debugging within Visual Studio Code. +- **Docker Debug Server**: Debug the server in a Docker container, allowing developers to leverage Node.js debugging tools directly from their IDE. + +#### VSCode Task Configuration: + +A new task has been introduced in `.vscode/tasks.json` to manage Docker Compose commands for debugging. This includes tasks to start the client and server in detached mode, making it easier to initiate debugging sessions. + +#### Docker Compose Debug Configuration: + +The `docker-compose-debug.yaml` file defines the services for debugging, exposing the necessary port (9229) for Node.js debugging. This setup ensures that the server runs in debug mode, allowing for effective troubleshooting. + +### Benefits of Debugging Configuration +These changes streamline the debugging process, making it more efficient for contributors to identify and fix issues. The integration with Visual Studio Code allows for advanced debugging features such as breakpoints and real-time variable inspection. Furthermore, standardizing the debugging setup fosters better collaboration among team members, facilitating knowledge sharing and improving the overall development workflow. + +By implementing these configurations, ToolJet aims to enhance the development experience, enabling contributors to resolve issues swiftly and maintain project momentum. + +If you want to run docker in debug mode use this command +```bash +docker-compose -f docker-compose.yaml -f docker-compose-debug.yaml up --build +``` + +**Open the Project in VSCode**: Open the ToolJet directory in Visual Studio Code. + +Check Launch Configurations: +- Open the debug view by clicking on the Debug icon in the Activity Bar on the side of the window. +- Select the appropriate configuration, such as Docker Debug Client or Docker Debug Server. \ No newline at end of file diff --git a/docs/docs/data-sources/airtable.md b/docs/docs/data-sources/airtable.md index 5631f6e35e..847a9d4f05 100644 --- a/docs/docs/data-sources/airtable.md +++ b/docs/docs/data-sources/airtable.md @@ -3,18 +3,43 @@ id: airtable title: Airtable --- -ToolJet can connect to your **Airtable** account to read and write data. **Personal Access Token** is required to connect to the Airtable data source on ToolJet. You can generate the Personal Access Token by visiting **[Developer Hub from your Airtable profile](https://support.airtable.com/docs/creating-and-using-api-keys-and-access-tokens#understanding-personal-access-token-basic-actions)**. +ToolJet can connect to your **Airtable** account to read and write data. + +
+ +## Connection + +To establish a connection with the **Airtable** data source, you can either click on the **+ Add new Data source** button located on the query panel or navigate to the **[Data Sources](/docs/data-sources/overview/)** page from the ToolJet dashboard. + +ToolJet requires the following to connect to your Airtable: +- **Personal Access Token** + +You can generate the Personal Access Token by visiting **[Developer Hub from your Airtable profile](https://support.airtable.com/docs/creating-and-using-api-keys-and-access-tokens#understanding-personal-access-token-basic-actions)**.
- Airtable Data Source Connection + Airtable Data Source Connection
-
+
:::info Airtable API has a rate limit, and at the time of writing this documentation, the limit is five(5) requests per second per base. You can read more about rate limits here **[Airtable API](https://airtable.com/api)**. ::: + +
+ +## Querying Airtable + +1. Click on **+ Add** button of the query manager at the bottom panel of the editor. +2. Select the **Airtable** datasource added in previous step. +3. Select the desired operation from the dropdown and enter the required parameters. +4. Click on the **Preview** button to preview the output or Click on the **Run** button to trigger the query. + +Airtable Data Source Operations + +
+
## Supported Operations @@ -27,104 +52,100 @@ Airtable API has a rate limit, and at the time of writing this documentation, th
-
+### List Records -### List records +This operation retrieves a list of records from the specified table. -This operation returns a list of records from the specified table. +#### Required Parameters -#### Required parameters: +- **Base ID** +- **Table name** -- **Base ID:** To find the Base ID, first visit **[Airtable API](https://airtable.com/api)**. Then select the base you want to connect to. The Base ID will be mentioned in the API documentation. Example Base ID: `appDT3UCPffPiSmFd` -- **Table name:** The name of the table from which you want to fetch the records. +#### Optional Parameters -#### Optional parameters: +- **Page size** +- **Offset** +- **Filter by formula** +- **Fields** -- **Page size:** The number of records returned in each request. Default is 100 records. -- **Offset:** The offset value is used to fetch the next set of records. The offset value is returned in the response of the previous request. -- **Filter by formula:** This parameter will only return records that satisfy the formula. The formula will be evaluated for each record, and if the result is not 0, false, "", NaN, [], or #Error!, the record will be included in the result. e.g. `Name = 'John'` -- **Fields:** The fields you want to retrieve. If you don't specify the fields, all fields will be returned. e.g. `["Name", "Email", "Survey Response"]` +Airtable List Records Query -
-
- Airtable List Records Query -
- -Example response from Airtable: - -```json -{ - "records": [ - { - "id": "recu9xMnUdr2n2cw8", - "fields": { - "Notes": "Meeting to discuss project details", - "Name": "John Doe" +
+ **Response Example** + + ```json + { + "records": [ + { + "id": "recu9xMnUdr2n2cw8", + "fields": { + "Notes": "Meeting to discuss project details", + "Name": "John Doe" + }, + "createdTime": "2021-05-12T14:30:33.000Z" }, - "createdTime": "2021-05-12T14:30:33.000Z" + { + "id": "recyIdR7bVdQvmKXa", + "fields": { + "Notes": "Follow-up call regarding contract", + "Name": "Jane Smith" + }, + "createdTime": "2021-05-12T14:30:33.000Z" + }, + { + "id": "recAOzdIHaRpvRaGE", + "fields": { + "Notes": "Client feedback review meeting", + "Name": "Alice Johnson" + }, + "createdTime": "2021-05-12T14:30:33.000Z" + } + ], + "offset": "recAOzdIHaRpvRaGE" + } + ``` +
+ + +### Retrieve Record + +This operation fetches a specific record from the specified table. + +#### Required Parameters + +- **Base ID** +- **Table name** +- **Record ID** + +Airtable Retrieve Record Query + +
+ **Response Example** + ```json + { + "id": "recu9xMnUdr2n2cw8", + "fields": { + "Notes": "Discuss project timeline", + "Name": "Michael Scott" }, - { - "id": "recyIdR7bVdQvmKXa", - "fields": { - "Notes": "Follow-up call regarding contract", - "Name": "Jane Smith" - }, - "createdTime": "2021-05-12T14:30:33.000Z" - }, - { - "id": "recAOzdIHaRpvRaGE", - "fields": { - "Notes": "Client feedback review meeting", - "Name": "Alice Johnson" - }, - "createdTime": "2021-05-12T14:30:33.000Z" - } - ], - "offset": "recAOzdIHaRpvRaGE" -} -``` + "createdTime": "2021-05-12T14:30:33.000Z" + } + ``` +
-
+### Create Record -### Retrieve record +This operation creates a new record in the specified table. -#### Required parameters: +#### Required Parameters -- **Base ID**: To find the Base ID, first visit **[Airtable API](https://airtable.com/api)**. Then select the base you want to connect to. The Base ID will be mentioned in the API documentation. Example Base ID: `appDT3UCPffPiSmFd` -- **Table name**: The name of the table from which you want to fetch the records. -- **Record ID**: The ID of the record you want to retrieve. +- **Base ID** +- **Table name** +- **Records** -
- Airtable Retrieve Record Query -
+Airtable Create Record Query - -Example response from Airtable: - -```json -{ - "id": "recu9xMnUdr2n2cw8", - "fields": { - "Notes": "Discuss project timeline", - "Name": "Michael Scott" - }, - "createdTime": "2021-05-12T14:30:33.000Z" -} -``` - -### Create record - -#### Required parameters: - -- **Base ID**: To find the Base ID, first visit **[Airtable API](https://airtable.com/api)**. Then select the base you want to connect to. The Base ID will be mentioned in the API documentation. Example Base ID: `appDT3UCPffPiSmFd` -- **Table name**: The name of the table where you want to create the record. -- **Records**: The records you want to create. The records should be in the form of an array of objects. Each object should have a `fields` key, which contains the fields of the record. The field names should be the same as the field names in the Airtable table. -
-
- Airtable Create Record Query -
- -Example creating a record: +#### Example ```json title="Records" [{ @@ -134,81 +155,82 @@ Example creating a record: } }] ``` - -Query returns the following response when the record is created successfully: - -```json -{ - "records": [ - { - "id": "recu6jhA7tzv4K66s", - "createdTime": "2024-06-11T06:01:44.000Z", - "fields": { - "Name": "Katrina Petersons", - "Email": "katrina.petersions@example.com", - "Date": "06-11-2024", +
+ **Response Example** + ```json + { + "records": [ + { + "id": "recu6jhA7tzv4K66s", + "createdTime": "2024-06-11T06:01:44.000Z", + "fields": { + "Name": "Katrina Petersons", + "Email": "katrina.petersions@example.com", + "Date": "06-11-2024", + } } - } - ] -} -``` + ] + } + ``` +
### Update record +Update a specific record by providing new data. + #### Required parameters: -- **Base ID**: To find the Base ID, first visit **[Airtable API](https://airtable.com/api)**. Then select the base you want to connect to. The Base ID will be mentioned in the API documentation. Example Base ID: `appDT3UCPffPiSmFd` -- **Table name**: The name of the table where you want to update the record. -- **Record ID**: The ID of the record you want to update. -- **Body**: The fields you want to update. The fields should be in the form of an object. The field names should be the same as the field names in the Airtable table. -
-
- Airtable Update Record Query -
+- **Base ID** +- **Table name** +- **Record ID** +- **Body** -Example updating a record: +Airtable Update Record Query -```json title="Body" +#### Example + +```json { "Email": "katrina.petersions2@example.com" } ``` - -Query returns the following response when the record is updated successfully: - -```json -{ - "records": [ - { - "id": "recu6jhA7tzv4K66s", - "createdTime": "2024-06-11T07:01:44.000Z", - "fields": { - "Name": "Katrina Petersons", - "Email": "katrina.petersions2@example.com", - "Date": "06-11-2024", +
+ **Response Example** + ```json + { + "records": [ + { + "id": "recu6jhA7tzv4K66s", + "createdTime": "2024-06-11T07:01:44.000Z", + "fields": { + "Name": "Katrina Petersons", + "Email": "katrina.petersions2@example.com", + "Date": "06-11-2024", + } } - } - ] -} -``` + ] + } + ``` +
### Delete record +This operation removes a record from the specified table. + #### Required parameters: -- **Base ID**: To find the Base ID, first visit **[Airtable API](https://airtable.com/api)**. Then select the base you want to connect to. The Base ID will be mentioned in the API documentation. Example Base ID: `appDT3UCPffPiSmFd` -- **Table name**: The name of the table where you want to delete the record. -- **Record ID**: The ID of the record you want to delete. -
-
- Airtable Delete Record Query -
+- **Base ID** +- **Table name** +- **Record ID** -Query returns the following response when the record is deleted successfully: +Airtable Delete Record Query -```json -{ - deleted: true - id: "recIKsyZgqI4zoqS7" -} -``` \ No newline at end of file +
+ **Response Example** + ```json + { + deleted: true + id: "recIKsyZgqI4zoqS7" + } + ``` +
diff --git a/docs/docs/data-sources/azureblob.md b/docs/docs/data-sources/azureblob.md index ba34b740d4..b8ad543bfe 100644 --- a/docs/docs/data-sources/azureblob.md +++ b/docs/docs/data-sources/azureblob.md @@ -7,9 +7,9 @@ ToolJet offers the capability to establish a connection with Azure Blob storage ## Connection -To establish a connection with the Azure Blob data source, you can either click on the **+ Add new Data source** button located on the query panel or navigate to the **[Data Sources](/docs/data-sources/overview)** page from the ToolJet dashboard and choose Amazon Athena as the data source. +To establish a connection with the Azure Blob data source, you can either click on the **+ Add new Data source** button located on the query panel or navigate to the **[Data Sources](/docs/data-sources/overview)** page from the ToolJet dashboard and choose Azure Blob as the data source. -ToolJet requires the following to connect to your Athena. +ToolJet requires the following to connect to your Azure Blob. - **Connection String**
diff --git a/docs/docs/data-sources/s3.md b/docs/docs/data-sources/s3.md index 5e1687146c..47fa13f442 100644 --- a/docs/docs/data-sources/s3.md +++ b/docs/docs/data-sources/s3.md @@ -3,13 +3,13 @@ id: s3 title: Amazon S3 --- -ToolJet can connect to **Amazon S3** buckets and perform various operation on them. +ToolJet can connect to **Amazon S3** buckets and perform various operations on them. -
+
## Connection -To establish a connection with the **Amazon S3** data source, you can either click on the **+Add new Data source** button located on the query panel or navigate to the **[Data Sources](/docs/data-sources/overview/)** page from the ToolJet dashboard. +To establish a connection with the **Amazon S3** data source, you can either click on the **+ Add new Data source** button located on the query panel or navigate to the **[Data Sources](/docs/data-sources/overview/)** page from the ToolJet dashboard. ToolJet supports connecting to AWS S3 using **IAM Access Keys**, **AWS Instance Credentials** or **AWS ARN Role**. @@ -19,29 +19,22 @@ If you are using **IAM Access Keys**, you will need to provide the following det - **Access key** - **Secret key** -It is recommended to create a new IAM user for the database so that you can control the access levels of ToolJet. +**Note:** It is recommended to create a new IAM user for the database so that you can control the access levels of ToolJet. -
- aws s3 modal -
+aws s3 modal To connect to AWS S3 using **AWS Instance Credentials**, select the **Use AWS Instance Credentials**. This will use the IAM role attached to the EC2 instance where ToolJet is running. + To access the metadata service of an ECS container and the EC2 instance, we use the WebIdentityToken parameter which is obtained from a successful login with an identity provider. -
- aws s3 modal -
+aws s3 modal If you are using **AWS ARN Role**, you will need to provide the following details: - **Region** - **Role ARN** -
- aws s3 modal -
- -Click on **Test Connection** button to verify if the credentials are correct and that the database is accessible to ToolJet server. Click on **Save** button to save the data source. +aws s3 modal :::tip You can now connect to **[different S3 Hosts using custom endpoints](/docs/how-to/s3-custom-endpoints)**. @@ -53,16 +46,13 @@ You can now connect to **[different S3 Hosts using custom endpoints](/docs/how-t ## Querying AWS S3 -Click on **+Add** button of the **[query manager](/docs/app-builder/query-panel/#query-manager)** and select the data source added in the previous step as the data source. Select the operation that you want to perform, fill in the required parameters and click on **Run** button to run the query. - -
+1. Click on **+ Add** button of the query manager at the bottom panel of the editor. +2. Select the **Amazon AWS S3** datasource added in previous step. +3. Select the desired operation from the dropdown and enter the required parameters. +4. Click on the **Preview** button to preview the output or Click on the **Run** button to trigger the query. aws s3 query -
- -
- :::info Query results can be transformed using transformations. Read our [transformations documentation](/docs/tutorial/transformations). ::: @@ -71,156 +61,121 @@ Query results can be transformed using transformations. Read our [transformation
-## Query operations +## Supported Operations You can create query for AWS S3 data source to perform several actions such as: - 1. **[Create a new bucket](#create-a-new-bucket)** - 2. **[Read object](#read-object)** - 3. **[Upload object](#upload-object)** - 4. **[Remove object](#remove-object)** - 5. **[List buckets](#list-buckets)** - 6. **[List objects in a bucket](#list-objects-in-a-bucket)** - 7. **[Signed url for download](#signed-url-for-download)** - 8. **[Signed url for upload](#signed-url-for-upload)** +- **[Create a new bucket](#create-a-new-bucket)** +- **[Read object](#read-object)** +- **[Upload object](#upload-object)** +- **[Remove object](#remove-object)** +- **[List buckets](#list-buckets)** +- **[List objects in a bucket](#list-objects-in-a-bucket)** +- **[Signed URL for download](#signed-url-for-download)** +- **[Signed URL for upload](#signed-url-for-upload)** -
- -### Create a new bucket +### Create a New Bucket You can create a new bucket in your S3 by using this operation. -#### Required parameters: +#### Required Parameters -- **Bucket Name**: Specify the bucket name. +- **Bucket Name** -
+Create a new bucket - S3 operation - Create a new bucket - S3 operation - -
- -### Read object +### Read Object You can read an object in a bucket by using this operation. -#### Required parameters: +#### Required Parameters -- **Bucket**: Specify the bucket name. -- **Key**: Key of the object/file. +- **Bucket** +- **Key** +aws s3 read object -
- aws s3 read object -
- -### Upload object +### Upload Object You can use this operation to upload objects(files) to your S3 bucket. -#### Required parameters: +#### Required Parameters -- **Bucket**: Specify the bucket name. -- **Key**: Key of the object/file. -- **Content Type**: Specify file type such as text, image etc. -- **Upload data**: File/object that is to be uploaded. +- **Bucket** +- **Key** +- **Content Type** +- **Upload data** +aws s3 upload -
- aws s3 upload -
- -### Remove object +### Remove Object You can use this operation to remove an object from your S3 bucket. -#### Required parameters: +#### Required Parameters -- **Bucket**: Specify the bucket name. -- **Key**: Key of the object/file. +- **Bucket** +- **Key** -
+Create a new bucket - S3 operation - Create a new bucket - S3 operation - -
- -### List buckets +### List Buckets This operation will list all the buckets in your S3. This does not require any parameter. +aws s3 bucket -
- aws s3 bucket -
- -### List objects in a bucket +### List Objects in a Bucket This operation will fetch the list of all the files in your bucket. It requires the following parameters: -#### Required parameters: +#### Required Parameters -- **Bucket**: Specify the bucket name. +- **Bucket** -#### Optional parameters: +#### Optional Parameters -- **Prefix**: To limit the response to keys that begin with the specified prefix. -- **Max keys**: The maximum number of keys returned in the response body. Default value is 1000. -- **Offset**: The key to start with when listing objects in a bucket. -- **Next Continuation Token**: `Next Continuation Token` indicates Amazon S3 that the list is being continued on this bucket with a token. ContinuationToken is obfuscated and is not a real key. +- **Prefix** +- **Max keys** +- **Offset** +- **Next Continuation Token** :::info -**Next Continuation Token** -For listing a bucket for objects that begin with a specific character or a prefix, then use the `Offset` parameter. For example, if you want to list all the objects that begin with `a`, then set the `Offset` parameter to `a`. Similarly, if you want to list all the objects that begin with `ab`, then set the `Offset` parameter to `ab`. - -The `Next Continuation Token` is used to list the next set of objects in a bucket. It is returned by the API when the response is truncated. The results will contain `Next Continuation Token` if there are more keys in the bucket that satisfy the list query. To get the next set of objects, set the `Next Continuation Token` parameter and run the query again. +**Next Continuation Token**
+For listing a bucket for objects that begin with a specific character or a prefix, then use the **Offset** parameter. For example, if you want to list all the objects that begin with **a**, then set the **Offset** parameter to **a**. Similarly, if you want to list all the objects that begin with **ab**, then set the **Offset** parameter to **ab**.
+The **Next Continuation Token** is used to list the next set of objects in a bucket. It is returned by the API when the response is truncated. The results will contain **Next Continuation Token** if there are more keys in the bucket that satisfy the list query. To get the next set of objects, set the **Next Continuation Token** parameter and run the query again.
The results will continue from where the last listing finished. ::: +aws s3 list object -
- -aws s3 list object - -
- -### Signed URL for download +### Signed URL for Download The object owner can optionally share objects with others by creating a presigned URL, using their own security credentials, to grant time-limited permission to download the objects. -#### Required parameters: +#### Required Parameters -- **Bucket**: Name of the bucket for uploading the file. -- **Key**: The object key. -- **Expires in**: The expiration time of URL. +- **Bucket** +- **Key** +- **Expires in** +aws s3 signed download -
- -aws s3 signed download - -
- -### Signed URL for upload +### Signed URL for Upload The presigned URLs are useful if you want your user/customer to be able to upload a specific object to your bucket, but you don't require them to have AWS security credentials or permissions. -#### Required parameters: - -- **Bucket**: Name of the bucket for uploading the file. -- **Key**: The object key. -- **Expires in**: The expiration time of URL. -- **Content Type**: The content type such as text, image etc. - - -
- -aws s3 signed upload - -
+#### Required Parameters +- **Bucket** +- **Key** +- **Expires in** +- **Content Type** +aws s3 signed upload :::info We built an app to view and upload files to AWS S3 buckets. Check out the complete tutorial **[here](https://blog.tooljet.com/build-an-aws-s3-broswer-with-tooljet/)**. -::: \ No newline at end of file +::: + +
\ No newline at end of file diff --git a/docs/docs/data-sources/twilio.md b/docs/docs/data-sources/twilio.md index daac9e7e32..1ccaf075eb 100644 --- a/docs/docs/data-sources/twilio.md +++ b/docs/docs/data-sources/twilio.md @@ -3,52 +3,55 @@ id: twilio title: Twilio --- -# Twilio +ToolJet can connect to Twilio account to send sms. -ToolJet can connect to your Twilio account to send sms. - -
- -![ToolJet - Data source - Twilio](/img/datasource-reference/twilio/connect.png) - -
+
## Connection -- To add the Twilio datasource, click the **Datasource manager** icon on the left-sidebar of the app builder and click on the `Add datasource` button, then select **Twilio** from the modal that pops up. - -- In the next dialog, you'll be asked to enter the Auth Token, Account SID, and Messaging Service SID. -- You can get the **Auth Token and Account SID** on the dashboard of your Twilio account. +To establish a connection with the Twilio data source, you can either click on the **+ Add new Data source** button located on the query panel or navigate to the **[Data Sources](/docs/data-sources/overview)** page from the ToolJet dashboard and choose Twilio as the data source. -
+ToolJet requires the following to connect to Twilio: +- **Auth Token** +- **Account SID** +- **Messaging Service SID** -![ToolJet - Data source - Twilio](/img/datasource-reference/twilio/auth.png) +You can get the **Auth Token and Account SID** on the dashboard of your Twilio account. + +ToolJet - Data source - Twilio + +For **Messaging Service SID**, you'll need to create a messaging service first from the Services under Messaging in the left-sidebar. + +ToolJet - Data source - Twilio + +ToolJet - Data source - Twilio
-- For **Messaging Service SID**, you'll need to create a messaging service first from the Services under Messaging in the left-sidebar. +
-
+## Querying Twilio -![ToolJet - Data source - Twilio](/img/datasource-reference/twilio/sid.png) +1. Click on **+ Add** button of the query manager at the bottom panel of the editor. +2. Select the **Twilio** datasource added in previous step. +3. Select **Send SMS** from the dropdown and enter the required parameters. +4. Click on the **Preview** button to preview the output or Click on the **Run** button to trigger the query.
-- After entering the three credentials, you can **Save** the datasource. +
## Supported operations -1. **Send message** - ### Send message This operation will send the specified message to specified mobile number. -
+#### Required Parameters +- **To Number** +- **Body** -![ToolJet - Data source - Twilio](/img/datasource-reference/twilio/sms.png) +ToolJet - Data source - Twilio
- - diff --git a/docs/docs/data-sources/typesense.md b/docs/docs/data-sources/typesense.md index 48d885bd7f..3f37573ea5 100644 --- a/docs/docs/data-sources/typesense.md +++ b/docs/docs/data-sources/typesense.md @@ -3,90 +3,145 @@ id: typesense title: TypeSense --- -# TypeSense ToolJet can connect to your TypeSense deployment to read and write data. -## Connection -Please make sure the host/IP of the TypeSense deployment is accessible from your VPC if you have self-hosted ToolJet. If you are using ToolJet cloud, please **whitelist our IP**. +
-ToolJet requires the following to connect to your TypeSense deployment: +## Connection + +To establish a connection with the Typesense data source, you can either click on the **+ Add new Data source** button located on the query panel or navigate to the **[Data Sources](/docs/data-sources/overview)** page from the ToolJet dashboard and choose Typesense as the data source. + +:::info +Please make sure the **Host/IP** of the database is accessible from your VPC if you have self-hosted ToolJet. If you are using ToolJet cloud, please **whitelist** our IP. +::: + +ToolJet requires the following to connect to TypeSense deployment: - **Host** - **Port** - **API Key** - **Protocol** -
- -typesense connect +typesense connect
+
+ ## Querying TypeSense -Click on `+` button of the query manager at the bottom panel of the editor and select the TypeSense added in the previous step as the data source. -Select the operation that you want to perform on your TypeSense cluster and click `Create` to save the query. - -
- -typesense query - -
+1. Click on **+ Add** button of the query manager at the bottom panel of the editor. +2. Select the **Typesence** datasource added in previous step. +3. Select the desired operation from the dropdown and enter the required parameters. +4. Click on the **Preview** button to preview the output or Click on the **Run** button to trigger the query. :::tip Query results can be transformed using transformations. Read our transformations documentation to see how: **[link](/docs/tutorial/transformations)** ::: -## Supported operations +
-#### 1. Create a Collection +
+ +## Supported Operations + +### Create a Collection With this operation you can easily create `Collections` in your TypeSense cluster. In the schema field, you'll need to define the schema for creating a new collection. Check out TypeSense docs to know more about collections **[here](https://typesense.org/docs/0.22.2/api/collections.html#create-a-collection)** +#### Required Parameter +- **Schema** -typesense collection +typesense collection +#### Example -#### 2. Index a document +```yaml +[ + { "name": "id", "type": "string" }, + { "name": "name", "type": "string" }, + { "name": "price", "type": "float" } +] +``` + +### Index a Document Use this operation to index a document to your collection. You'll need to specify the **Collection Name** where you want your document to be indexed and also provide the document data according the schema defined in the collection. Read more about Indexing a document in TypeSense **[here]( https://typesense.org/docs/0.22.2/api/documents.html#index-a-single-document)**. +#### Required Parameter +- **Collection** +- **Document** -typesense index +typesense index +```yaml +{ + "id": "1", + "name": "Laptop", + "price": 999.99 +} +``` -#### 3. Search +### Search Use this operation to perform a search within the specified collection. Know more about the search parameters in the TypeSense doc **[here](https://typesense.org/docs/0.22.2/api/documents.html#search)**. +#### Required Parameter +- **Collection** -typesense search +typesense search +```yaml +{ + "filter_by": "price:<1000", + "sort_by": "price:desc", + "per_page": 10 +} +``` -#### 4. Get a document +### Get a Document Use this operation to fetch an individual document in a collection by providing the `id` of the document. Read more about it **[here](https://typesense.org/docs/0.22.2/api/documents.html#retrieve-a-document)**. +#### Required Parameter +- **Collection** +- **Id** -typesense get +typesense get -#### 5. Update a document +### Update a Document Use this operation to update an individual document by providing the **Collection Name** and **Id** of the document. You'll need to provide the updated document data in the form of specified schema. Check out the TypeSense's doc on updating a document **[here](https://typesense.org/docs/0.22.2/api/documents.html#update-a-document)**. +#### Required Parameter +- **Collection** +- **Id** +- **Document** -typesense update +typesense update +```yaml +{ + "name": "Gaming Laptop", + "price": 1199.99 +} +``` -#### 6. Delete a document +### Delete a Document Delete a document from collection by providing the `Id` of the document. Check out the TypeSense's doc on deleting documents **[here](https://typesense.org/docs/0.22.2/api/documents.html#delete-documents)**. +#### Required Parameter +- **Collection** +- **Id** -typesense delete +typesense delete +

:::tip Make sure that you supply JSON strings instead of JavaScript objects for any document or schema that is being passed to the server, in any of the above operations. ::: + +
\ No newline at end of file diff --git a/docs/docs/data-sources/woocommerce.md b/docs/docs/data-sources/woocommerce.md index 45567819c6..246b12f92b 100644 --- a/docs/docs/data-sources/woocommerce.md +++ b/docs/docs/data-sources/woocommerce.md @@ -2,63 +2,89 @@ id: woocommerce title: WooCommerce --- -# WooCommerce ToolJet can connect to WooCommerce databases to read and write data. -- [Connection](#connection) -- [Getting Started](#querying-woocommerce) +
## Connection -Auth -You may use [HTTP Basic Auth] by providing the REST API Consumer Key as the username and the REST API Consumer Secret as the password. +To establish a connection with the WooCommerce data source, you can either click on the **+ Add new Data source** button located on the query panel or navigate to the **[Data Sources](/docs/data-sources/overview)** page from the ToolJet dashboard and choose WooCommerce as the data source. + +ToolJet requires the following to connect to WooCommerce - **Host** - **Consumer key** - **Consumer secret** -![ToolJet - Data Source - Woocommerce](/img/datasource-reference/woocommerce/woocomerce-auth.png) +ToolJet - Data Source - Woocommerce :::info NOTE: For generating keys visit admin dashboard of woocommerce , more info: https://woocommerce.github.io/woocommerce-rest-api-docs/?javascript#authentication ::: -## Querying Woocommerce +
-**Operations** +
-**Customer** +## Querying WooCommerce -- list customer -- update customer -- delete customer -- batch update customer -- create customer -- retrieve customer +1. Click on **+ Add** button of the query manager at the bottom panel of the editor. +2. Select the **WooCommerce** datasource added in previous step. +3. Select the desired resource from the dropdown and then select the desired operation and enter the required parameters. +4. Click on the **Preview** button to preview the output or Click on the **Run** button to trigger the query. -**PRODUCT** +:::tip +Query results can be transformed using transformations. Read our transformations documentation to see how: **[link](/docs/tutorial/transformations)** +::: -- list product -- update product -- delete product -- batch update product -- create product -- retrieve product +
-**ORDER** +
-- list order -- update order -- delete order -- batch update order -- create order -- retrieve order +## Resource -**Coupon** +### Customer -- list coupon -- create coupon +#### Supported Operations + +- **list customer** +- **update customer** +- **delete customer** +- **batch update customer** +- **create customer** +- **retrieve customer** + +### Product + +#### Supported Operations + +- **list product** +- **update product** +- **delete product** +- **batch update product** +- **create product** +- **retrieve product** + +### Order + +#### Supported Operations + +- **list order** +- **update order** +- **delete order** +- **batch update order** +- **create order** +- **retrieve order** + +### Coupon + +#### Supported Operations + +- **list coupon** +- **create coupon** :::info NOTE: For more info visit https://woocommerce.github.io/woocommerce-rest-api-docs/?javascript. -::: \ No newline at end of file +::: + +
diff --git a/docs/docs/data-sources/zendesk.md b/docs/docs/data-sources/zendesk.md index e764e1686a..1fc7574516 100644 --- a/docs/docs/data-sources/zendesk.md +++ b/docs/docs/data-sources/zendesk.md @@ -3,94 +3,114 @@ id: zendesk title: Zendesk --- -# Zendesk - ToolJet can connect to Zendesk APIs to read and write data using OAuth 2.0, which helps us to limit an application's access to a user's account. - - [Connection](#connection) - - [Querying Zendesk](#querying-zendesk) +
## Connection +To establish a connection with the Zendesk data source, you can either click on the **+ Add new Data source** button located on the query panel or navigate to the **[Data Sources](/docs/data-sources/overview)** page from the ToolJet dashboard and choose Zendesk as the data source. + ToolJet connects to your Zendesk app using : - **Zendesk Sub-domain** - **Client ID** - **Client Secret** -## Authorization Scopes +### Authorization Scopes You can create a Zendesk data source with one of either of the two permission scopes : - 1. **Read Only** - 2. **Read and Write** - - - +- **Read Only** +- **Read and Write** :::info You must first be a verified user to make Zendesk API requests. This is configured in the Admin Center interface in **Apps and integrations > APIs > Zendesk APIs.** For more information, see Security and Authentication in the [Zendesk Support API reference](https://developer.zendesk.com/api-reference/ticketing/introduction/#security-and-authentication) or [check out Zendesk's docs](https://support.zendesk.com/hc/en-us/articles/4408845965210). ::: -To connect Zendesk datasource to your ToolJet application, go to the data source manager on the left-sidebar and click on the `+` button. Select Zendesk from the list of available datasources, provide the credentials and click **Connect to Zendesk** and authenticate via OAuth. And click **Save** to save the datasource. +
-
+
-![ToolJet - Data source - Zendesk](/img/datasource-reference/zendesk/zendesk-v2.gif) +## Querying Zendesk + +1. Click on **+ Add** button of the query manager at the bottom panel of the editor. +2. Select the **Zendesk** datasource added in previous step. +3. Select the desired operation and enter the required parameters. +4. Click on the **Preview** button to preview the output or Click on the **Run** button to trigger the query. + +ToolJet - Data source - Zendesk
-## Querying Zendesk -1. **[List Tickets](/docs/data-sources/zendesk#list-tickets)** -2. **[List requested Tickets](/docs/data-sources/zendesk#list-requested-tickets)** -3. **[Show a Ticket](/docs/data-sources/zendesk#show-tickets)** -4. **[Update a Ticket](/docs/data-sources/zendesk#update-tickets)** -5. **[List Users](/docs/data-sources/zendesk#list-users)** -6. **[Get Profile](/docs/data-sources/zendesk#get-profile)** -7. **[Search query](/docs/data-sources/zendesk#search-query)** + +
+ +## Supported Operations + +- **[List Tickets](#list-tickets)** +- **[List requested Tickets](#list-requested-tickets)** +- **[Show a Ticket](#show-tickets)** +- **[Update a Ticket](#update-tickets)** +- **[List Users](#list-users)** +- **[Get User](#get-user)** +- **[Search](#search)** ### List Tickets Lists all the tickets in your Zendesk account. -### List requested Tickets +ToolJet - Data source - Zendesk + +### List Requested Tickets Lists all the tickets requested by the user. -| Fields | description | -| ----------- | ----------- | -| User ID | The id of the user | +#### Required Parameter +- **User ID** + +ToolJet - Data source - Zendesk ### Show Tickets Gets a ticket's properties with the given ID, though not the ticket comments. -| Fields | description | -| ----------- | ----------- | -| Ticket ID | The id of the ticket | +#### Required Parameter +- **Ticket ID** + +ToolJet - Data source - Zendesk ### Update Tickets Updates a ticket's properties with the given ID. -| Fields | description | -| ----------- | ----------- | -| Ticket ID | The id of the ticket | -| Body | The properties and values to update. Example: `{{({ "ticket": {"status": "solved"} })}}` | +#### Required Parameter +- **Ticket ID** +- **Body** + +ToolJet - Data source - Zendesk ### List Users Lists all the users in your Zendesk account. -### Get Profile +ToolJet - Data source - Zendesk + +### Get User Gets a user's profile with the given ID. -| Fields | description | -| ----------- | ----------- | -| User ID | The id of the user | +#### Required Parameter +- **User ID** + +ToolJet - Data source - Zendesk + +### Search -### Search Query The Search Query uses Zendesk's Search API to return tickets, users, and organizations with defined filters. + +#### Required Parameter +- **Query** + Common filters include: - `type:ticket` - `type:user` - `type:organization` - `type:ticket organization:12345 status:open` -| Fields | description | -| ----------- | ----------- | -| Query | The search query | +ToolJet - Data source - Zendesk + +
\ No newline at end of file diff --git a/docs/docs/marketplace/marketplace_overview.md b/docs/docs/marketplace/marketplace_overview.md index cb556ee32e..de2b16d442 100644 --- a/docs/docs/marketplace/marketplace_overview.md +++ b/docs/docs/marketplace/marketplace_overview.md @@ -83,6 +83,7 @@ To remove a plugin, follow these steps: - **[OpenAI](/docs/marketplace/plugins/marketplace-plugin-openai)** - **[Plivo](/docs/marketplace/plugins/marketplace-plugin-plivo)** - **[Pocketbase](/docs/marketplace/plugins/marketplace-plugin-pocketbase)** +- **[Portkey](/docs/marketplace/plugins/marketplace-plugin-portkey)** - **[PrestoDB](/docs/marketplace/plugins/marketplace-plugin-prestodb)** - **[Salesforce](/docs/marketplace/plugins/marketplace-plugin-salesforce)** - **[Supabase](/docs/marketplace/plugins/marketplace-plugin-supabase)** diff --git a/docs/docs/marketplace/plugins/portkey.md b/docs/docs/marketplace/plugins/portkey.md new file mode 100644 index 0000000000..1a1bbd26b2 --- /dev/null +++ b/docs/docs/marketplace/plugins/portkey.md @@ -0,0 +1,232 @@ +--- +id: marketplace-plugin-portkey +title: Portkey +--- + +ToolJet can integrate with Portkey to access AI services such as text completion, chat completion, prompt completion, and embedding creation. This integration enables ToolJet to leverage Portkey's LMOps platform to develop, launch, maintain, and iterate on generative AI features. + +
+ Portkey Dashboard Overview +
+ +:::note +Before following this guide, it is assumed that you have already completed the process of **[Using Marketplace plugins](/docs/marketplace/marketplace-overview#using-marketplace-plugins)**. +::: + +## Connection + +To connect to Portkey, the following credentials are required: + +- **API Key**: Your Portkey API Key. Refer to the **[Portkey API Authentication Documentation](https://docs.portkey.ai/docs/api-reference/authentication#obtaining-your-api-key)** for instructions on obtaining your API Key. +- **Default Virtual Key** (Optional): Your default Portkey Virtual Key. Visit the **[Portkey Virtual Keys Documentation](https://docs.portkey.ai/docs/product/ai-gateway-streamline-llm-integrations/virtual-keys#creating-virtual-keys)** to learn how to create and retrieve your Virtual Key. +- **Config** (Optional): Your default Portkey configuration. +- **Gateway URL** (Optional): Your default Portkey Gateway URL. See the **[Portkey API Authentication Documentation](https://docs.portkey.ai/docs/api-reference/authentication#obtaining-your-api-key)** for details on how to obtain your Gateway URL. + +
+ Configuring Portkey in ToolJet +
+ +## Supported Operations + +Portkey in ToolJet supports the following operations: + +- **[Completion](#completion)** +- **[Chat](#chat)** +- **[Prompt Completion](#prompt-completion)** +- **[Create Embedding](#create-embedding)** + +### Completion + +This operation generates text completions based on a given prompt. + +#### Parameters: + +- **Prompt**: The input text to generate completions for. +- **Model**: The AI model to use. +- **Max Tokens**: Maximum number of tokens to generate. +- **Temperature**: Controls randomness. +- **Stop Sequences**: Sequences where the API will stop generating further tokens. +- **Metadata**: Additional metadata for the request. +- **Other Parameters**: Any other parameters to include in the request. + +
+ Completion Operation for Portkey +
+ +
+ **Response Example** + ```json +{ + "id": "cmpl-9vNUfM8OP0SwSqXcnPwkqzR7ep8Sy", + "object": "text_completion", + "created": 1723462033, + "model": "gpt-3.5-turbo-instruct", + "choices": [ + { + "text": "nn"Experience the perfect brew at Bean There."", + "index": 0, + "logprobs": null, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 13, + "completion_tokens": 10, + "total_tokens": 23 + } +} + ``` +
+ +### Chat + +This operation generates chat completions based on a series of messages. + +#### Parameters: + +- **Messages**: An array of message objects representing the conversation. +- **Model**: The AI model to use. +- **Max Tokens**: Maximum number of tokens to generate. +- **Temperature**: Controls randomness. +- **Stop Sequence**: Sequences where the API will stop generating further tokens. +- **Metadata**: Additional metadata for the request. +- **Other Parameters**: Any other parameters to include in the request. + +
+ Chat Operation for Portkey +
+ +
+ **Response Example** +```json +{ + "id": "chatcmpl-9vNIlfllXOPEmroKFajK2nlJHzhXA", + "object": "chat.completion", + "created": 1723461295, + "model": "gpt-3.5-turbo-0125", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "The capital of France is Paris.", + "refusal": null + }, + "logprobs": null, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 24, + "completion_tokens": 7, + "total_tokens": 31 + }, + "system_fingerprint": null +} +``` +
+ +### Prompt Completion + +This operation generates completions based on a pre-defined prompt. + +#### Parameters: + +- **Prompt ID**: The ID of the pre-defined prompt to use. +- **Variables**: Variables to be used in the prompt. +- **Parameters**: Additional parameters for the prompt completion. +- **Metadata**: Additional metadata for the request. + +
+ Prompt Completion Operation for Portkey +
+ +
+ **Response Example** +```json +{ + "id": "chatcmpl-9w6D8jZciWVf1DzkgqNZK14KUvA4d", + "object": "chat.completion", + "created": 1723633926, + "model": "gpt-4o-mini-2024-07-18", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "The Industrial Revolution, starting in the late 18th century, transformed production from hand methods to machine-based processes, introducing new manufacturing techniques, steam power, and machine tools. It marked a shift from bio-fuels to coal, with the textile industry leading the way. This period resulted in significant population growth, increased average income, and improved living standards.", + "refusal": null + }, + "logprobs": null, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 145, + "completion_tokens": 71, + "total_tokens": 216 + }, + "system_fingerprint": "fp_48196bc67a" +} +``` +
+ +### Create Embedding + +This operation creates embeddings for given input text. + +#### Parameters: + +- **Input**: The input text to create embeddings for. +- **Model**: The AI model to use for creating embeddings. +- **Metadata**: Additional metadata for the request. + +
+ Create Embedding Operation for Portkey +
+ +
+ **Response Example** +```json +{ + "object": "list", + "data": [ + { + "object": "embedding", + "index": 0, + "embedding": [ + -0.02083237, + -0.016892163, + -0.0045676464, + -0.05084554, + -0.025968939, + 0.029597048, + 0.029987168, + 0.02907689, + 0.0105982395, + -0.024356445, + -0.00935636, + 0.0066352785, + 0.034018397, + -0.042002838, + 0.03856979, + -0.014681488, + ..., + 0.024707552 + ] + } + ], + "model": "text-embedding-3-small", + "usage": { + "prompt_tokens": 9, + "total_tokens": 9 + } +} +``` +
+ +For all operations, you can optionally specify: +- **Config**: Configuration options for the request. +- **Virtual Key**: A specific virtual key to use for the request, overriding the default. + +--- \ No newline at end of file diff --git a/docs/docs/setup/choose-your-tooljet.md b/docs/docs/setup/choose-your-tooljet.md index 0a169f9e98..2558238aed 100644 --- a/docs/docs/setup/choose-your-tooljet.md +++ b/docs/docs/setup/choose-your-tooljet.md @@ -15,6 +15,8 @@ Please find the latest LTS version here:
| Version | Release Date | Docker Pull Command | |---------|--------------|----------------------| | Latest EE-LTS | N/A | `docker pull tooljet/tooljet:EE-LTS-latest` | +| [EE-LTS-2.50.9.41](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.41/images/sha256-d36444747af6f81d4456ca4d1f7dcf92c3e77e13e23ca9407c22de1c62451bd7?context=explore) | September 24 , 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.41` | +| [EE-LTS-2.50.9.40](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.40/images/sha256-26338b926568dc514c26988f6cd01f84bb3edf950fac08982365fabb95900f78?context=explore) | September 18 , 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.40` | | [EE-LTS-2.50.9.39](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.39/images/sha256-6f1b7a00432e0e29a05adb375d3ddd9da877d6eb53d489be14ca0061953bbb57?context=explore) | September 12 , 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.39` | | [EE-LTS-2.50.9.38](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.38/images/sha256-1974afb5f8483f4bfb7bf7575d7d8b4f0f7747dd7c88139cbf559c3ce8b1fdbd?context=explore) | September 12 , 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.38` | | [EE-LTS-2.50.9.37](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.37/images/sha256-b1a13a5424bf14af77bb455f39e07d2a774303bcf4286aa7bd6d0a78c1a58e59?context=explore) | September 11 , 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.37` | @@ -29,8 +31,6 @@ Please find the latest LTS version here:
| [EE-LTS-2.50.9.28](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.28/images/sha256-f33982c51a59b126aea9da9eef2cace0cd074411583ea896edc3f6db5b578a6b?context=explore) | August 19, 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.28` | | [EE-LTS-2.50.9.27](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.27/images/sha256-ae4810ddd12b2e397a07085e2ea62e98c4ea16c139d2673e4ab890d19b40f868?context=explore) | August 13, 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.27` | | [EE-LTS-2.50.9.26](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.26/images/sha256-8e17e23f2d61b463aaf0f87e5e90fa4580faf3fa6e790afcff64ef399454f85f?context=explore) | August 12, 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.26` | -| [EE-LTS-2.50.9.25](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.25/images/sha256-fdf2858e364c238abd49418321a34676449383733ca3c6fb79ae4714e113a064?context=explore) | August 2, 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.25` | -| [EE-LTS-2.50.9.24](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.24/images/sha256-a51522503c4b31eb5cd27bd105fe8693f371f17fcf6bf9c86c3fff3d6d9faf4f?context=explore) | August 1, 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.24` | :::info Users are encouraged to upgrade to the latest LTS version to ensure they benefit from the latest improvements and maintain a secure and efficient environment. diff --git a/docs/sidebars.js b/docs/sidebars.js index ac28a6751a..375ab7cdc4 100644 --- a/docs/sidebars.js +++ b/docs/sidebars.js @@ -430,6 +430,7 @@ const sidebars = { 'marketplace/plugins/marketplace-plugin-salesforce', 'marketplace/plugins/marketplace-plugin-supabase', 'marketplace/plugins/marketplace-plugin-pocketbase', + 'marketplace/plugins/marketplace-plugin-portkey', 'marketplace/plugins/marketplace-plugin-prestodb', 'marketplace/plugins/marketplace-plugin-jira', ], diff --git a/docs/static/img/datasource-reference/airtable/operations.png b/docs/static/img/datasource-reference/airtable/operations.png new file mode 100644 index 0000000000..94eb5b00de Binary files /dev/null and b/docs/static/img/datasource-reference/airtable/operations.png differ diff --git a/docs/static/img/datasource-reference/twilio/connect-v2.png b/docs/static/img/datasource-reference/twilio/connect-v2.png new file mode 100644 index 0000000000..a5c4ddc936 Binary files /dev/null and b/docs/static/img/datasource-reference/twilio/connect-v2.png differ diff --git a/docs/static/img/datasource-reference/twilio/sms-v2.png b/docs/static/img/datasource-reference/twilio/sms-v2.png new file mode 100644 index 0000000000..eb6ac96619 Binary files /dev/null and b/docs/static/img/datasource-reference/twilio/sms-v2.png differ diff --git a/docs/static/img/datasource-reference/typesense/collection-v2.png b/docs/static/img/datasource-reference/typesense/collection-v2.png new file mode 100644 index 0000000000..2fd7a1fb92 Binary files /dev/null and b/docs/static/img/datasource-reference/typesense/collection-v2.png differ diff --git a/docs/static/img/datasource-reference/typesense/connect-v2.png b/docs/static/img/datasource-reference/typesense/connect-v2.png new file mode 100644 index 0000000000..ad6763e1f3 Binary files /dev/null and b/docs/static/img/datasource-reference/typesense/connect-v2.png differ diff --git a/docs/static/img/datasource-reference/typesense/delete-v2.png b/docs/static/img/datasource-reference/typesense/delete-v2.png new file mode 100644 index 0000000000..91ad174f5a Binary files /dev/null and b/docs/static/img/datasource-reference/typesense/delete-v2.png differ diff --git a/docs/static/img/datasource-reference/typesense/get-v2.png b/docs/static/img/datasource-reference/typesense/get-v2.png new file mode 100644 index 0000000000..45006ec8cb Binary files /dev/null and b/docs/static/img/datasource-reference/typesense/get-v2.png differ diff --git a/docs/static/img/datasource-reference/typesense/index-v2.png b/docs/static/img/datasource-reference/typesense/index-v2.png new file mode 100644 index 0000000000..51ae08ebee Binary files /dev/null and b/docs/static/img/datasource-reference/typesense/index-v2.png differ diff --git a/docs/static/img/datasource-reference/typesense/search-v2.png b/docs/static/img/datasource-reference/typesense/search-v2.png new file mode 100644 index 0000000000..b7c3d8823b Binary files /dev/null and b/docs/static/img/datasource-reference/typesense/search-v2.png differ diff --git a/docs/static/img/datasource-reference/typesense/update-v2.png b/docs/static/img/datasource-reference/typesense/update-v2.png new file mode 100644 index 0000000000..fa1c10bdb6 Binary files /dev/null and b/docs/static/img/datasource-reference/typesense/update-v2.png differ diff --git a/docs/static/img/datasource-reference/woocommerce/woocomerce-auth-v2.png b/docs/static/img/datasource-reference/woocommerce/woocomerce-auth-v2.png new file mode 100644 index 0000000000..db547f27ce Binary files /dev/null and b/docs/static/img/datasource-reference/woocommerce/woocomerce-auth-v2.png differ diff --git a/docs/static/img/datasource-reference/zendesk/get.png b/docs/static/img/datasource-reference/zendesk/get.png new file mode 100644 index 0000000000..9376632e2d Binary files /dev/null and b/docs/static/img/datasource-reference/zendesk/get.png differ diff --git a/docs/static/img/datasource-reference/zendesk/list-requested-tickets.png b/docs/static/img/datasource-reference/zendesk/list-requested-tickets.png new file mode 100644 index 0000000000..7726c0df22 Binary files /dev/null and b/docs/static/img/datasource-reference/zendesk/list-requested-tickets.png differ diff --git a/docs/static/img/datasource-reference/zendesk/list-tickets.png b/docs/static/img/datasource-reference/zendesk/list-tickets.png new file mode 100644 index 0000000000..309976ab40 Binary files /dev/null and b/docs/static/img/datasource-reference/zendesk/list-tickets.png differ diff --git a/docs/static/img/datasource-reference/zendesk/list-users.png b/docs/static/img/datasource-reference/zendesk/list-users.png new file mode 100644 index 0000000000..16f5b06663 Binary files /dev/null and b/docs/static/img/datasource-reference/zendesk/list-users.png differ diff --git a/docs/static/img/datasource-reference/zendesk/search.png b/docs/static/img/datasource-reference/zendesk/search.png new file mode 100644 index 0000000000..aab901da2f Binary files /dev/null and b/docs/static/img/datasource-reference/zendesk/search.png differ diff --git a/docs/static/img/datasource-reference/zendesk/show.png b/docs/static/img/datasource-reference/zendesk/show.png new file mode 100644 index 0000000000..3ec623b23f Binary files /dev/null and b/docs/static/img/datasource-reference/zendesk/show.png differ diff --git a/docs/static/img/datasource-reference/zendesk/update.png b/docs/static/img/datasource-reference/zendesk/update.png new file mode 100644 index 0000000000..a38bcd9b86 Binary files /dev/null and b/docs/static/img/datasource-reference/zendesk/update.png differ diff --git a/docs/static/img/marketplace/plugins/portkey/chat.png b/docs/static/img/marketplace/plugins/portkey/chat.png new file mode 100644 index 0000000000..a2b6829a56 Binary files /dev/null and b/docs/static/img/marketplace/plugins/portkey/chat.png differ diff --git a/docs/static/img/marketplace/plugins/portkey/completion.png b/docs/static/img/marketplace/plugins/portkey/completion.png new file mode 100644 index 0000000000..9d19e684b9 Binary files /dev/null and b/docs/static/img/marketplace/plugins/portkey/completion.png differ diff --git a/docs/static/img/marketplace/plugins/portkey/configuration.png b/docs/static/img/marketplace/plugins/portkey/configuration.png new file mode 100644 index 0000000000..224cce51c8 Binary files /dev/null and b/docs/static/img/marketplace/plugins/portkey/configuration.png differ diff --git a/docs/static/img/marketplace/plugins/portkey/embedding.png b/docs/static/img/marketplace/plugins/portkey/embedding.png new file mode 100644 index 0000000000..0062161750 Binary files /dev/null and b/docs/static/img/marketplace/plugins/portkey/embedding.png differ diff --git a/docs/static/img/marketplace/plugins/portkey/overview.png b/docs/static/img/marketplace/plugins/portkey/overview.png new file mode 100644 index 0000000000..1b3b78ce80 Binary files /dev/null and b/docs/static/img/marketplace/plugins/portkey/overview.png differ diff --git a/docs/static/img/marketplace/plugins/portkey/prompt-completion.png b/docs/static/img/marketplace/plugins/portkey/prompt-completion.png new file mode 100644 index 0000000000..71c0284ae9 Binary files /dev/null and b/docs/static/img/marketplace/plugins/portkey/prompt-completion.png differ diff --git a/docs/versioned_docs/version-2.50.0-LTS/contributing-guide/setup/docker.md b/docs/versioned_docs/version-2.50.0-LTS/contributing-guide/setup/docker.md index c701661930..1330cc11ce 100644 --- a/docs/versioned_docs/version-2.50.0-LTS/contributing-guide/setup/docker.md +++ b/docs/versioned_docs/version-2.50.0-LTS/contributing-guide/setup/docker.md @@ -149,4 +149,41 @@ docker compose run --rm server npm --prefix server run test ## Troubleshooting -Please open a new issue at https://github.com/ToolJet/ToolJet/issues or join our [Slack Community](https://tooljet.com/slack) if you encounter any issues when trying to run ToolJet locally. \ No newline at end of file +Please open a new issue at https://github.com/ToolJet/ToolJet/issues or join our [Slack Community](https://tooljet.com/slack) if you encounter any issues when trying to run ToolJet locally. + + +## Debugging with Docker + +In this section, we provide guidance on how to enable debugging for ToolJet services using Docker and Visual Studio Code. These additions will significantly benefit contributors by streamlining the debugging process and enhancing the overall development experience. + + +#### VSCode Launch Configuration: + +A new configuration has been added in `.vscode/launch.json` to facilitate launching the client and server in debug mode. This allows contributors to easily debug the application within the Visual Studio Code environment. Configurations include: + +- **Docker Debug Client**: Launch the client running in a Docker container for debugging within Visual Studio Code. +- **Docker Debug Server**: Debug the server in a Docker container, allowing developers to leverage Node.js debugging tools directly from their IDE. + +#### VSCode Task Configuration: + +A new task has been introduced in `.vscode/tasks.json` to manage Docker Compose commands for debugging. This includes tasks to start the client and server in detached mode, making it easier to initiate debugging sessions. + +#### Docker Compose Debug Configuration: + +The `docker-compose-debug.yaml` file defines the services for debugging, exposing the necessary port (9229) for Node.js debugging. This setup ensures that the server runs in debug mode, allowing for effective troubleshooting. + +### Benefits of Debugging Configuration +These changes streamline the debugging process, making it more efficient for contributors to identify and fix issues. The integration with Visual Studio Code allows for advanced debugging features such as breakpoints and real-time variable inspection. Furthermore, standardizing the debugging setup fosters better collaboration among team members, facilitating knowledge sharing and improving the overall development workflow. + +By implementing these configurations, ToolJet aims to enhance the development experience, enabling contributors to resolve issues swiftly and maintain project momentum. + +If you want to run docker in debug mode use this command +```bash +docker-compose -f docker-compose.yaml -f docker-compose-debug.yaml up --build +``` + +**Open the Project in VSCode**: Open the ToolJet directory in Visual Studio Code. + +Check Launch Configurations: +- Open the debug view by clicking on the Debug icon in the Activity Bar on the side of the window. +- Select the appropriate configuration, such as Docker Debug Client or Docker Debug Server. \ No newline at end of file diff --git a/docs/versioned_docs/version-2.50.0-LTS/data-sources/airtable.md b/docs/versioned_docs/version-2.50.0-LTS/data-sources/airtable.md index c6e581b58e..847a9d4f05 100644 --- a/docs/versioned_docs/version-2.50.0-LTS/data-sources/airtable.md +++ b/docs/versioned_docs/version-2.50.0-LTS/data-sources/airtable.md @@ -3,18 +3,43 @@ id: airtable title: Airtable --- -ToolJet can connect to your **Airtable** account to read and write data. **Personal Access Token** is required to connect to the Airtable data source on ToolJet. You can generate the Personal Access Token by visiting **[Developer Hub from your Airtable profile](https://support.airtable.com/docs/creating-and-using-api-keys-and-access-tokens#understanding-personal-access-token-basic-actions)**. +ToolJet can connect to your **Airtable** account to read and write data. + +
+ +## Connection + +To establish a connection with the **Airtable** data source, you can either click on the **+ Add new Data source** button located on the query panel or navigate to the **[Data Sources](/docs/data-sources/overview/)** page from the ToolJet dashboard. + +ToolJet requires the following to connect to your Airtable: +- **Personal Access Token** + +You can generate the Personal Access Token by visiting **[Developer Hub from your Airtable profile](https://support.airtable.com/docs/creating-and-using-api-keys-and-access-tokens#understanding-personal-access-token-basic-actions)**.
- Airtable Data Source Connection + Airtable Data Source Connection
-
+
:::info Airtable API has a rate limit, and at the time of writing this documentation, the limit is five(5) requests per second per base. You can read more about rate limits here **[Airtable API](https://airtable.com/api)**. ::: + +
+ +## Querying Airtable + +1. Click on **+ Add** button of the query manager at the bottom panel of the editor. +2. Select the **Airtable** datasource added in previous step. +3. Select the desired operation from the dropdown and enter the required parameters. +4. Click on the **Preview** button to preview the output or Click on the **Run** button to trigger the query. + +Airtable Data Source Operations + +
+
## Supported Operations @@ -27,104 +52,100 @@ Airtable API has a rate limit, and at the time of writing this documentation, th
-
+### List Records -### List records +This operation retrieves a list of records from the specified table. -This operation returns a list of records from the specified table. +#### Required Parameters -#### Required parameters: +- **Base ID** +- **Table name** -- **Base ID:** To find the Base ID, first visit **[Airtable API](https://airtable.com/api)**. Then select the base you want to connect to. The Base ID will be mentioned in the API documentation. Example Base ID: `appDT3UCPffPiSmFd` -- **Table name:** The name of the table from which you want to fetch the records. +#### Optional Parameters -#### Optional parameters: +- **Page size** +- **Offset** +- **Filter by formula** +- **Fields** -- **Page size:** The number of records returned in each request. Default is 100 records. -- **Offset:** The offset value is used to fetch the next set of records. The offset value is returned in the response of the previous request. -- **Filter by formula:** This parameter will only return records that satisfy the formula. The formula will be evaluated for each record, and if the result is not 0, false, "", NaN, [], or #Error!, the record will be included in the result. e.g. `Name = 'John'` -- **Fields:** The fields you want to retrieve. If you don't specify the fields, all fields will be returned. e.g. `["Name", "Email", "Survey Response"]` +Airtable List Records Query -
-
- Airtable List Records Query -
- -Example response from Airtable: - -```json -{ - "records": [ - { - "id": "recu9xMnUdr2n2cw8", - "fields": { - "Notes": "Meeting to discuss project details", - "Name": "John Doe" +
+ **Response Example** + + ```json + { + "records": [ + { + "id": "recu9xMnUdr2n2cw8", + "fields": { + "Notes": "Meeting to discuss project details", + "Name": "John Doe" + }, + "createdTime": "2021-05-12T14:30:33.000Z" }, - "createdTime": "2021-05-12T14:30:33.000Z" + { + "id": "recyIdR7bVdQvmKXa", + "fields": { + "Notes": "Follow-up call regarding contract", + "Name": "Jane Smith" + }, + "createdTime": "2021-05-12T14:30:33.000Z" + }, + { + "id": "recAOzdIHaRpvRaGE", + "fields": { + "Notes": "Client feedback review meeting", + "Name": "Alice Johnson" + }, + "createdTime": "2021-05-12T14:30:33.000Z" + } + ], + "offset": "recAOzdIHaRpvRaGE" + } + ``` +
+ + +### Retrieve Record + +This operation fetches a specific record from the specified table. + +#### Required Parameters + +- **Base ID** +- **Table name** +- **Record ID** + +Airtable Retrieve Record Query + +
+ **Response Example** + ```json + { + "id": "recu9xMnUdr2n2cw8", + "fields": { + "Notes": "Discuss project timeline", + "Name": "Michael Scott" }, - { - "id": "recyIdR7bVdQvmKXa", - "fields": { - "Notes": "Follow-up call regarding contract", - "Name": "Jane Smith" - }, - "createdTime": "2021-05-12T14:30:33.000Z" - }, - { - "id": "recAOzdIHaRpvRaGE", - "fields": { - "Notes": "Client feedback review meeting", - "Name": "Alice Johnson" - }, - "createdTime": "2021-05-12T14:30:33.000Z" - } - ], - "offset": "recAOzdIHaRpvRaGE" -} -``` + "createdTime": "2021-05-12T14:30:33.000Z" + } + ``` +
-
+### Create Record -### Retrieve record +This operation creates a new record in the specified table. -#### Required parameters: +#### Required Parameters -- **Base ID**: To find the Base ID, first visit **[Airtable API](https://airtable.com/api)**. Then select the base you want to connect to. The Base ID will be mentioned in the API documentation. Example Base ID: `appDT3UCPffPiSmFd` -- **Table name**: The name of the table from which you want to fetch the records. -- **Record ID**: The ID of the record you want to retrieve. -
-
- Airtable Retrieve Record Query -
+- **Base ID** +- **Table name** +- **Records** +Airtable Create Record Query -Example response from Airtable: - -```json -{ - "id": "recu9xMnUdr2n2cw8", - "fields": { - "Notes": "Discuss project timeline", - "Name": "Michael Scott" - }, - "createdTime": "2021-05-12T14:30:33.000Z" -} -``` - -### Create record - -#### Required parameters: - -- **Base ID**: To find the Base ID, first visit **[Airtable API](https://airtable.com/api)**. Then select the base you want to connect to. The Base ID will be mentioned in the API documentation. Example Base ID: `appDT3UCPffPiSmFd` -- **Table name**: The name of the table where you want to create the record. -- **Records**: The records you want to create. The records should be in the form of an array of objects. Each object should have a `fields` key, which contains the fields of the record. The field names should be the same as the field names in the Airtable table. -
-
- Airtable Create Record Query -
- -Example creating a record: +#### Example ```json title="Records" [{ @@ -134,81 +155,82 @@ Example creating a record: } }] ``` - -Query returns the following response when the record is created successfully: - -```json -{ - "records": [ - { - "id": "recu6jhA7tzv4K66s", - "createdTime": "2024-06-11T06:01:44.000Z", - "fields": { - "Name": "Katrina Petersons", - "Email": "katrina.petersions@example.com", - "Date": "06-11-2024", +
+ **Response Example** + ```json + { + "records": [ + { + "id": "recu6jhA7tzv4K66s", + "createdTime": "2024-06-11T06:01:44.000Z", + "fields": { + "Name": "Katrina Petersons", + "Email": "katrina.petersions@example.com", + "Date": "06-11-2024", + } } - } - ] -} -``` + ] + } + ``` +
### Update record +Update a specific record by providing new data. + #### Required parameters: -- **Base ID**: To find the Base ID, first visit **[Airtable API](https://airtable.com/api)**. Then select the base you want to connect to. The Base ID will be mentioned in the API documentation. Example Base ID: `appDT3UCPffPiSmFd` -- **Table name**: The name of the table where you want to update the record. -- **Record ID**: The ID of the record you want to update. -- **Body**: The fields you want to update. The fields should be in the form of an object. The field names should be the same as the field names in the Airtable table. -
-
- Airtable Update Record Query -
+- **Base ID** +- **Table name** +- **Record ID** +- **Body** -Example updating a record: +Airtable Update Record Query -```json title="Body" +#### Example + +```json { "Email": "katrina.petersions2@example.com" } ``` - -Query returns the following response when the record is updated successfully: - -```json -{ - "records": [ - { - "id": "recu6jhA7tzv4K66s", - "createdTime": "2024-06-11T07:01:44.000Z", - "fields": { - "Name": "Katrina Petersons", - "Email": "katrina.petersions2@example.com", - "Date": "06-11-2024", +
+ **Response Example** + ```json + { + "records": [ + { + "id": "recu6jhA7tzv4K66s", + "createdTime": "2024-06-11T07:01:44.000Z", + "fields": { + "Name": "Katrina Petersons", + "Email": "katrina.petersions2@example.com", + "Date": "06-11-2024", + } } - } - ] -} -``` + ] + } + ``` +
### Delete record +This operation removes a record from the specified table. + #### Required parameters: -- **Base ID**: To find the Base ID, first visit **[Airtable API](https://airtable.com/api)**. Then select the base you want to connect to. The Base ID will be mentioned in the API documentation. Example Base ID: `appDT3UCPffPiSmFd` -- **Table name**: The name of the table where you want to delete the record. -- **Record ID**: The ID of the record you want to delete. -
-
- Airtable Delete Record Query -
+- **Base ID** +- **Table name** +- **Record ID** -Query returns the following response when the record is deleted successfully: +Airtable Delete Record Query -```json -{ - deleted: true - id: "recIKsyZgqI4zoqS7" -} -``` \ No newline at end of file +
+ **Response Example** + ```json + { + deleted: true + id: "recIKsyZgqI4zoqS7" + } + ``` +
diff --git a/docs/versioned_docs/version-2.50.0-LTS/data-sources/azureblob.md b/docs/versioned_docs/version-2.50.0-LTS/data-sources/azureblob.md index ba34b740d4..b8ad543bfe 100644 --- a/docs/versioned_docs/version-2.50.0-LTS/data-sources/azureblob.md +++ b/docs/versioned_docs/version-2.50.0-LTS/data-sources/azureblob.md @@ -7,9 +7,9 @@ ToolJet offers the capability to establish a connection with Azure Blob storage ## Connection -To establish a connection with the Azure Blob data source, you can either click on the **+ Add new Data source** button located on the query panel or navigate to the **[Data Sources](/docs/data-sources/overview)** page from the ToolJet dashboard and choose Amazon Athena as the data source. +To establish a connection with the Azure Blob data source, you can either click on the **+ Add new Data source** button located on the query panel or navigate to the **[Data Sources](/docs/data-sources/overview)** page from the ToolJet dashboard and choose Azure Blob as the data source. -ToolJet requires the following to connect to your Athena. +ToolJet requires the following to connect to your Azure Blob. - **Connection String**
diff --git a/docs/versioned_docs/version-2.50.0-LTS/data-sources/s3.md b/docs/versioned_docs/version-2.50.0-LTS/data-sources/s3.md index 08bd5c07e0..47fa13f442 100644 --- a/docs/versioned_docs/version-2.50.0-LTS/data-sources/s3.md +++ b/docs/versioned_docs/version-2.50.0-LTS/data-sources/s3.md @@ -3,13 +3,13 @@ id: s3 title: Amazon S3 --- -ToolJet can connect to **Amazon S3** buckets and perform various operation on them. +ToolJet can connect to **Amazon S3** buckets and perform various operations on them.
## Connection -To establish a connection with the **Amazon S3** data source, you can either click on the **+Add new Data source** button located on the query panel or navigate to the **[Data Sources](/docs/data-sources/overview/)** page from the ToolJet dashboard. +To establish a connection with the **Amazon S3** data source, you can either click on the **+ Add new Data source** button located on the query panel or navigate to the **[Data Sources](/docs/data-sources/overview/)** page from the ToolJet dashboard. ToolJet supports connecting to AWS S3 using **IAM Access Keys**, **AWS Instance Credentials** or **AWS ARN Role**. @@ -19,29 +19,22 @@ If you are using **IAM Access Keys**, you will need to provide the following det - **Access key** - **Secret key** -It is recommended to create a new IAM user for the database so that you can control the access levels of ToolJet. +**Note:** It is recommended to create a new IAM user for the database so that you can control the access levels of ToolJet. -
- aws s3 modal -
+aws s3 modal To connect to AWS S3 using **AWS Instance Credentials**, select the **Use AWS Instance Credentials**. This will use the IAM role attached to the EC2 instance where ToolJet is running. + To access the metadata service of an ECS container and the EC2 instance, we use the WebIdentityToken parameter which is obtained from a successful login with an identity provider. -
- aws s3 modal -
+aws s3 modal If you are using **AWS ARN Role**, you will need to provide the following details: - **Region** - **Role ARN** -
- aws s3 modal -
- -Click on **Test Connection** button to verify if the credentials are correct and that the database is accessible to ToolJet server. Click on **Save** button to save the data source. +aws s3 modal :::tip You can now connect to **[different S3 Hosts using custom endpoints](/docs/how-to/s3-custom-endpoints)**. @@ -53,16 +46,13 @@ You can now connect to **[different S3 Hosts using custom endpoints](/docs/how-t ## Querying AWS S3 -Click on **+Add** button of the **[query manager](/docs/app-builder/query-panel/#query-manager)** and select the data source added in the previous step as the data source. Select the operation that you want to perform, fill in the required parameters and click on **Run** button to run the query. - -
+1. Click on **+ Add** button of the query manager at the bottom panel of the editor. +2. Select the **Amazon AWS S3** datasource added in previous step. +3. Select the desired operation from the dropdown and enter the required parameters. +4. Click on the **Preview** button to preview the output or Click on the **Run** button to trigger the query. aws s3 query -
- -
- :::info Query results can be transformed using transformations. Read our [transformations documentation](/docs/tutorial/transformations). ::: @@ -71,156 +61,121 @@ Query results can be transformed using transformations. Read our [transformation
-## Query operations +## Supported Operations You can create query for AWS S3 data source to perform several actions such as: - 1. **[Create a new bucket](#create-a-new-bucket)** - 2. **[Read object](#read-object)** - 3. **[Upload object](#upload-object)** - 4. **[Remove object](#remove-object)** - 5. **[List buckets](#list-buckets)** - 6. **[List objects in a bucket](#list-objects-in-a-bucket)** - 7. **[Signed url for download](#signed-url-for-download)** - 8. **[Signed url for upload](#signed-url-for-upload)** +- **[Create a new bucket](#create-a-new-bucket)** +- **[Read object](#read-object)** +- **[Upload object](#upload-object)** +- **[Remove object](#remove-object)** +- **[List buckets](#list-buckets)** +- **[List objects in a bucket](#list-objects-in-a-bucket)** +- **[Signed URL for download](#signed-url-for-download)** +- **[Signed URL for upload](#signed-url-for-upload)** -
- -### Create a new bucket +### Create a New Bucket You can create a new bucket in your S3 by using this operation. -#### Required parameters: +#### Required Parameters -- **Bucket Name**: Specify the bucket name. +- **Bucket Name** -
+Create a new bucket - S3 operation - Create a new bucket - S3 operation - -
- -### Read object +### Read Object You can read an object in a bucket by using this operation. -#### Required parameters: +#### Required Parameters -- **Bucket**: Specify the bucket name. -- **Key**: Key of the object/file. +- **Bucket** +- **Key** +aws s3 read object -
- aws s3 read object -
- -### Upload object +### Upload Object You can use this operation to upload objects(files) to your S3 bucket. -#### Required parameters: +#### Required Parameters -- **Bucket**: Specify the bucket name. -- **Key**: Key of the object/file. -- **Content Type**: Specify file type such as text, image etc. -- **Upload data**: File/object that is to be uploaded. +- **Bucket** +- **Key** +- **Content Type** +- **Upload data** +aws s3 upload -
- aws s3 upload -
- -### Remove object +### Remove Object You can use this operation to remove an object from your S3 bucket. -#### Required parameters: +#### Required Parameters -- **Bucket**: Specify the bucket name. -- **Key**: Key of the object/file. +- **Bucket** +- **Key** -
+Create a new bucket - S3 operation - Create a new bucket - S3 operation - -
- -### List buckets +### List Buckets This operation will list all the buckets in your S3. This does not require any parameter. +aws s3 bucket -
- aws s3 bucket -
- -### List objects in a bucket +### List Objects in a Bucket This operation will fetch the list of all the files in your bucket. It requires the following parameters: -#### Required parameters: +#### Required Parameters -- **Bucket**: Specify the bucket name. +- **Bucket** -#### Optional parameters: +#### Optional Parameters -- **Prefix**: To limit the response to keys that begin with the specified prefix. -- **Max keys**: The maximum number of keys returned in the response body. Default value is 1000. -- **Offset**: The key to start with when listing objects in a bucket. -- **Next Continuation Token**: `Next Continuation Token` indicates Amazon S3 that the list is being continued on this bucket with a token. ContinuationToken is obfuscated and is not a real key. +- **Prefix** +- **Max keys** +- **Offset** +- **Next Continuation Token** :::info -**Next Continuation Token** -For listing a bucket for objects that begin with a specific character or a prefix, then use the `Offset` parameter. For example, if you want to list all the objects that begin with `a`, then set the `Offset` parameter to `a`. Similarly, if you want to list all the objects that begin with `ab`, then set the `Offset` parameter to `ab`. - -The `Next Continuation Token` is used to list the next set of objects in a bucket. It is returned by the API when the response is truncated. The results will contain `Next Continuation Token` if there are more keys in the bucket that satisfy the list query. To get the next set of objects, set the `Next Continuation Token` parameter and run the query again. +**Next Continuation Token**
+For listing a bucket for objects that begin with a specific character or a prefix, then use the **Offset** parameter. For example, if you want to list all the objects that begin with **a**, then set the **Offset** parameter to **a**. Similarly, if you want to list all the objects that begin with **ab**, then set the **Offset** parameter to **ab**.
+The **Next Continuation Token** is used to list the next set of objects in a bucket. It is returned by the API when the response is truncated. The results will contain **Next Continuation Token** if there are more keys in the bucket that satisfy the list query. To get the next set of objects, set the **Next Continuation Token** parameter and run the query again.
The results will continue from where the last listing finished. ::: +aws s3 list object -
- -aws s3 list object - -
- -### Signed URL for download +### Signed URL for Download The object owner can optionally share objects with others by creating a presigned URL, using their own security credentials, to grant time-limited permission to download the objects. -#### Required parameters: +#### Required Parameters -- **Bucket**: Name of the bucket for uploading the file. -- **Key**: The object key. -- **Expires in**: The expiration time of URL. +- **Bucket** +- **Key** +- **Expires in** +aws s3 signed download -
- -aws s3 signed download - -
- -### Signed URL for upload +### Signed URL for Upload The presigned URLs are useful if you want your user/customer to be able to upload a specific object to your bucket, but you don't require them to have AWS security credentials or permissions. -#### Required parameters: - -- **Bucket**: Name of the bucket for uploading the file. -- **Key**: The object key. -- **Expires in**: The expiration time of URL. -- **Content Type**: The content type such as text, image etc. - - -
- -aws s3 signed upload - -
+#### Required Parameters +- **Bucket** +- **Key** +- **Expires in** +- **Content Type** +aws s3 signed upload :::info We built an app to view and upload files to AWS S3 buckets. Check out the complete tutorial **[here](https://blog.tooljet.com/build-an-aws-s3-broswer-with-tooljet/)**. -::: \ No newline at end of file +::: + +
\ No newline at end of file diff --git a/docs/versioned_docs/version-2.50.0-LTS/data-sources/twilio.md b/docs/versioned_docs/version-2.50.0-LTS/data-sources/twilio.md index daac9e7e32..1ccaf075eb 100644 --- a/docs/versioned_docs/version-2.50.0-LTS/data-sources/twilio.md +++ b/docs/versioned_docs/version-2.50.0-LTS/data-sources/twilio.md @@ -3,52 +3,55 @@ id: twilio title: Twilio --- -# Twilio +ToolJet can connect to Twilio account to send sms. -ToolJet can connect to your Twilio account to send sms. - -
- -![ToolJet - Data source - Twilio](/img/datasource-reference/twilio/connect.png) - -
+
## Connection -- To add the Twilio datasource, click the **Datasource manager** icon on the left-sidebar of the app builder and click on the `Add datasource` button, then select **Twilio** from the modal that pops up. - -- In the next dialog, you'll be asked to enter the Auth Token, Account SID, and Messaging Service SID. -- You can get the **Auth Token and Account SID** on the dashboard of your Twilio account. +To establish a connection with the Twilio data source, you can either click on the **+ Add new Data source** button located on the query panel or navigate to the **[Data Sources](/docs/data-sources/overview)** page from the ToolJet dashboard and choose Twilio as the data source. -
+ToolJet requires the following to connect to Twilio: +- **Auth Token** +- **Account SID** +- **Messaging Service SID** -![ToolJet - Data source - Twilio](/img/datasource-reference/twilio/auth.png) +You can get the **Auth Token and Account SID** on the dashboard of your Twilio account. + +ToolJet - Data source - Twilio + +For **Messaging Service SID**, you'll need to create a messaging service first from the Services under Messaging in the left-sidebar. + +ToolJet - Data source - Twilio + +ToolJet - Data source - Twilio
-- For **Messaging Service SID**, you'll need to create a messaging service first from the Services under Messaging in the left-sidebar. +
-
+## Querying Twilio -![ToolJet - Data source - Twilio](/img/datasource-reference/twilio/sid.png) +1. Click on **+ Add** button of the query manager at the bottom panel of the editor. +2. Select the **Twilio** datasource added in previous step. +3. Select **Send SMS** from the dropdown and enter the required parameters. +4. Click on the **Preview** button to preview the output or Click on the **Run** button to trigger the query.
-- After entering the three credentials, you can **Save** the datasource. +
## Supported operations -1. **Send message** - ### Send message This operation will send the specified message to specified mobile number. -
+#### Required Parameters +- **To Number** +- **Body** -![ToolJet - Data source - Twilio](/img/datasource-reference/twilio/sms.png) +ToolJet - Data source - Twilio
- - diff --git a/docs/versioned_docs/version-2.50.0-LTS/data-sources/typesense.md b/docs/versioned_docs/version-2.50.0-LTS/data-sources/typesense.md index 48d885bd7f..3f37573ea5 100644 --- a/docs/versioned_docs/version-2.50.0-LTS/data-sources/typesense.md +++ b/docs/versioned_docs/version-2.50.0-LTS/data-sources/typesense.md @@ -3,90 +3,145 @@ id: typesense title: TypeSense --- -# TypeSense ToolJet can connect to your TypeSense deployment to read and write data. -## Connection -Please make sure the host/IP of the TypeSense deployment is accessible from your VPC if you have self-hosted ToolJet. If you are using ToolJet cloud, please **whitelist our IP**. +
-ToolJet requires the following to connect to your TypeSense deployment: +## Connection + +To establish a connection with the Typesense data source, you can either click on the **+ Add new Data source** button located on the query panel or navigate to the **[Data Sources](/docs/data-sources/overview)** page from the ToolJet dashboard and choose Typesense as the data source. + +:::info +Please make sure the **Host/IP** of the database is accessible from your VPC if you have self-hosted ToolJet. If you are using ToolJet cloud, please **whitelist** our IP. +::: + +ToolJet requires the following to connect to TypeSense deployment: - **Host** - **Port** - **API Key** - **Protocol** -
- -typesense connect +typesense connect
+
+ ## Querying TypeSense -Click on `+` button of the query manager at the bottom panel of the editor and select the TypeSense added in the previous step as the data source. -Select the operation that you want to perform on your TypeSense cluster and click `Create` to save the query. - -
- -typesense query - -
+1. Click on **+ Add** button of the query manager at the bottom panel of the editor. +2. Select the **Typesence** datasource added in previous step. +3. Select the desired operation from the dropdown and enter the required parameters. +4. Click on the **Preview** button to preview the output or Click on the **Run** button to trigger the query. :::tip Query results can be transformed using transformations. Read our transformations documentation to see how: **[link](/docs/tutorial/transformations)** ::: -## Supported operations +
-#### 1. Create a Collection +
+ +## Supported Operations + +### Create a Collection With this operation you can easily create `Collections` in your TypeSense cluster. In the schema field, you'll need to define the schema for creating a new collection. Check out TypeSense docs to know more about collections **[here](https://typesense.org/docs/0.22.2/api/collections.html#create-a-collection)** +#### Required Parameter +- **Schema** -typesense collection +typesense collection +#### Example -#### 2. Index a document +```yaml +[ + { "name": "id", "type": "string" }, + { "name": "name", "type": "string" }, + { "name": "price", "type": "float" } +] +``` + +### Index a Document Use this operation to index a document to your collection. You'll need to specify the **Collection Name** where you want your document to be indexed and also provide the document data according the schema defined in the collection. Read more about Indexing a document in TypeSense **[here]( https://typesense.org/docs/0.22.2/api/documents.html#index-a-single-document)**. +#### Required Parameter +- **Collection** +- **Document** -typesense index +typesense index +```yaml +{ + "id": "1", + "name": "Laptop", + "price": 999.99 +} +``` -#### 3. Search +### Search Use this operation to perform a search within the specified collection. Know more about the search parameters in the TypeSense doc **[here](https://typesense.org/docs/0.22.2/api/documents.html#search)**. +#### Required Parameter +- **Collection** -typesense search +typesense search +```yaml +{ + "filter_by": "price:<1000", + "sort_by": "price:desc", + "per_page": 10 +} +``` -#### 4. Get a document +### Get a Document Use this operation to fetch an individual document in a collection by providing the `id` of the document. Read more about it **[here](https://typesense.org/docs/0.22.2/api/documents.html#retrieve-a-document)**. +#### Required Parameter +- **Collection** +- **Id** -typesense get +typesense get -#### 5. Update a document +### Update a Document Use this operation to update an individual document by providing the **Collection Name** and **Id** of the document. You'll need to provide the updated document data in the form of specified schema. Check out the TypeSense's doc on updating a document **[here](https://typesense.org/docs/0.22.2/api/documents.html#update-a-document)**. +#### Required Parameter +- **Collection** +- **Id** +- **Document** -typesense update +typesense update +```yaml +{ + "name": "Gaming Laptop", + "price": 1199.99 +} +``` -#### 6. Delete a document +### Delete a Document Delete a document from collection by providing the `Id` of the document. Check out the TypeSense's doc on deleting documents **[here](https://typesense.org/docs/0.22.2/api/documents.html#delete-documents)**. +#### Required Parameter +- **Collection** +- **Id** -typesense delete +typesense delete +

:::tip Make sure that you supply JSON strings instead of JavaScript objects for any document or schema that is being passed to the server, in any of the above operations. ::: + +
\ No newline at end of file diff --git a/docs/versioned_docs/version-2.50.0-LTS/data-sources/woocommerce.md b/docs/versioned_docs/version-2.50.0-LTS/data-sources/woocommerce.md index 45567819c6..246b12f92b 100644 --- a/docs/versioned_docs/version-2.50.0-LTS/data-sources/woocommerce.md +++ b/docs/versioned_docs/version-2.50.0-LTS/data-sources/woocommerce.md @@ -2,63 +2,89 @@ id: woocommerce title: WooCommerce --- -# WooCommerce ToolJet can connect to WooCommerce databases to read and write data. -- [Connection](#connection) -- [Getting Started](#querying-woocommerce) +
## Connection -Auth -You may use [HTTP Basic Auth] by providing the REST API Consumer Key as the username and the REST API Consumer Secret as the password. +To establish a connection with the WooCommerce data source, you can either click on the **+ Add new Data source** button located on the query panel or navigate to the **[Data Sources](/docs/data-sources/overview)** page from the ToolJet dashboard and choose WooCommerce as the data source. + +ToolJet requires the following to connect to WooCommerce - **Host** - **Consumer key** - **Consumer secret** -![ToolJet - Data Source - Woocommerce](/img/datasource-reference/woocommerce/woocomerce-auth.png) +ToolJet - Data Source - Woocommerce :::info NOTE: For generating keys visit admin dashboard of woocommerce , more info: https://woocommerce.github.io/woocommerce-rest-api-docs/?javascript#authentication ::: -## Querying Woocommerce +
-**Operations** +
-**Customer** +## Querying WooCommerce -- list customer -- update customer -- delete customer -- batch update customer -- create customer -- retrieve customer +1. Click on **+ Add** button of the query manager at the bottom panel of the editor. +2. Select the **WooCommerce** datasource added in previous step. +3. Select the desired resource from the dropdown and then select the desired operation and enter the required parameters. +4. Click on the **Preview** button to preview the output or Click on the **Run** button to trigger the query. -**PRODUCT** +:::tip +Query results can be transformed using transformations. Read our transformations documentation to see how: **[link](/docs/tutorial/transformations)** +::: -- list product -- update product -- delete product -- batch update product -- create product -- retrieve product +
-**ORDER** +
-- list order -- update order -- delete order -- batch update order -- create order -- retrieve order +## Resource -**Coupon** +### Customer -- list coupon -- create coupon +#### Supported Operations + +- **list customer** +- **update customer** +- **delete customer** +- **batch update customer** +- **create customer** +- **retrieve customer** + +### Product + +#### Supported Operations + +- **list product** +- **update product** +- **delete product** +- **batch update product** +- **create product** +- **retrieve product** + +### Order + +#### Supported Operations + +- **list order** +- **update order** +- **delete order** +- **batch update order** +- **create order** +- **retrieve order** + +### Coupon + +#### Supported Operations + +- **list coupon** +- **create coupon** :::info NOTE: For more info visit https://woocommerce.github.io/woocommerce-rest-api-docs/?javascript. -::: \ No newline at end of file +::: + +
diff --git a/docs/versioned_docs/version-2.50.0-LTS/data-sources/zendesk.md b/docs/versioned_docs/version-2.50.0-LTS/data-sources/zendesk.md index e764e1686a..1fc7574516 100644 --- a/docs/versioned_docs/version-2.50.0-LTS/data-sources/zendesk.md +++ b/docs/versioned_docs/version-2.50.0-LTS/data-sources/zendesk.md @@ -3,94 +3,114 @@ id: zendesk title: Zendesk --- -# Zendesk - ToolJet can connect to Zendesk APIs to read and write data using OAuth 2.0, which helps us to limit an application's access to a user's account. - - [Connection](#connection) - - [Querying Zendesk](#querying-zendesk) +
## Connection +To establish a connection with the Zendesk data source, you can either click on the **+ Add new Data source** button located on the query panel or navigate to the **[Data Sources](/docs/data-sources/overview)** page from the ToolJet dashboard and choose Zendesk as the data source. + ToolJet connects to your Zendesk app using : - **Zendesk Sub-domain** - **Client ID** - **Client Secret** -## Authorization Scopes +### Authorization Scopes You can create a Zendesk data source with one of either of the two permission scopes : - 1. **Read Only** - 2. **Read and Write** - - - +- **Read Only** +- **Read and Write** :::info You must first be a verified user to make Zendesk API requests. This is configured in the Admin Center interface in **Apps and integrations > APIs > Zendesk APIs.** For more information, see Security and Authentication in the [Zendesk Support API reference](https://developer.zendesk.com/api-reference/ticketing/introduction/#security-and-authentication) or [check out Zendesk's docs](https://support.zendesk.com/hc/en-us/articles/4408845965210). ::: -To connect Zendesk datasource to your ToolJet application, go to the data source manager on the left-sidebar and click on the `+` button. Select Zendesk from the list of available datasources, provide the credentials and click **Connect to Zendesk** and authenticate via OAuth. And click **Save** to save the datasource. +
-
+
-![ToolJet - Data source - Zendesk](/img/datasource-reference/zendesk/zendesk-v2.gif) +## Querying Zendesk + +1. Click on **+ Add** button of the query manager at the bottom panel of the editor. +2. Select the **Zendesk** datasource added in previous step. +3. Select the desired operation and enter the required parameters. +4. Click on the **Preview** button to preview the output or Click on the **Run** button to trigger the query. + +ToolJet - Data source - Zendesk
-## Querying Zendesk -1. **[List Tickets](/docs/data-sources/zendesk#list-tickets)** -2. **[List requested Tickets](/docs/data-sources/zendesk#list-requested-tickets)** -3. **[Show a Ticket](/docs/data-sources/zendesk#show-tickets)** -4. **[Update a Ticket](/docs/data-sources/zendesk#update-tickets)** -5. **[List Users](/docs/data-sources/zendesk#list-users)** -6. **[Get Profile](/docs/data-sources/zendesk#get-profile)** -7. **[Search query](/docs/data-sources/zendesk#search-query)** + +
+ +## Supported Operations + +- **[List Tickets](#list-tickets)** +- **[List requested Tickets](#list-requested-tickets)** +- **[Show a Ticket](#show-tickets)** +- **[Update a Ticket](#update-tickets)** +- **[List Users](#list-users)** +- **[Get User](#get-user)** +- **[Search](#search)** ### List Tickets Lists all the tickets in your Zendesk account. -### List requested Tickets +ToolJet - Data source - Zendesk + +### List Requested Tickets Lists all the tickets requested by the user. -| Fields | description | -| ----------- | ----------- | -| User ID | The id of the user | +#### Required Parameter +- **User ID** + +ToolJet - Data source - Zendesk ### Show Tickets Gets a ticket's properties with the given ID, though not the ticket comments. -| Fields | description | -| ----------- | ----------- | -| Ticket ID | The id of the ticket | +#### Required Parameter +- **Ticket ID** + +ToolJet - Data source - Zendesk ### Update Tickets Updates a ticket's properties with the given ID. -| Fields | description | -| ----------- | ----------- | -| Ticket ID | The id of the ticket | -| Body | The properties and values to update. Example: `{{({ "ticket": {"status": "solved"} })}}` | +#### Required Parameter +- **Ticket ID** +- **Body** + +ToolJet - Data source - Zendesk ### List Users Lists all the users in your Zendesk account. -### Get Profile +ToolJet - Data source - Zendesk + +### Get User Gets a user's profile with the given ID. -| Fields | description | -| ----------- | ----------- | -| User ID | The id of the user | +#### Required Parameter +- **User ID** + +ToolJet - Data source - Zendesk + +### Search -### Search Query The Search Query uses Zendesk's Search API to return tickets, users, and organizations with defined filters. + +#### Required Parameter +- **Query** + Common filters include: - `type:ticket` - `type:user` - `type:organization` - `type:ticket organization:12345 status:open` -| Fields | description | -| ----------- | ----------- | -| Query | The search query | +ToolJet - Data source - Zendesk + +
\ No newline at end of file diff --git a/docs/versioned_docs/version-2.50.0-LTS/marketplace/marketplace_overview.md b/docs/versioned_docs/version-2.50.0-LTS/marketplace/marketplace_overview.md index 5056fa5b87..760f7a3028 100644 --- a/docs/versioned_docs/version-2.50.0-LTS/marketplace/marketplace_overview.md +++ b/docs/versioned_docs/version-2.50.0-LTS/marketplace/marketplace_overview.md @@ -82,6 +82,7 @@ To remove a plugin, follow these steps: - **[OpenAI](/docs/marketplace/plugins/marketplace-plugin-openai)** - **[Plivo](/docs/marketplace/plugins/marketplace-plugin-plivo)** - **[Pocketbase](/docs/marketplace/plugins/marketplace-plugin-pocketbase)** +- **[Portkey](/docs/marketplace/plugins/marketplace-plugin-portkey)** - **[PrestoDB](/docs/marketplace/plugins/marketplace-plugin-prestodb)** - **[Salesforce](/docs/marketplace/plugins/marketplace-plugin-salesforce)** - **[Supabase](/docs/marketplace/plugins/marketplace-plugin-supabase)** diff --git a/docs/versioned_docs/version-2.50.0-LTS/marketplace/plugins/portkey.md b/docs/versioned_docs/version-2.50.0-LTS/marketplace/plugins/portkey.md new file mode 100644 index 0000000000..1a1bbd26b2 --- /dev/null +++ b/docs/versioned_docs/version-2.50.0-LTS/marketplace/plugins/portkey.md @@ -0,0 +1,232 @@ +--- +id: marketplace-plugin-portkey +title: Portkey +--- + +ToolJet can integrate with Portkey to access AI services such as text completion, chat completion, prompt completion, and embedding creation. This integration enables ToolJet to leverage Portkey's LMOps platform to develop, launch, maintain, and iterate on generative AI features. + +
+ Portkey Dashboard Overview +
+ +:::note +Before following this guide, it is assumed that you have already completed the process of **[Using Marketplace plugins](/docs/marketplace/marketplace-overview#using-marketplace-plugins)**. +::: + +## Connection + +To connect to Portkey, the following credentials are required: + +- **API Key**: Your Portkey API Key. Refer to the **[Portkey API Authentication Documentation](https://docs.portkey.ai/docs/api-reference/authentication#obtaining-your-api-key)** for instructions on obtaining your API Key. +- **Default Virtual Key** (Optional): Your default Portkey Virtual Key. Visit the **[Portkey Virtual Keys Documentation](https://docs.portkey.ai/docs/product/ai-gateway-streamline-llm-integrations/virtual-keys#creating-virtual-keys)** to learn how to create and retrieve your Virtual Key. +- **Config** (Optional): Your default Portkey configuration. +- **Gateway URL** (Optional): Your default Portkey Gateway URL. See the **[Portkey API Authentication Documentation](https://docs.portkey.ai/docs/api-reference/authentication#obtaining-your-api-key)** for details on how to obtain your Gateway URL. + +
+ Configuring Portkey in ToolJet +
+ +## Supported Operations + +Portkey in ToolJet supports the following operations: + +- **[Completion](#completion)** +- **[Chat](#chat)** +- **[Prompt Completion](#prompt-completion)** +- **[Create Embedding](#create-embedding)** + +### Completion + +This operation generates text completions based on a given prompt. + +#### Parameters: + +- **Prompt**: The input text to generate completions for. +- **Model**: The AI model to use. +- **Max Tokens**: Maximum number of tokens to generate. +- **Temperature**: Controls randomness. +- **Stop Sequences**: Sequences where the API will stop generating further tokens. +- **Metadata**: Additional metadata for the request. +- **Other Parameters**: Any other parameters to include in the request. + +
+ Completion Operation for Portkey +
+ +
+ **Response Example** + ```json +{ + "id": "cmpl-9vNUfM8OP0SwSqXcnPwkqzR7ep8Sy", + "object": "text_completion", + "created": 1723462033, + "model": "gpt-3.5-turbo-instruct", + "choices": [ + { + "text": "nn"Experience the perfect brew at Bean There."", + "index": 0, + "logprobs": null, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 13, + "completion_tokens": 10, + "total_tokens": 23 + } +} + ``` +
+ +### Chat + +This operation generates chat completions based on a series of messages. + +#### Parameters: + +- **Messages**: An array of message objects representing the conversation. +- **Model**: The AI model to use. +- **Max Tokens**: Maximum number of tokens to generate. +- **Temperature**: Controls randomness. +- **Stop Sequence**: Sequences where the API will stop generating further tokens. +- **Metadata**: Additional metadata for the request. +- **Other Parameters**: Any other parameters to include in the request. + +
+ Chat Operation for Portkey +
+ +
+ **Response Example** +```json +{ + "id": "chatcmpl-9vNIlfllXOPEmroKFajK2nlJHzhXA", + "object": "chat.completion", + "created": 1723461295, + "model": "gpt-3.5-turbo-0125", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "The capital of France is Paris.", + "refusal": null + }, + "logprobs": null, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 24, + "completion_tokens": 7, + "total_tokens": 31 + }, + "system_fingerprint": null +} +``` +
+ +### Prompt Completion + +This operation generates completions based on a pre-defined prompt. + +#### Parameters: + +- **Prompt ID**: The ID of the pre-defined prompt to use. +- **Variables**: Variables to be used in the prompt. +- **Parameters**: Additional parameters for the prompt completion. +- **Metadata**: Additional metadata for the request. + +
+ Prompt Completion Operation for Portkey +
+ +
+ **Response Example** +```json +{ + "id": "chatcmpl-9w6D8jZciWVf1DzkgqNZK14KUvA4d", + "object": "chat.completion", + "created": 1723633926, + "model": "gpt-4o-mini-2024-07-18", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "The Industrial Revolution, starting in the late 18th century, transformed production from hand methods to machine-based processes, introducing new manufacturing techniques, steam power, and machine tools. It marked a shift from bio-fuels to coal, with the textile industry leading the way. This period resulted in significant population growth, increased average income, and improved living standards.", + "refusal": null + }, + "logprobs": null, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 145, + "completion_tokens": 71, + "total_tokens": 216 + }, + "system_fingerprint": "fp_48196bc67a" +} +``` +
+ +### Create Embedding + +This operation creates embeddings for given input text. + +#### Parameters: + +- **Input**: The input text to create embeddings for. +- **Model**: The AI model to use for creating embeddings. +- **Metadata**: Additional metadata for the request. + +
+ Create Embedding Operation for Portkey +
+ +
+ **Response Example** +```json +{ + "object": "list", + "data": [ + { + "object": "embedding", + "index": 0, + "embedding": [ + -0.02083237, + -0.016892163, + -0.0045676464, + -0.05084554, + -0.025968939, + 0.029597048, + 0.029987168, + 0.02907689, + 0.0105982395, + -0.024356445, + -0.00935636, + 0.0066352785, + 0.034018397, + -0.042002838, + 0.03856979, + -0.014681488, + ..., + 0.024707552 + ] + } + ], + "model": "text-embedding-3-small", + "usage": { + "prompt_tokens": 9, + "total_tokens": 9 + } +} +``` +
+ +For all operations, you can optionally specify: +- **Config**: Configuration options for the request. +- **Virtual Key**: A specific virtual key to use for the request, overriding the default. + +--- \ No newline at end of file diff --git a/docs/versioned_docs/version-2.50.0-LTS/setup/choose-your-tooljet.md b/docs/versioned_docs/version-2.50.0-LTS/setup/choose-your-tooljet.md index 0a169f9e98..2558238aed 100644 --- a/docs/versioned_docs/version-2.50.0-LTS/setup/choose-your-tooljet.md +++ b/docs/versioned_docs/version-2.50.0-LTS/setup/choose-your-tooljet.md @@ -15,6 +15,8 @@ Please find the latest LTS version here:
| Version | Release Date | Docker Pull Command | |---------|--------------|----------------------| | Latest EE-LTS | N/A | `docker pull tooljet/tooljet:EE-LTS-latest` | +| [EE-LTS-2.50.9.41](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.41/images/sha256-d36444747af6f81d4456ca4d1f7dcf92c3e77e13e23ca9407c22de1c62451bd7?context=explore) | September 24 , 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.41` | +| [EE-LTS-2.50.9.40](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.40/images/sha256-26338b926568dc514c26988f6cd01f84bb3edf950fac08982365fabb95900f78?context=explore) | September 18 , 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.40` | | [EE-LTS-2.50.9.39](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.39/images/sha256-6f1b7a00432e0e29a05adb375d3ddd9da877d6eb53d489be14ca0061953bbb57?context=explore) | September 12 , 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.39` | | [EE-LTS-2.50.9.38](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.38/images/sha256-1974afb5f8483f4bfb7bf7575d7d8b4f0f7747dd7c88139cbf559c3ce8b1fdbd?context=explore) | September 12 , 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.38` | | [EE-LTS-2.50.9.37](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.37/images/sha256-b1a13a5424bf14af77bb455f39e07d2a774303bcf4286aa7bd6d0a78c1a58e59?context=explore) | September 11 , 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.37` | @@ -29,8 +31,6 @@ Please find the latest LTS version here:
| [EE-LTS-2.50.9.28](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.28/images/sha256-f33982c51a59b126aea9da9eef2cace0cd074411583ea896edc3f6db5b578a6b?context=explore) | August 19, 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.28` | | [EE-LTS-2.50.9.27](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.27/images/sha256-ae4810ddd12b2e397a07085e2ea62e98c4ea16c139d2673e4ab890d19b40f868?context=explore) | August 13, 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.27` | | [EE-LTS-2.50.9.26](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.26/images/sha256-8e17e23f2d61b463aaf0f87e5e90fa4580faf3fa6e790afcff64ef399454f85f?context=explore) | August 12, 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.26` | -| [EE-LTS-2.50.9.25](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.25/images/sha256-fdf2858e364c238abd49418321a34676449383733ca3c6fb79ae4714e113a064?context=explore) | August 2, 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.25` | -| [EE-LTS-2.50.9.24](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.24/images/sha256-a51522503c4b31eb5cd27bd105fe8693f371f17fcf6bf9c86c3fff3d6d9faf4f?context=explore) | August 1, 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.24` | :::info Users are encouraged to upgrade to the latest LTS version to ensure they benefit from the latest improvements and maintain a secure and efficient environment. diff --git a/docs/versioned_docs/version-2.68.0/data-sources/airtable.md b/docs/versioned_docs/version-2.68.0/data-sources/airtable.md index 5631f6e35e..847a9d4f05 100644 --- a/docs/versioned_docs/version-2.68.0/data-sources/airtable.md +++ b/docs/versioned_docs/version-2.68.0/data-sources/airtable.md @@ -3,18 +3,43 @@ id: airtable title: Airtable --- -ToolJet can connect to your **Airtable** account to read and write data. **Personal Access Token** is required to connect to the Airtable data source on ToolJet. You can generate the Personal Access Token by visiting **[Developer Hub from your Airtable profile](https://support.airtable.com/docs/creating-and-using-api-keys-and-access-tokens#understanding-personal-access-token-basic-actions)**. +ToolJet can connect to your **Airtable** account to read and write data. + +
+ +## Connection + +To establish a connection with the **Airtable** data source, you can either click on the **+ Add new Data source** button located on the query panel or navigate to the **[Data Sources](/docs/data-sources/overview/)** page from the ToolJet dashboard. + +ToolJet requires the following to connect to your Airtable: +- **Personal Access Token** + +You can generate the Personal Access Token by visiting **[Developer Hub from your Airtable profile](https://support.airtable.com/docs/creating-and-using-api-keys-and-access-tokens#understanding-personal-access-token-basic-actions)**.
- Airtable Data Source Connection + Airtable Data Source Connection
-
+
:::info Airtable API has a rate limit, and at the time of writing this documentation, the limit is five(5) requests per second per base. You can read more about rate limits here **[Airtable API](https://airtable.com/api)**. ::: + +
+ +## Querying Airtable + +1. Click on **+ Add** button of the query manager at the bottom panel of the editor. +2. Select the **Airtable** datasource added in previous step. +3. Select the desired operation from the dropdown and enter the required parameters. +4. Click on the **Preview** button to preview the output or Click on the **Run** button to trigger the query. + +Airtable Data Source Operations + +
+
## Supported Operations @@ -27,104 +52,100 @@ Airtable API has a rate limit, and at the time of writing this documentation, th
-
+### List Records -### List records +This operation retrieves a list of records from the specified table. -This operation returns a list of records from the specified table. +#### Required Parameters -#### Required parameters: +- **Base ID** +- **Table name** -- **Base ID:** To find the Base ID, first visit **[Airtable API](https://airtable.com/api)**. Then select the base you want to connect to. The Base ID will be mentioned in the API documentation. Example Base ID: `appDT3UCPffPiSmFd` -- **Table name:** The name of the table from which you want to fetch the records. +#### Optional Parameters -#### Optional parameters: +- **Page size** +- **Offset** +- **Filter by formula** +- **Fields** -- **Page size:** The number of records returned in each request. Default is 100 records. -- **Offset:** The offset value is used to fetch the next set of records. The offset value is returned in the response of the previous request. -- **Filter by formula:** This parameter will only return records that satisfy the formula. The formula will be evaluated for each record, and if the result is not 0, false, "", NaN, [], or #Error!, the record will be included in the result. e.g. `Name = 'John'` -- **Fields:** The fields you want to retrieve. If you don't specify the fields, all fields will be returned. e.g. `["Name", "Email", "Survey Response"]` +Airtable List Records Query -
-
- Airtable List Records Query -
- -Example response from Airtable: - -```json -{ - "records": [ - { - "id": "recu9xMnUdr2n2cw8", - "fields": { - "Notes": "Meeting to discuss project details", - "Name": "John Doe" +
+ **Response Example** + + ```json + { + "records": [ + { + "id": "recu9xMnUdr2n2cw8", + "fields": { + "Notes": "Meeting to discuss project details", + "Name": "John Doe" + }, + "createdTime": "2021-05-12T14:30:33.000Z" }, - "createdTime": "2021-05-12T14:30:33.000Z" + { + "id": "recyIdR7bVdQvmKXa", + "fields": { + "Notes": "Follow-up call regarding contract", + "Name": "Jane Smith" + }, + "createdTime": "2021-05-12T14:30:33.000Z" + }, + { + "id": "recAOzdIHaRpvRaGE", + "fields": { + "Notes": "Client feedback review meeting", + "Name": "Alice Johnson" + }, + "createdTime": "2021-05-12T14:30:33.000Z" + } + ], + "offset": "recAOzdIHaRpvRaGE" + } + ``` +
+ + +### Retrieve Record + +This operation fetches a specific record from the specified table. + +#### Required Parameters + +- **Base ID** +- **Table name** +- **Record ID** + +Airtable Retrieve Record Query + +
+ **Response Example** + ```json + { + "id": "recu9xMnUdr2n2cw8", + "fields": { + "Notes": "Discuss project timeline", + "Name": "Michael Scott" }, - { - "id": "recyIdR7bVdQvmKXa", - "fields": { - "Notes": "Follow-up call regarding contract", - "Name": "Jane Smith" - }, - "createdTime": "2021-05-12T14:30:33.000Z" - }, - { - "id": "recAOzdIHaRpvRaGE", - "fields": { - "Notes": "Client feedback review meeting", - "Name": "Alice Johnson" - }, - "createdTime": "2021-05-12T14:30:33.000Z" - } - ], - "offset": "recAOzdIHaRpvRaGE" -} -``` + "createdTime": "2021-05-12T14:30:33.000Z" + } + ``` +
-
+### Create Record -### Retrieve record +This operation creates a new record in the specified table. -#### Required parameters: +#### Required Parameters -- **Base ID**: To find the Base ID, first visit **[Airtable API](https://airtable.com/api)**. Then select the base you want to connect to. The Base ID will be mentioned in the API documentation. Example Base ID: `appDT3UCPffPiSmFd` -- **Table name**: The name of the table from which you want to fetch the records. -- **Record ID**: The ID of the record you want to retrieve. +- **Base ID** +- **Table name** +- **Records** -
- Airtable Retrieve Record Query -
+Airtable Create Record Query - -Example response from Airtable: - -```json -{ - "id": "recu9xMnUdr2n2cw8", - "fields": { - "Notes": "Discuss project timeline", - "Name": "Michael Scott" - }, - "createdTime": "2021-05-12T14:30:33.000Z" -} -``` - -### Create record - -#### Required parameters: - -- **Base ID**: To find the Base ID, first visit **[Airtable API](https://airtable.com/api)**. Then select the base you want to connect to. The Base ID will be mentioned in the API documentation. Example Base ID: `appDT3UCPffPiSmFd` -- **Table name**: The name of the table where you want to create the record. -- **Records**: The records you want to create. The records should be in the form of an array of objects. Each object should have a `fields` key, which contains the fields of the record. The field names should be the same as the field names in the Airtable table. -
-
- Airtable Create Record Query -
- -Example creating a record: +#### Example ```json title="Records" [{ @@ -134,81 +155,82 @@ Example creating a record: } }] ``` - -Query returns the following response when the record is created successfully: - -```json -{ - "records": [ - { - "id": "recu6jhA7tzv4K66s", - "createdTime": "2024-06-11T06:01:44.000Z", - "fields": { - "Name": "Katrina Petersons", - "Email": "katrina.petersions@example.com", - "Date": "06-11-2024", +
+ **Response Example** + ```json + { + "records": [ + { + "id": "recu6jhA7tzv4K66s", + "createdTime": "2024-06-11T06:01:44.000Z", + "fields": { + "Name": "Katrina Petersons", + "Email": "katrina.petersions@example.com", + "Date": "06-11-2024", + } } - } - ] -} -``` + ] + } + ``` +
### Update record +Update a specific record by providing new data. + #### Required parameters: -- **Base ID**: To find the Base ID, first visit **[Airtable API](https://airtable.com/api)**. Then select the base you want to connect to. The Base ID will be mentioned in the API documentation. Example Base ID: `appDT3UCPffPiSmFd` -- **Table name**: The name of the table where you want to update the record. -- **Record ID**: The ID of the record you want to update. -- **Body**: The fields you want to update. The fields should be in the form of an object. The field names should be the same as the field names in the Airtable table. -
-
- Airtable Update Record Query -
+- **Base ID** +- **Table name** +- **Record ID** +- **Body** -Example updating a record: +Airtable Update Record Query -```json title="Body" +#### Example + +```json { "Email": "katrina.petersions2@example.com" } ``` - -Query returns the following response when the record is updated successfully: - -```json -{ - "records": [ - { - "id": "recu6jhA7tzv4K66s", - "createdTime": "2024-06-11T07:01:44.000Z", - "fields": { - "Name": "Katrina Petersons", - "Email": "katrina.petersions2@example.com", - "Date": "06-11-2024", +
+ **Response Example** + ```json + { + "records": [ + { + "id": "recu6jhA7tzv4K66s", + "createdTime": "2024-06-11T07:01:44.000Z", + "fields": { + "Name": "Katrina Petersons", + "Email": "katrina.petersions2@example.com", + "Date": "06-11-2024", + } } - } - ] -} -``` + ] + } + ``` +
### Delete record +This operation removes a record from the specified table. + #### Required parameters: -- **Base ID**: To find the Base ID, first visit **[Airtable API](https://airtable.com/api)**. Then select the base you want to connect to. The Base ID will be mentioned in the API documentation. Example Base ID: `appDT3UCPffPiSmFd` -- **Table name**: The name of the table where you want to delete the record. -- **Record ID**: The ID of the record you want to delete. -
-
- Airtable Delete Record Query -
+- **Base ID** +- **Table name** +- **Record ID** -Query returns the following response when the record is deleted successfully: +Airtable Delete Record Query -```json -{ - deleted: true - id: "recIKsyZgqI4zoqS7" -} -``` \ No newline at end of file +
+ **Response Example** + ```json + { + deleted: true + id: "recIKsyZgqI4zoqS7" + } + ``` +
diff --git a/docs/versioned_docs/version-2.68.0/data-sources/azureblob.md b/docs/versioned_docs/version-2.68.0/data-sources/azureblob.md index ba34b740d4..b8ad543bfe 100644 --- a/docs/versioned_docs/version-2.68.0/data-sources/azureblob.md +++ b/docs/versioned_docs/version-2.68.0/data-sources/azureblob.md @@ -7,9 +7,9 @@ ToolJet offers the capability to establish a connection with Azure Blob storage ## Connection -To establish a connection with the Azure Blob data source, you can either click on the **+ Add new Data source** button located on the query panel or navigate to the **[Data Sources](/docs/data-sources/overview)** page from the ToolJet dashboard and choose Amazon Athena as the data source. +To establish a connection with the Azure Blob data source, you can either click on the **+ Add new Data source** button located on the query panel or navigate to the **[Data Sources](/docs/data-sources/overview)** page from the ToolJet dashboard and choose Azure Blob as the data source. -ToolJet requires the following to connect to your Athena. +ToolJet requires the following to connect to your Azure Blob. - **Connection String**
diff --git a/docs/versioned_docs/version-2.68.0/data-sources/s3.md b/docs/versioned_docs/version-2.68.0/data-sources/s3.md index 5e1687146c..47fa13f442 100644 --- a/docs/versioned_docs/version-2.68.0/data-sources/s3.md +++ b/docs/versioned_docs/version-2.68.0/data-sources/s3.md @@ -3,13 +3,13 @@ id: s3 title: Amazon S3 --- -ToolJet can connect to **Amazon S3** buckets and perform various operation on them. +ToolJet can connect to **Amazon S3** buckets and perform various operations on them. -
+
## Connection -To establish a connection with the **Amazon S3** data source, you can either click on the **+Add new Data source** button located on the query panel or navigate to the **[Data Sources](/docs/data-sources/overview/)** page from the ToolJet dashboard. +To establish a connection with the **Amazon S3** data source, you can either click on the **+ Add new Data source** button located on the query panel or navigate to the **[Data Sources](/docs/data-sources/overview/)** page from the ToolJet dashboard. ToolJet supports connecting to AWS S3 using **IAM Access Keys**, **AWS Instance Credentials** or **AWS ARN Role**. @@ -19,29 +19,22 @@ If you are using **IAM Access Keys**, you will need to provide the following det - **Access key** - **Secret key** -It is recommended to create a new IAM user for the database so that you can control the access levels of ToolJet. +**Note:** It is recommended to create a new IAM user for the database so that you can control the access levels of ToolJet. -
- aws s3 modal -
+aws s3 modal To connect to AWS S3 using **AWS Instance Credentials**, select the **Use AWS Instance Credentials**. This will use the IAM role attached to the EC2 instance where ToolJet is running. + To access the metadata service of an ECS container and the EC2 instance, we use the WebIdentityToken parameter which is obtained from a successful login with an identity provider. -
- aws s3 modal -
+aws s3 modal If you are using **AWS ARN Role**, you will need to provide the following details: - **Region** - **Role ARN** -
- aws s3 modal -
- -Click on **Test Connection** button to verify if the credentials are correct and that the database is accessible to ToolJet server. Click on **Save** button to save the data source. +aws s3 modal :::tip You can now connect to **[different S3 Hosts using custom endpoints](/docs/how-to/s3-custom-endpoints)**. @@ -53,16 +46,13 @@ You can now connect to **[different S3 Hosts using custom endpoints](/docs/how-t ## Querying AWS S3 -Click on **+Add** button of the **[query manager](/docs/app-builder/query-panel/#query-manager)** and select the data source added in the previous step as the data source. Select the operation that you want to perform, fill in the required parameters and click on **Run** button to run the query. - -
+1. Click on **+ Add** button of the query manager at the bottom panel of the editor. +2. Select the **Amazon AWS S3** datasource added in previous step. +3. Select the desired operation from the dropdown and enter the required parameters. +4. Click on the **Preview** button to preview the output or Click on the **Run** button to trigger the query. aws s3 query -
- -
- :::info Query results can be transformed using transformations. Read our [transformations documentation](/docs/tutorial/transformations). ::: @@ -71,156 +61,121 @@ Query results can be transformed using transformations. Read our [transformation
-## Query operations +## Supported Operations You can create query for AWS S3 data source to perform several actions such as: - 1. **[Create a new bucket](#create-a-new-bucket)** - 2. **[Read object](#read-object)** - 3. **[Upload object](#upload-object)** - 4. **[Remove object](#remove-object)** - 5. **[List buckets](#list-buckets)** - 6. **[List objects in a bucket](#list-objects-in-a-bucket)** - 7. **[Signed url for download](#signed-url-for-download)** - 8. **[Signed url for upload](#signed-url-for-upload)** +- **[Create a new bucket](#create-a-new-bucket)** +- **[Read object](#read-object)** +- **[Upload object](#upload-object)** +- **[Remove object](#remove-object)** +- **[List buckets](#list-buckets)** +- **[List objects in a bucket](#list-objects-in-a-bucket)** +- **[Signed URL for download](#signed-url-for-download)** +- **[Signed URL for upload](#signed-url-for-upload)** -
- -### Create a new bucket +### Create a New Bucket You can create a new bucket in your S3 by using this operation. -#### Required parameters: +#### Required Parameters -- **Bucket Name**: Specify the bucket name. +- **Bucket Name** -
+Create a new bucket - S3 operation - Create a new bucket - S3 operation - -
- -### Read object +### Read Object You can read an object in a bucket by using this operation. -#### Required parameters: +#### Required Parameters -- **Bucket**: Specify the bucket name. -- **Key**: Key of the object/file. +- **Bucket** +- **Key** +aws s3 read object -
- aws s3 read object -
- -### Upload object +### Upload Object You can use this operation to upload objects(files) to your S3 bucket. -#### Required parameters: +#### Required Parameters -- **Bucket**: Specify the bucket name. -- **Key**: Key of the object/file. -- **Content Type**: Specify file type such as text, image etc. -- **Upload data**: File/object that is to be uploaded. +- **Bucket** +- **Key** +- **Content Type** +- **Upload data** +aws s3 upload -
- aws s3 upload -
- -### Remove object +### Remove Object You can use this operation to remove an object from your S3 bucket. -#### Required parameters: +#### Required Parameters -- **Bucket**: Specify the bucket name. -- **Key**: Key of the object/file. +- **Bucket** +- **Key** -
+Create a new bucket - S3 operation - Create a new bucket - S3 operation - -
- -### List buckets +### List Buckets This operation will list all the buckets in your S3. This does not require any parameter. +aws s3 bucket -
- aws s3 bucket -
- -### List objects in a bucket +### List Objects in a Bucket This operation will fetch the list of all the files in your bucket. It requires the following parameters: -#### Required parameters: +#### Required Parameters -- **Bucket**: Specify the bucket name. +- **Bucket** -#### Optional parameters: +#### Optional Parameters -- **Prefix**: To limit the response to keys that begin with the specified prefix. -- **Max keys**: The maximum number of keys returned in the response body. Default value is 1000. -- **Offset**: The key to start with when listing objects in a bucket. -- **Next Continuation Token**: `Next Continuation Token` indicates Amazon S3 that the list is being continued on this bucket with a token. ContinuationToken is obfuscated and is not a real key. +- **Prefix** +- **Max keys** +- **Offset** +- **Next Continuation Token** :::info -**Next Continuation Token** -For listing a bucket for objects that begin with a specific character or a prefix, then use the `Offset` parameter. For example, if you want to list all the objects that begin with `a`, then set the `Offset` parameter to `a`. Similarly, if you want to list all the objects that begin with `ab`, then set the `Offset` parameter to `ab`. - -The `Next Continuation Token` is used to list the next set of objects in a bucket. It is returned by the API when the response is truncated. The results will contain `Next Continuation Token` if there are more keys in the bucket that satisfy the list query. To get the next set of objects, set the `Next Continuation Token` parameter and run the query again. +**Next Continuation Token**
+For listing a bucket for objects that begin with a specific character or a prefix, then use the **Offset** parameter. For example, if you want to list all the objects that begin with **a**, then set the **Offset** parameter to **a**. Similarly, if you want to list all the objects that begin with **ab**, then set the **Offset** parameter to **ab**.
+The **Next Continuation Token** is used to list the next set of objects in a bucket. It is returned by the API when the response is truncated. The results will contain **Next Continuation Token** if there are more keys in the bucket that satisfy the list query. To get the next set of objects, set the **Next Continuation Token** parameter and run the query again.
The results will continue from where the last listing finished. ::: +aws s3 list object -
- -aws s3 list object - -
- -### Signed URL for download +### Signed URL for Download The object owner can optionally share objects with others by creating a presigned URL, using their own security credentials, to grant time-limited permission to download the objects. -#### Required parameters: +#### Required Parameters -- **Bucket**: Name of the bucket for uploading the file. -- **Key**: The object key. -- **Expires in**: The expiration time of URL. +- **Bucket** +- **Key** +- **Expires in** +aws s3 signed download -
- -aws s3 signed download - -
- -### Signed URL for upload +### Signed URL for Upload The presigned URLs are useful if you want your user/customer to be able to upload a specific object to your bucket, but you don't require them to have AWS security credentials or permissions. -#### Required parameters: - -- **Bucket**: Name of the bucket for uploading the file. -- **Key**: The object key. -- **Expires in**: The expiration time of URL. -- **Content Type**: The content type such as text, image etc. - - -
- -aws s3 signed upload - -
+#### Required Parameters +- **Bucket** +- **Key** +- **Expires in** +- **Content Type** +aws s3 signed upload :::info We built an app to view and upload files to AWS S3 buckets. Check out the complete tutorial **[here](https://blog.tooljet.com/build-an-aws-s3-broswer-with-tooljet/)**. -::: \ No newline at end of file +::: + +
\ No newline at end of file diff --git a/docs/versioned_docs/version-2.68.0/data-sources/twilio.md b/docs/versioned_docs/version-2.68.0/data-sources/twilio.md index daac9e7e32..1ccaf075eb 100644 --- a/docs/versioned_docs/version-2.68.0/data-sources/twilio.md +++ b/docs/versioned_docs/version-2.68.0/data-sources/twilio.md @@ -3,52 +3,55 @@ id: twilio title: Twilio --- -# Twilio +ToolJet can connect to Twilio account to send sms. -ToolJet can connect to your Twilio account to send sms. - -
- -![ToolJet - Data source - Twilio](/img/datasource-reference/twilio/connect.png) - -
+
## Connection -- To add the Twilio datasource, click the **Datasource manager** icon on the left-sidebar of the app builder and click on the `Add datasource` button, then select **Twilio** from the modal that pops up. - -- In the next dialog, you'll be asked to enter the Auth Token, Account SID, and Messaging Service SID. -- You can get the **Auth Token and Account SID** on the dashboard of your Twilio account. +To establish a connection with the Twilio data source, you can either click on the **+ Add new Data source** button located on the query panel or navigate to the **[Data Sources](/docs/data-sources/overview)** page from the ToolJet dashboard and choose Twilio as the data source. -
+ToolJet requires the following to connect to Twilio: +- **Auth Token** +- **Account SID** +- **Messaging Service SID** -![ToolJet - Data source - Twilio](/img/datasource-reference/twilio/auth.png) +You can get the **Auth Token and Account SID** on the dashboard of your Twilio account. + +ToolJet - Data source - Twilio + +For **Messaging Service SID**, you'll need to create a messaging service first from the Services under Messaging in the left-sidebar. + +ToolJet - Data source - Twilio + +ToolJet - Data source - Twilio
-- For **Messaging Service SID**, you'll need to create a messaging service first from the Services under Messaging in the left-sidebar. +
-
+## Querying Twilio -![ToolJet - Data source - Twilio](/img/datasource-reference/twilio/sid.png) +1. Click on **+ Add** button of the query manager at the bottom panel of the editor. +2. Select the **Twilio** datasource added in previous step. +3. Select **Send SMS** from the dropdown and enter the required parameters. +4. Click on the **Preview** button to preview the output or Click on the **Run** button to trigger the query.
-- After entering the three credentials, you can **Save** the datasource. +
## Supported operations -1. **Send message** - ### Send message This operation will send the specified message to specified mobile number. -
+#### Required Parameters +- **To Number** +- **Body** -![ToolJet - Data source - Twilio](/img/datasource-reference/twilio/sms.png) +ToolJet - Data source - Twilio
- - diff --git a/docs/versioned_docs/version-2.68.0/data-sources/typesense.md b/docs/versioned_docs/version-2.68.0/data-sources/typesense.md index 48d885bd7f..3f37573ea5 100644 --- a/docs/versioned_docs/version-2.68.0/data-sources/typesense.md +++ b/docs/versioned_docs/version-2.68.0/data-sources/typesense.md @@ -3,90 +3,145 @@ id: typesense title: TypeSense --- -# TypeSense ToolJet can connect to your TypeSense deployment to read and write data. -## Connection -Please make sure the host/IP of the TypeSense deployment is accessible from your VPC if you have self-hosted ToolJet. If you are using ToolJet cloud, please **whitelist our IP**. +
-ToolJet requires the following to connect to your TypeSense deployment: +## Connection + +To establish a connection with the Typesense data source, you can either click on the **+ Add new Data source** button located on the query panel or navigate to the **[Data Sources](/docs/data-sources/overview)** page from the ToolJet dashboard and choose Typesense as the data source. + +:::info +Please make sure the **Host/IP** of the database is accessible from your VPC if you have self-hosted ToolJet. If you are using ToolJet cloud, please **whitelist** our IP. +::: + +ToolJet requires the following to connect to TypeSense deployment: - **Host** - **Port** - **API Key** - **Protocol** -
- -typesense connect +typesense connect
+
+ ## Querying TypeSense -Click on `+` button of the query manager at the bottom panel of the editor and select the TypeSense added in the previous step as the data source. -Select the operation that you want to perform on your TypeSense cluster and click `Create` to save the query. - -
- -typesense query - -
+1. Click on **+ Add** button of the query manager at the bottom panel of the editor. +2. Select the **Typesence** datasource added in previous step. +3. Select the desired operation from the dropdown and enter the required parameters. +4. Click on the **Preview** button to preview the output or Click on the **Run** button to trigger the query. :::tip Query results can be transformed using transformations. Read our transformations documentation to see how: **[link](/docs/tutorial/transformations)** ::: -## Supported operations +
-#### 1. Create a Collection +
+ +## Supported Operations + +### Create a Collection With this operation you can easily create `Collections` in your TypeSense cluster. In the schema field, you'll need to define the schema for creating a new collection. Check out TypeSense docs to know more about collections **[here](https://typesense.org/docs/0.22.2/api/collections.html#create-a-collection)** +#### Required Parameter +- **Schema** -typesense collection +typesense collection +#### Example -#### 2. Index a document +```yaml +[ + { "name": "id", "type": "string" }, + { "name": "name", "type": "string" }, + { "name": "price", "type": "float" } +] +``` + +### Index a Document Use this operation to index a document to your collection. You'll need to specify the **Collection Name** where you want your document to be indexed and also provide the document data according the schema defined in the collection. Read more about Indexing a document in TypeSense **[here]( https://typesense.org/docs/0.22.2/api/documents.html#index-a-single-document)**. +#### Required Parameter +- **Collection** +- **Document** -typesense index +typesense index +```yaml +{ + "id": "1", + "name": "Laptop", + "price": 999.99 +} +``` -#### 3. Search +### Search Use this operation to perform a search within the specified collection. Know more about the search parameters in the TypeSense doc **[here](https://typesense.org/docs/0.22.2/api/documents.html#search)**. +#### Required Parameter +- **Collection** -typesense search +typesense search +```yaml +{ + "filter_by": "price:<1000", + "sort_by": "price:desc", + "per_page": 10 +} +``` -#### 4. Get a document +### Get a Document Use this operation to fetch an individual document in a collection by providing the `id` of the document. Read more about it **[here](https://typesense.org/docs/0.22.2/api/documents.html#retrieve-a-document)**. +#### Required Parameter +- **Collection** +- **Id** -typesense get +typesense get -#### 5. Update a document +### Update a Document Use this operation to update an individual document by providing the **Collection Name** and **Id** of the document. You'll need to provide the updated document data in the form of specified schema. Check out the TypeSense's doc on updating a document **[here](https://typesense.org/docs/0.22.2/api/documents.html#update-a-document)**. +#### Required Parameter +- **Collection** +- **Id** +- **Document** -typesense update +typesense update +```yaml +{ + "name": "Gaming Laptop", + "price": 1199.99 +} +``` -#### 6. Delete a document +### Delete a Document Delete a document from collection by providing the `Id` of the document. Check out the TypeSense's doc on deleting documents **[here](https://typesense.org/docs/0.22.2/api/documents.html#delete-documents)**. +#### Required Parameter +- **Collection** +- **Id** -typesense delete +typesense delete +

:::tip Make sure that you supply JSON strings instead of JavaScript objects for any document or schema that is being passed to the server, in any of the above operations. ::: + +
\ No newline at end of file diff --git a/docs/versioned_docs/version-2.68.0/data-sources/woocommerce.md b/docs/versioned_docs/version-2.68.0/data-sources/woocommerce.md index 45567819c6..246b12f92b 100644 --- a/docs/versioned_docs/version-2.68.0/data-sources/woocommerce.md +++ b/docs/versioned_docs/version-2.68.0/data-sources/woocommerce.md @@ -2,63 +2,89 @@ id: woocommerce title: WooCommerce --- -# WooCommerce ToolJet can connect to WooCommerce databases to read and write data. -- [Connection](#connection) -- [Getting Started](#querying-woocommerce) +
## Connection -Auth -You may use [HTTP Basic Auth] by providing the REST API Consumer Key as the username and the REST API Consumer Secret as the password. +To establish a connection with the WooCommerce data source, you can either click on the **+ Add new Data source** button located on the query panel or navigate to the **[Data Sources](/docs/data-sources/overview)** page from the ToolJet dashboard and choose WooCommerce as the data source. + +ToolJet requires the following to connect to WooCommerce - **Host** - **Consumer key** - **Consumer secret** -![ToolJet - Data Source - Woocommerce](/img/datasource-reference/woocommerce/woocomerce-auth.png) +ToolJet - Data Source - Woocommerce :::info NOTE: For generating keys visit admin dashboard of woocommerce , more info: https://woocommerce.github.io/woocommerce-rest-api-docs/?javascript#authentication ::: -## Querying Woocommerce +
-**Operations** +
-**Customer** +## Querying WooCommerce -- list customer -- update customer -- delete customer -- batch update customer -- create customer -- retrieve customer +1. Click on **+ Add** button of the query manager at the bottom panel of the editor. +2. Select the **WooCommerce** datasource added in previous step. +3. Select the desired resource from the dropdown and then select the desired operation and enter the required parameters. +4. Click on the **Preview** button to preview the output or Click on the **Run** button to trigger the query. -**PRODUCT** +:::tip +Query results can be transformed using transformations. Read our transformations documentation to see how: **[link](/docs/tutorial/transformations)** +::: -- list product -- update product -- delete product -- batch update product -- create product -- retrieve product +
-**ORDER** +
-- list order -- update order -- delete order -- batch update order -- create order -- retrieve order +## Resource -**Coupon** +### Customer -- list coupon -- create coupon +#### Supported Operations + +- **list customer** +- **update customer** +- **delete customer** +- **batch update customer** +- **create customer** +- **retrieve customer** + +### Product + +#### Supported Operations + +- **list product** +- **update product** +- **delete product** +- **batch update product** +- **create product** +- **retrieve product** + +### Order + +#### Supported Operations + +- **list order** +- **update order** +- **delete order** +- **batch update order** +- **create order** +- **retrieve order** + +### Coupon + +#### Supported Operations + +- **list coupon** +- **create coupon** :::info NOTE: For more info visit https://woocommerce.github.io/woocommerce-rest-api-docs/?javascript. -::: \ No newline at end of file +::: + +
diff --git a/docs/versioned_docs/version-2.68.0/data-sources/zendesk.md b/docs/versioned_docs/version-2.68.0/data-sources/zendesk.md index e764e1686a..1fc7574516 100644 --- a/docs/versioned_docs/version-2.68.0/data-sources/zendesk.md +++ b/docs/versioned_docs/version-2.68.0/data-sources/zendesk.md @@ -3,94 +3,114 @@ id: zendesk title: Zendesk --- -# Zendesk - ToolJet can connect to Zendesk APIs to read and write data using OAuth 2.0, which helps us to limit an application's access to a user's account. - - [Connection](#connection) - - [Querying Zendesk](#querying-zendesk) +
## Connection +To establish a connection with the Zendesk data source, you can either click on the **+ Add new Data source** button located on the query panel or navigate to the **[Data Sources](/docs/data-sources/overview)** page from the ToolJet dashboard and choose Zendesk as the data source. + ToolJet connects to your Zendesk app using : - **Zendesk Sub-domain** - **Client ID** - **Client Secret** -## Authorization Scopes +### Authorization Scopes You can create a Zendesk data source with one of either of the two permission scopes : - 1. **Read Only** - 2. **Read and Write** - - - +- **Read Only** +- **Read and Write** :::info You must first be a verified user to make Zendesk API requests. This is configured in the Admin Center interface in **Apps and integrations > APIs > Zendesk APIs.** For more information, see Security and Authentication in the [Zendesk Support API reference](https://developer.zendesk.com/api-reference/ticketing/introduction/#security-and-authentication) or [check out Zendesk's docs](https://support.zendesk.com/hc/en-us/articles/4408845965210). ::: -To connect Zendesk datasource to your ToolJet application, go to the data source manager on the left-sidebar and click on the `+` button. Select Zendesk from the list of available datasources, provide the credentials and click **Connect to Zendesk** and authenticate via OAuth. And click **Save** to save the datasource. +
-
+
-![ToolJet - Data source - Zendesk](/img/datasource-reference/zendesk/zendesk-v2.gif) +## Querying Zendesk + +1. Click on **+ Add** button of the query manager at the bottom panel of the editor. +2. Select the **Zendesk** datasource added in previous step. +3. Select the desired operation and enter the required parameters. +4. Click on the **Preview** button to preview the output or Click on the **Run** button to trigger the query. + +ToolJet - Data source - Zendesk
-## Querying Zendesk -1. **[List Tickets](/docs/data-sources/zendesk#list-tickets)** -2. **[List requested Tickets](/docs/data-sources/zendesk#list-requested-tickets)** -3. **[Show a Ticket](/docs/data-sources/zendesk#show-tickets)** -4. **[Update a Ticket](/docs/data-sources/zendesk#update-tickets)** -5. **[List Users](/docs/data-sources/zendesk#list-users)** -6. **[Get Profile](/docs/data-sources/zendesk#get-profile)** -7. **[Search query](/docs/data-sources/zendesk#search-query)** + +
+ +## Supported Operations + +- **[List Tickets](#list-tickets)** +- **[List requested Tickets](#list-requested-tickets)** +- **[Show a Ticket](#show-tickets)** +- **[Update a Ticket](#update-tickets)** +- **[List Users](#list-users)** +- **[Get User](#get-user)** +- **[Search](#search)** ### List Tickets Lists all the tickets in your Zendesk account. -### List requested Tickets +ToolJet - Data source - Zendesk + +### List Requested Tickets Lists all the tickets requested by the user. -| Fields | description | -| ----------- | ----------- | -| User ID | The id of the user | +#### Required Parameter +- **User ID** + +ToolJet - Data source - Zendesk ### Show Tickets Gets a ticket's properties with the given ID, though not the ticket comments. -| Fields | description | -| ----------- | ----------- | -| Ticket ID | The id of the ticket | +#### Required Parameter +- **Ticket ID** + +ToolJet - Data source - Zendesk ### Update Tickets Updates a ticket's properties with the given ID. -| Fields | description | -| ----------- | ----------- | -| Ticket ID | The id of the ticket | -| Body | The properties and values to update. Example: `{{({ "ticket": {"status": "solved"} })}}` | +#### Required Parameter +- **Ticket ID** +- **Body** + +ToolJet - Data source - Zendesk ### List Users Lists all the users in your Zendesk account. -### Get Profile +ToolJet - Data source - Zendesk + +### Get User Gets a user's profile with the given ID. -| Fields | description | -| ----------- | ----------- | -| User ID | The id of the user | +#### Required Parameter +- **User ID** + +ToolJet - Data source - Zendesk + +### Search -### Search Query The Search Query uses Zendesk's Search API to return tickets, users, and organizations with defined filters. + +#### Required Parameter +- **Query** + Common filters include: - `type:ticket` - `type:user` - `type:organization` - `type:ticket organization:12345 status:open` -| Fields | description | -| ----------- | ----------- | -| Query | The search query | +ToolJet - Data source - Zendesk + +
\ No newline at end of file diff --git a/docs/versioned_docs/version-2.68.0/marketplace/marketplace_overview.md b/docs/versioned_docs/version-2.68.0/marketplace/marketplace_overview.md index cb556ee32e..de2b16d442 100644 --- a/docs/versioned_docs/version-2.68.0/marketplace/marketplace_overview.md +++ b/docs/versioned_docs/version-2.68.0/marketplace/marketplace_overview.md @@ -83,6 +83,7 @@ To remove a plugin, follow these steps: - **[OpenAI](/docs/marketplace/plugins/marketplace-plugin-openai)** - **[Plivo](/docs/marketplace/plugins/marketplace-plugin-plivo)** - **[Pocketbase](/docs/marketplace/plugins/marketplace-plugin-pocketbase)** +- **[Portkey](/docs/marketplace/plugins/marketplace-plugin-portkey)** - **[PrestoDB](/docs/marketplace/plugins/marketplace-plugin-prestodb)** - **[Salesforce](/docs/marketplace/plugins/marketplace-plugin-salesforce)** - **[Supabase](/docs/marketplace/plugins/marketplace-plugin-supabase)** diff --git a/docs/versioned_docs/version-2.68.0/marketplace/plugins/portkey.md b/docs/versioned_docs/version-2.68.0/marketplace/plugins/portkey.md new file mode 100644 index 0000000000..1a1bbd26b2 --- /dev/null +++ b/docs/versioned_docs/version-2.68.0/marketplace/plugins/portkey.md @@ -0,0 +1,232 @@ +--- +id: marketplace-plugin-portkey +title: Portkey +--- + +ToolJet can integrate with Portkey to access AI services such as text completion, chat completion, prompt completion, and embedding creation. This integration enables ToolJet to leverage Portkey's LMOps platform to develop, launch, maintain, and iterate on generative AI features. + +
+ Portkey Dashboard Overview +
+ +:::note +Before following this guide, it is assumed that you have already completed the process of **[Using Marketplace plugins](/docs/marketplace/marketplace-overview#using-marketplace-plugins)**. +::: + +## Connection + +To connect to Portkey, the following credentials are required: + +- **API Key**: Your Portkey API Key. Refer to the **[Portkey API Authentication Documentation](https://docs.portkey.ai/docs/api-reference/authentication#obtaining-your-api-key)** for instructions on obtaining your API Key. +- **Default Virtual Key** (Optional): Your default Portkey Virtual Key. Visit the **[Portkey Virtual Keys Documentation](https://docs.portkey.ai/docs/product/ai-gateway-streamline-llm-integrations/virtual-keys#creating-virtual-keys)** to learn how to create and retrieve your Virtual Key. +- **Config** (Optional): Your default Portkey configuration. +- **Gateway URL** (Optional): Your default Portkey Gateway URL. See the **[Portkey API Authentication Documentation](https://docs.portkey.ai/docs/api-reference/authentication#obtaining-your-api-key)** for details on how to obtain your Gateway URL. + +
+ Configuring Portkey in ToolJet +
+ +## Supported Operations + +Portkey in ToolJet supports the following operations: + +- **[Completion](#completion)** +- **[Chat](#chat)** +- **[Prompt Completion](#prompt-completion)** +- **[Create Embedding](#create-embedding)** + +### Completion + +This operation generates text completions based on a given prompt. + +#### Parameters: + +- **Prompt**: The input text to generate completions for. +- **Model**: The AI model to use. +- **Max Tokens**: Maximum number of tokens to generate. +- **Temperature**: Controls randomness. +- **Stop Sequences**: Sequences where the API will stop generating further tokens. +- **Metadata**: Additional metadata for the request. +- **Other Parameters**: Any other parameters to include in the request. + +
+ Completion Operation for Portkey +
+ +
+ **Response Example** + ```json +{ + "id": "cmpl-9vNUfM8OP0SwSqXcnPwkqzR7ep8Sy", + "object": "text_completion", + "created": 1723462033, + "model": "gpt-3.5-turbo-instruct", + "choices": [ + { + "text": "nn"Experience the perfect brew at Bean There."", + "index": 0, + "logprobs": null, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 13, + "completion_tokens": 10, + "total_tokens": 23 + } +} + ``` +
+ +### Chat + +This operation generates chat completions based on a series of messages. + +#### Parameters: + +- **Messages**: An array of message objects representing the conversation. +- **Model**: The AI model to use. +- **Max Tokens**: Maximum number of tokens to generate. +- **Temperature**: Controls randomness. +- **Stop Sequence**: Sequences where the API will stop generating further tokens. +- **Metadata**: Additional metadata for the request. +- **Other Parameters**: Any other parameters to include in the request. + +
+ Chat Operation for Portkey +
+ +
+ **Response Example** +```json +{ + "id": "chatcmpl-9vNIlfllXOPEmroKFajK2nlJHzhXA", + "object": "chat.completion", + "created": 1723461295, + "model": "gpt-3.5-turbo-0125", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "The capital of France is Paris.", + "refusal": null + }, + "logprobs": null, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 24, + "completion_tokens": 7, + "total_tokens": 31 + }, + "system_fingerprint": null +} +``` +
+ +### Prompt Completion + +This operation generates completions based on a pre-defined prompt. + +#### Parameters: + +- **Prompt ID**: The ID of the pre-defined prompt to use. +- **Variables**: Variables to be used in the prompt. +- **Parameters**: Additional parameters for the prompt completion. +- **Metadata**: Additional metadata for the request. + +
+ Prompt Completion Operation for Portkey +
+ +
+ **Response Example** +```json +{ + "id": "chatcmpl-9w6D8jZciWVf1DzkgqNZK14KUvA4d", + "object": "chat.completion", + "created": 1723633926, + "model": "gpt-4o-mini-2024-07-18", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "The Industrial Revolution, starting in the late 18th century, transformed production from hand methods to machine-based processes, introducing new manufacturing techniques, steam power, and machine tools. It marked a shift from bio-fuels to coal, with the textile industry leading the way. This period resulted in significant population growth, increased average income, and improved living standards.", + "refusal": null + }, + "logprobs": null, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 145, + "completion_tokens": 71, + "total_tokens": 216 + }, + "system_fingerprint": "fp_48196bc67a" +} +``` +
+ +### Create Embedding + +This operation creates embeddings for given input text. + +#### Parameters: + +- **Input**: The input text to create embeddings for. +- **Model**: The AI model to use for creating embeddings. +- **Metadata**: Additional metadata for the request. + +
+ Create Embedding Operation for Portkey +
+ +
+ **Response Example** +```json +{ + "object": "list", + "data": [ + { + "object": "embedding", + "index": 0, + "embedding": [ + -0.02083237, + -0.016892163, + -0.0045676464, + -0.05084554, + -0.025968939, + 0.029597048, + 0.029987168, + 0.02907689, + 0.0105982395, + -0.024356445, + -0.00935636, + 0.0066352785, + 0.034018397, + -0.042002838, + 0.03856979, + -0.014681488, + ..., + 0.024707552 + ] + } + ], + "model": "text-embedding-3-small", + "usage": { + "prompt_tokens": 9, + "total_tokens": 9 + } +} +``` +
+ +For all operations, you can optionally specify: +- **Config**: Configuration options for the request. +- **Virtual Key**: A specific virtual key to use for the request, overriding the default. + +--- \ No newline at end of file diff --git a/docs/versioned_docs/version-2.68.0/setup/choose-your-tooljet.md b/docs/versioned_docs/version-2.68.0/setup/choose-your-tooljet.md index 1e1cd3594a..2558238aed 100644 --- a/docs/versioned_docs/version-2.68.0/setup/choose-your-tooljet.md +++ b/docs/versioned_docs/version-2.68.0/setup/choose-your-tooljet.md @@ -15,6 +15,10 @@ Please find the latest LTS version here:
| Version | Release Date | Docker Pull Command | |---------|--------------|----------------------| | Latest EE-LTS | N/A | `docker pull tooljet/tooljet:EE-LTS-latest` | +| [EE-LTS-2.50.9.41](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.41/images/sha256-d36444747af6f81d4456ca4d1f7dcf92c3e77e13e23ca9407c22de1c62451bd7?context=explore) | September 24 , 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.41` | +| [EE-LTS-2.50.9.40](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.40/images/sha256-26338b926568dc514c26988f6cd01f84bb3edf950fac08982365fabb95900f78?context=explore) | September 18 , 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.40` | +| [EE-LTS-2.50.9.39](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.39/images/sha256-6f1b7a00432e0e29a05adb375d3ddd9da877d6eb53d489be14ca0061953bbb57?context=explore) | September 12 , 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.39` | +| [EE-LTS-2.50.9.38](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.38/images/sha256-1974afb5f8483f4bfb7bf7575d7d8b4f0f7747dd7c88139cbf559c3ce8b1fdbd?context=explore) | September 12 , 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.38` | | [EE-LTS-2.50.9.37](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.37/images/sha256-b1a13a5424bf14af77bb455f39e07d2a774303bcf4286aa7bd6d0a78c1a58e59?context=explore) | September 11 , 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.37` | | [EE-LTS-2.50.9.36](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.36/images/sha256-969ae46a17c5873882641b7e23b02e087874194d9546e0a55d21d49044becd9e?context=explore) | September 10 , 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.36` | | [EE-LTS-2.50.9.35](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.35/images/sha256-8a1b0014d470aff108ad75fd6982e01696740f2154a3bb49f08671b93d55485b?context=explore) | September 3 , 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.35` | @@ -27,10 +31,6 @@ Please find the latest LTS version here:
| [EE-LTS-2.50.9.28](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.28/images/sha256-f33982c51a59b126aea9da9eef2cace0cd074411583ea896edc3f6db5b578a6b?context=explore) | August 19, 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.28` | | [EE-LTS-2.50.9.27](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.27/images/sha256-ae4810ddd12b2e397a07085e2ea62e98c4ea16c139d2673e4ab890d19b40f868?context=explore) | August 13, 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.27` | | [EE-LTS-2.50.9.26](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.26/images/sha256-8e17e23f2d61b463aaf0f87e5e90fa4580faf3fa6e790afcff64ef399454f85f?context=explore) | August 12, 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.26` | -| [EE-LTS-2.50.9.25](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.25/images/sha256-fdf2858e364c238abd49418321a34676449383733ca3c6fb79ae4714e113a064?context=explore) | August 2, 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.25` | -| [EE-LTS-2.50.9.24](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.24/images/sha256-a51522503c4b31eb5cd27bd105fe8693f371f17fcf6bf9c86c3fff3d6d9faf4f?context=explore) | August 1, 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.24` | -| [EE-LTS-2.50.9.23](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.23/images/sha256-449700fb75a86def8a147c4e6592e1a5c43b8e0486dde5196aa7c9f3df1a17dd?context=explore) | July 30, 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.23` | -| [EE-LTS-2.50.9.22](https://hub.docker.com/layers/tooljet/tooljet/EE-LTS-2.50.9.22/images/sha256-8df4b8279a02f55f9eff7f26b744cf73d1fb8c9d4bf2f3d3b16243849ac2f9c4?context=explore) | July 30, 2024 | `docker pull tooljet/tooljet:EE-LTS-2.50.9.22` | :::info Users are encouraged to upgrade to the latest LTS version to ensure they benefit from the latest improvements and maintain a secure and efficient environment. diff --git a/docs/versioned_docs/version-2.68.0/setup/docker.md b/docs/versioned_docs/version-2.68.0/setup/docker.md index 7adc581aa1..a87eb85af8 100644 --- a/docs/versioned_docs/version-2.68.0/setup/docker.md +++ b/docs/versioned_docs/version-2.68.0/setup/docker.md @@ -164,9 +164,44 @@ If this is a new installation of the application, you may start directly with th - Users on versions earlier than **v2.23.0-ee2.10.2** must first upgrade to this version before proceeding to the LTS version. + +## Troubleshooting + For specific issues or questions, refer to our **[Slack](https://tooljet.slack.com/join/shared_invite/zt-25438diev-mJ6LIZpJevG0LXCEcL0NhQ#)**. +## Debugging with Docker + +In this section, we provide guidance on how to enable debugging for ToolJet services using Docker and Visual Studio Code. These additions will significantly benefit contributors by streamlining the debugging process and enhancing the overall development experience. +#### VSCode Launch Configuration: +A new configuration has been added in `.vscode/launch.json` to facilitate launching the client and server in debug mode. This allows contributors to easily debug the application within the Visual Studio Code environment. Configurations include: + +- **Docker Debug Client**: Launch the client running in a Docker container for debugging within Visual Studio Code. +- **Docker Debug Server**: Debug the server in a Docker container, allowing developers to leverage Node.js debugging tools directly from their IDE. + +#### VSCode Task Configuration: + +A new task has been introduced in `.vscode/tasks.json` to manage Docker Compose commands for debugging. This includes tasks to start the client and server in detached mode, making it easier to initiate debugging sessions. + +#### Docker Compose Debug Configuration: + +The `docker-compose-debug.yaml` file defines the services for debugging, exposing the necessary port (9229) for Node.js debugging. This setup ensures that the server runs in debug mode, allowing for effective troubleshooting. + +### Benefits of Debugging Configuration +These changes streamline the debugging process, making it more efficient for contributors to identify and fix issues. The integration with Visual Studio Code allows for advanced debugging features such as breakpoints and real-time variable inspection. Furthermore, standardizing the debugging setup fosters better collaboration among team members, facilitating knowledge sharing and improving the overall development workflow. + +By implementing these configurations, ToolJet aims to enhance the development experience, enabling contributors to resolve issues swiftly and maintain project momentum. + +If you want to run docker in debug mode use this command +```bash +docker-compose -f docker-compose.yaml -f docker-compose-debug.yaml up --build +``` + +**Open the Project in VSCode**: Open the ToolJet directory in Visual Studio Code. + +Check Launch Configurations: +- Open the debug view by clicking on the Debug icon in the Activity Bar on the side of the window. +- Select the appropriate configuration, such as Docker Debug Client or Docker Debug Server. \ No newline at end of file diff --git a/docs/versioned_sidebars/version-2.50.0-LTS-sidebars.json b/docs/versioned_sidebars/version-2.50.0-LTS-sidebars.json index 2218b90e3e..158c3ddd2e 100644 --- a/docs/versioned_sidebars/version-2.50.0-LTS-sidebars.json +++ b/docs/versioned_sidebars/version-2.50.0-LTS-sidebars.json @@ -417,6 +417,7 @@ "marketplace/plugins/marketplace-plugin-salesforce", "marketplace/plugins/marketplace-plugin-supabase", "marketplace/plugins/marketplace-plugin-pocketbase", + "marketplace/plugins/marketplace-plugin-portkey", "marketplace/plugins/marketplace-plugin-prestodb" ] } @@ -494,4 +495,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/docs/versioned_sidebars/version-2.68.0-sidebars.json b/docs/versioned_sidebars/version-2.68.0-sidebars.json index da3659fd3d..0782277a91 100644 --- a/docs/versioned_sidebars/version-2.68.0-sidebars.json +++ b/docs/versioned_sidebars/version-2.68.0-sidebars.json @@ -420,6 +420,7 @@ "marketplace/plugins/marketplace-plugin-salesforce", "marketplace/plugins/marketplace-plugin-supabase", "marketplace/plugins/marketplace-plugin-pocketbase", + "marketplace/plugins/marketplace-plugin-portkey", "marketplace/plugins/marketplace-plugin-prestodb", "marketplace/plugins/marketplace-plugin-jira" ] @@ -497,4 +498,4 @@ ] } ] -} +} \ No newline at end of file