diff --git a/website/docs/connect-data/reference/confluence.md b/website/docs/connect-data/reference/confluence.md new file mode 100644 index 0000000000..a7f3e06367 --- /dev/null +++ b/website/docs/connect-data/reference/confluence.md @@ -0,0 +1,690 @@ +# Confluence + +This page provides information on how to connect to Confluence. It enables users to perform actions such as creating pages, updating content, searching spaces, managing blog posts, and retrieving content by various criteria. + +## Connect Confluence + +To connect to Confluence, you need to authenticate using your Confluence credentials. This authentication provides secure access to your Confluence workspace and content. + +To authenticate with Confluence, you need to provide your Confluence domain and API token: + +1. Log in to your Confluence instance (e.g., `https://your-domain.atlassian.net`) +2. Generate an API token: + - Go to [Atlassian Account Settings](https://id.atlassian.com/manage/api-tokens) + - Click "Create API token" + - Give your token a name (e.g., "Appsmith Integration") + - Copy the generated token +3. In the Appsmith Confluence datasource configuration: + - Enter your Confluence domain (e.g., `your-domain.atlassian.net`) + - Enter your email address associated with your Atlassian account + - Paste the API token in the password/token field + + +## Query Confluence + +The following section provides a reference guide describing available commands and their parameters for interacting with Confluence. + +### Create Page + +Creates a new page in a specified Confluence space. This command allows you to define page details such as title, content, and parent page, and returns the created page's information including its ID for future reference. + +#### Space Id `string` +
+The unique identifier of the space where the page will be created. + +To find a space ID: +* In Confluence, navigate to the space +* Look at the URL: `https://your-domain.atlassian.net/wiki/spaces/[SPACE_KEY]` +* The space key in the URL is the space ID +* Alternatively, use the "Get Space By Id" or "Search Spaces" commands to retrieve space IDs + +Space IDs are typically short alphanumeric codes (e.g., `TEAM`, `DOCS`, `HR`). + +*Example*: +``` +DOCS +``` +
+ +#### Status `string` +
+The status of the page being created. This determines whether the page is published immediately or saved as a draft. + +Valid values: +* `current` - The page will be published and visible to users with appropriate permissions +* `draft` - The page will be saved as a draft and only visible to the creator + +*Example for publishing immediately*: +``` +current +``` + +*Example for saving as draft*: +``` +draft +``` +
+ +#### Title `string` +
+The title of the page. This appears at the top of the page and in navigation menus, search results, and page lists. + +The title is required if the page status is not set to draft. It should be descriptive and concise. + +*Example*: +``` +Project Requirements Documentation +``` +
+ +#### Parent Id `string` +
+The ID of the parent page under which this page will be created. This establishes the page hierarchy in Confluence. + +To find a parent page ID: +* Open the parent page in Confluence +* Look at the URL: `https://your-domain.atlassian.net/wiki/spaces/[SPACE_KEY]/pages/[PAGE_ID]` +* The numeric value after "/pages/" is the page ID +* Alternatively, use the "Get Page By Id" or "Get Pages In Space" commands to retrieve page IDs + +If omitted, the page will be created at the root level of the space. + +*Example*: +``` +123456789 +``` +
+ +#### Additional Body `string` +
+The content of the page in Confluence storage format (a variant of XHTML). This defines the actual content that will appear on the page. + +Confluence storage format uses HTML-like tags with specific Confluence macros. For basic content, you can use standard HTML tags like `

`, `

`, `

+ +### Update Page + +Updates an existing page in Confluence. This command allows you to modify page details such as title, content, and status, and returns the updated page information. + +#### Page Id `string` +
+The unique identifier of the page to update. + +To find a page ID: +* Open the page in Confluence +* Look at the URL: `https://your-domain.atlassian.net/wiki/spaces/[SPACE_KEY]/pages/[PAGE_ID]` +* The numeric value after "/pages/" is the page ID +* Alternatively, use the "Get Page By Id" or "Get Pages In Space" commands to retrieve page IDs + +Page IDs are numeric values that uniquely identify pages within your Confluence instance. + +*Example*: +``` +123456789 +``` +
+ +#### Space Id `string` +
+The unique identifier of the space containing the page. + +To find a space ID: +* In Confluence, navigate to the space +* Look at the URL: `https://your-domain.atlassian.net/wiki/spaces/[SPACE_KEY]` +* The space key in the URL is the space ID + +*Example*: +``` +DOCS +``` +
+ +#### Status `string` +
+The current status of the page being updated. + +Valid values: +* `current` - The page is published and visible +* `draft` - The page is a draft + +*Example*: +``` +current +``` +
+ +#### Title `string` +
+The updated title for the page. This will replace the current page title. + +*Example*: +``` +Updated Project Requirements Documentation +``` +
+ +#### Version `object` +
+Version information for the page update, including the version number and a message describing the changes. + +The version object requires: +* `number`: The new version number (typically current version + 1) +* `message`: A description of the changes made (optional) + +To find the current version number: +* Use the "Get Page By Id" command to retrieve the page details +* Look for the `version.number` field in the response + +*Example*: +``` +{ + "number": 2, + "message": "Updated project timeline and requirements" +} +``` +
+ +#### Additional Body `string` +
+The updated content for the page in Confluence storage format. This will replace the current page content. + +*Example*: +``` +

This is the updated project requirements document.

+

Overview

+

This project aims to improve customer experience by implementing new features...

+

Timeline

+

The project will be completed in three phases...

+``` +
+ +### Get Page By Id + +Retrieves detailed information about a specific page using its unique Confluence page ID. This command returns comprehensive data about the page, including its title, content, version, and space information. + +#### Page Id `string` +
+The unique identifier of the page to retrieve. + +To find a page ID: +* Open the page in Confluence +* Look at the URL: `https://your-domain.atlassian.net/wiki/spaces/[SPACE_KEY]/pages/[PAGE_ID]` +* The numeric value after "/pages/" is the page ID + +*Example*: +``` +123456789 +``` +
+ +#### Body Format `string` +
+The content format types to be returned in the body field of the response. This determines how the page content will be formatted in the API response. + +Valid values: +* `storage` - Returns the content in Confluence storage format (XHTML variant) +* `view` - Returns the content in HTML format as it would be viewed in Confluence +* `export_view` - Returns the content in a format suitable for exporting +* `styled_view` - Returns the content with additional styling information +* `anonymous_export_view` - Returns the content in a format suitable for anonymous export + +*Example*: +``` +view +``` +
+ +#### Get Draft `boolean` +
+Specifies whether to retrieve the draft version of the page instead of the published version. Defaults to false if not specified. + +*Example to get draft version*: +``` +true +``` + +*Example to get published version*: +``` +false +``` +
+ +#### Version Number `integer` +
+Allows you to retrieve a previously published version of the page by specifying its version number. + +To find available version numbers: +* In Confluence, view the page +* Click on "..." (more actions) in the top right +* Select "Page History" to see all versions + +*Example to get version 3*: +``` +3 +``` +
+ +#### Additional Fields `string` +
+A comma-separated list of additional fields to include in the response. This allows you to request specific information beyond the default fields. + +Common additional fields: +* `body.export_view` - Include the export view of the body +* `version` - Include version information +* `ancestors` - Include information about parent pages +* `children.page` - Include information about child pages +* `descendants.page` - Include information about all descendant pages + +*Example*: +``` +version,ancestors,children.page +``` +
+ +### Get Pages In Space + +Retrieves a list of pages from a specified Confluence space. This command returns page details including their IDs, titles, and content based on the specified criteria. + +#### Space Id `string` +
+The unique identifier of the space from which to retrieve pages. + +To find a space ID: +* In Confluence, navigate to the space +* Look at the URL: `https://your-domain.atlassian.net/wiki/spaces/[SPACE_KEY]` +* The space key in the URL is the space ID + +*Example*: +``` +DOCS +``` +
+ +#### Status `string` +
+Filters pages based on their status. This helps you find pages in a specific state. + +Valid values: +* `current` - Published pages +* `draft` - Draft pages +* `any` - Both published and draft pages + +*Example to get published pages*: +``` +current +``` +
+ +#### Body Format `string` +
+The content format types to be returned in the body field of the response. + +Valid values: +* `storage` - Returns the content in Confluence storage format (XHTML variant) +* `view` - Returns the content in HTML format as it would be viewed in Confluence +* `export_view` - Returns the content in a format suitable for exporting +* `styled_view` - Returns the content with additional styling information +* `anonymous_export_view` - Returns the content in a format suitable for anonymous export + +*Example*: +``` +view +``` +
+ +#### Limit `integer` +
+Maximum number of records to return in the result. Defaults to no limit if not specified. + +Use this parameter to control the size of the response, especially when you expect a large number of pages. + +*Example*: +``` +25 +``` +
+ +#### Pagination Parameters `object` +
+Parameters to control pagination of the results. This allows fetching pages in batches. + +The pagination parameters typically include: +* `start` - The starting index of the returned records (integer) +* `limit` - The maximum number of records to return per page (integer) + +*Example*: +``` +{ + "start": 0, + "limit": 25 +} +``` + +For subsequent pages: +``` +{ + "start": 25, + "limit": 25 +} +``` +
+ +### Get Pages By Label + +Retrieves a list of pages that have a specific label. This command returns page details including their IDs, titles, and content for all pages with the specified label. + +#### Label Id `string` +
+The ID of the label for which pages should be returned. This is the label name as it appears in Confluence. + +To find a label ID: +* In Confluence, click on a label on any page +* Look at the URL: `https://your-domain.atlassian.net/wiki/label/[LABEL_ID]` +* The value after "/label/" is the label ID +* Alternatively, labels are visible at the bottom of pages that have them + +Label IDs are case-sensitive and should match exactly as they appear in Confluence. + +*Example*: +``` +project-requirements +``` +
+ +#### Body Format `string` +
+The content format types to be returned in the body field of the response. + +Valid values: +* `storage` - Returns the content in Confluence storage format (XHTML variant) +* `view` - Returns the content in HTML format as it would be viewed in Confluence +* `export_view` - Returns the content in a format suitable for exporting +* `styled_view` - Returns the content with additional styling information +* `anonymous_export_view` - Returns the content in a format suitable for anonymous export + +*Example*: +``` +view +``` +
+ +#### Additional Fields `string` +
+A comma-separated list of additional fields to include in the response. + +*Example*: +``` +version,ancestors,children.page +``` +
+ +#### Limit `integer` +
+Maximum number of records to return in the result. Defaults to no limit if not specified. + +*Example*: +``` +25 +``` +
+ +#### Pagination Parameters `object` +
+Parameters to control pagination of the results. This allows fetching pages in batches. + +*Example*: +``` +{ + "start": 0, + "limit": 25 +} +``` +
+ +### Search Pages + +Searches for pages in Confluence based on specified criteria. This command returns page details including their IDs, titles, and content for all pages matching the search criteria. + +#### Limit `integer` +
+Maximum number of records to return in the result. Defaults to no limit if not specified. + +*Example*: +``` +25 +``` +
+ +#### Filter Formula `string` +
+A filter in disjunctive normal form (OR of AND groups of single conditions). This allows for complex search queries to find specific pages. + +The filter formula uses Confluence Query Language (CQL) syntax, which allows you to search by various attributes like title, content, creator, space, and more. + +Common filter attributes: +* `title` - Search by page title +* `text` - Search in page content +* `creator` - Search by page creator +* `space` - Search in specific spaces +* `created` - Search by creation date +* `modified` - Search by modification date + +*Example to search for pages with "project" in the title*: +``` +title ~ "project" +``` + +*Example to search for pages in a specific space with "requirements" in the content*: +``` +space = "DOCS" AND text ~ "requirements" +``` + +*Example to search for pages created by a specific user in the last month*: +``` +creator = "john.doe@example.com" AND created >= now("-30d") +``` +
+ +#### Pagination Parameters `object` +
+Parameters to control pagination of the search results. This allows fetching results in batches. + +*Example*: +``` +{ + "start": 0, + "limit": 25 +} +``` +
+ +### Delete Page + +Deletes a page from Confluence. This command permanently removes the specified page and its content. + +#### Page Id `string` +
+The unique identifier of the page to delete. + +To find a page ID: +* Open the page in Confluence +* Look at the URL: `https://your-domain.atlassian.net/wiki/spaces/[SPACE_KEY]/pages/[PAGE_ID]` +* The numeric value after "/pages/" is the page ID + +*Example*: +``` +123456789 +``` +
+ +### Get Space By Id + +Retrieves detailed information about a specific Confluence space using its unique space ID. This command returns comprehensive data about the space, including its name, description, and permissions. + +#### Space Id `string` +
+The unique identifier of the space to retrieve. + +To find a space ID: +* In Confluence, navigate to the space +* Look at the URL: `https://your-domain.atlassian.net/wiki/spaces/[SPACE_KEY]` +* The space key in the URL is the space ID + +*Example*: +``` +DOCS +``` +
+ +#### Description Format `string` +
+The content format type to be returned in the description field of the response. This determines how the space description will be formatted in the API response. + +Valid values: +* `plain` - Returns the description in plain text format +* `view` - Returns the description in HTML format as it would be viewed in Confluence +* `storage` - Returns the description in Confluence storage format (XHTML variant) + +*Example*: +``` +view +``` +
+ +### Search Spaces + +Searches for spaces in Confluence based on specified criteria. This command returns space details including their IDs, names, and descriptions for all spaces matching the search criteria. + +#### Limit `integer` +
+Maximum number of records to return in the result. Defaults to no limit if not specified. + +*Example*: +``` +25 +``` +
+ +#### Filter Formula `string` +
+A filter in disjunctive normal form (OR of AND groups of single conditions). This allows for complex search queries to find specific spaces. + +The filter formula uses Confluence Query Language (CQL) syntax, which allows you to search by various attributes like name, description, type, and more. + +Common filter attributes: +* `name` - Search by space name +* `description` - Search in space description +* `type` - Search by space type (e.g., "global", "personal") +* `creator` - Search by space creator +* `created` - Search by creation date + +*Example to search for spaces with "project" in the name*: +``` +name ~ "project" +``` + +*Example to search for global spaces created after a specific date*: +``` +type = "global" AND created >= "2025-01-01" +``` +
+ +#### Pagination Parameters `object` +
+Parameters to control pagination of the search results. This allows fetching results in batches. + +*Example*: +``` +{ + "start": 0, + "limit": 25 +} +``` +
+ +### Get Blog Posts + +Retrieves a list of blog posts from Confluence based on specified criteria. This command returns blog post details including their IDs, titles, and content for all posts matching the criteria. + +#### Limit `integer` +
+Maximum number of blog posts to return in the result. Defaults to no limit if not specified. + +*Example*: +``` +25 +``` +
+ +#### Filter Formula `string` +
+A filter in disjunctive normal form (OR of AND groups of single conditions). This allows for complex search queries to find specific blog posts. + +The filter formula uses Confluence Query Language (CQL) syntax, which allows you to search by various attributes like title, content, creator, space, and more. + +Common filter attributes: +* `title` - Search by blog post title +* `text` - Search in blog post content +* `creator` - Search by blog post creator +* `space` - Search in specific spaces +* `created` - Search by creation date +* `modified` - Search by modification date + +*Example to search for blog posts with "announcement" in the title*: +``` +title ~ "announcement" +``` + +*Example to search for blog posts in a specific space created in the last week*: +``` +space = "BLOG" AND created >= now("-7d") +``` +
+ +#### Pagination Parameters `object` +
+Parameters to control pagination of the blog post results. This allows fetching results in batches. + +*Example*: +``` +{ + "start": 0, + "limit": 25 +} +``` +
+ +### Custom Action + +Executes a custom action against the Confluence API. This command allows for advanced operations not covered by the standard commands. + +
+This command enables you to make custom API calls to Confluence endpoints not covered by the standard commands. You can specify the endpoint, method, and parameters to access additional Confluence functionality. + +When using Custom Action, you'll need to refer to the [Confluence REST API documentation](https://developer.atlassian.com/cloud/confluence/rest/v1/intro/) for specific endpoint details and required parameters. + +*Example for a custom query to get content properties*: +``` +GET /wiki/rest/api/content/{id}/property +``` + +*Example for a custom query to get all content in a space*: +``` +GET /wiki/rest/api/space/{spaceKey}/content +``` + +Custom actions require appropriate authentication and permissions for the endpoints being accessed. +
diff --git a/website/docs/connect-data/reference/github.md b/website/docs/connect-data/reference/github.md new file mode 100644 index 0000000000..433cb0bd3c --- /dev/null +++ b/website/docs/connect-data/reference/github.md @@ -0,0 +1,951 @@ +# GitHub + +This page provides information on how to connect to GitHub. It enables users to perform actions such as creating issues, updating releases, searching for repositories, and managing project workflows directly from Appsmith. + +## Connect GitHub + +To connect to GitHub, you need to authenticate using OAuth 2.0 . This authentication provides secure access to repositories and GitHub features based on your account permissions. + +1. Log in to your GitHub account if not already logged in +2. Review the requested permissions +3. Click "Authorize" to grant Appsmith access to your GitHub account + +The OAuth flow provides a seamless experience but requires you to have a browser session. + + +## Query GitHub + +The following section is a reference guide that provides a description of the available commands with their parameters to create GitHub queries. + +### Create Issue + +Creates a new issue in a specified GitHub repository. This command allows you to define the issue title, description, and assignees, and returns the created issue's details including its number, URL, and creation timestamp. + +#### Owner `string` + +
+The owner's name identifies the account or organization that owns the repository. This is the username or organization name that appears in the repository URL. + +To locate the owner: +* Look at the URL: `https://github.com/[OWNER]/[REPO]` +* The owner is the segment between `github.com/` and the next forward slash + +For personal repositories, this will be your GitHub username. For organization repositories, this will be the organization name. + +*Examples:* + +For a personal repository: +``` +janedoe +``` + +For an organization repository: +``` +appsmith +``` + +If the owner is incorrect or doesn't exist, GitHub will return a 404 error. +
+ +#### Repo `string` + +
+The repository name specifies which GitHub repository the issue will be created in. This must be the exact name of the repository as it appears on GitHub, including capitalization and special characters. + +To locate the repository name: +* Look at the URL: `https://github.com/[OWNER]/[REPO]` +* The repo name is the segment after the owner name + +*Examples:* + +For a typical project repository: +``` +awesome-project +``` + + + +You must have appropriate permissions (at least Write access) to create issues in the specified repository. +
+ +#### Title `string` + +
+The title provides a concise summary of the issue. It should clearly communicate the problem or feature request in a single line. A good title helps maintainers and contributors quickly understand what the issue is about. + +Best practices for issue titles: +* Keep it under 50-60 characters +* Be specific about the problem or request +* Use imperative mood (e.g., "Fix", "Add", "Update") +* Avoid vague descriptions like "Bug" or "Problem" + +*Examples:* + +For a bug report: +``` +Fix login form validation on Safari browsers +``` + +For a feature request: +``` +Add dark mode support to dashboard components +``` + +The title is displayed in issue lists and notifications, so clarity is essential for effective project management. +
+ +#### Body `string` + +
+The body contains detailed information about the issue. It supports GitHub Flavored Markdown for rich formatting, including headings, lists, code blocks, tables, and embedded images. + +A well-structured issue body typically includes a description of the problem or feature, steps to reproduce (for bugs), expected vs. actual behavior, and environment information. + +*Example for a bug report:* + +``` +The login form fails to validate email addresses properly on Safari browsers. +``` + +The body field is optional but recommended for providing context that helps maintainers understand and address the issue effectively. +
+ +#### Assignees `array` + +
+This property specifies GitHub usernames of people who should be assigned to the issue. Assignees are responsible for addressing the issue and receive notifications about it. + +*Example with multiple assignees:* + +``` +["johndoe", "janedoe"] +``` + +*Example with a single assignee:* + +``` +["techleader"] +``` + +If you leave this field empty, the issue will be created without any assignees. You can only assign users who have access to the repository. +
+ +### Update Issue + +Updates an existing issue in a specified GitHub repository. This command allows you to modify the issue's title, body, assignees, and state (open/closed). It returns the updated issue details including any changes made. + +#### Owner `string` + +
+The owner's name identifies the account or organization that owns the repository containing the issue you want to update. + +*Examples:* + +For a personal repository: +``` +janedoe +``` + +For an organization repository: +``` +appsmith +``` + +If the owner is incorrect or doesn't exist, GitHub will return a 404 error. +
+ +#### Repo `string` + +
+The repository name specifies which GitHub repository contains the issue you want to update. This must be the exact name of the repository as it appears on GitHub, including capitalization and special characters. + +*Examples:* + +For a typical project repository: +``` +awesome-project +``` + +For repositories with special characters: +``` +react-native-app +``` + +You must have appropriate permissions (at least Write access) to update issues in the specified repository. +
+ +#### Issue Number `integer` + +
+The issue number is a unique identifier for the issue within the repository. Each issue in a repository has a sequential number that distinguishes it from other issues. + +To find the issue number: +* Look at the issue URL: `https://github.com/[OWNER]/[REPO]/issues/[NUMBER]` +* The issue number is the numeric value after "/issues/" +* Alternatively, look at the issue page where the number is displayed next to the title (e.g., "#42") + +*Examples:* + +For the first issue in a repository: +``` +1 +``` + +For a later issue: +``` +42 +``` + +If you provide an issue number that doesn't exist in the repository, GitHub will return a 404 error. +
+ +#### Title `string` + +
+The title field allows you to update the issue's summary. Changing the title can help clarify the issue's purpose or reflect new information discovered during investigation. + +*Examples:* + +Updating a bug report title with more specific information: +``` +Fix login validation on Safari and Firefox browsers +``` + +Updating a feature request title to narrow scope: +``` +Add dark mode support to dashboard components (Phase 1) +``` + +If this field is omitted, the existing title will remain unchanged. +
+ +#### Body `string` + +
+The body field allows you to update the detailed description of the issue. You can use this to add new information, clarify details, or document progress. + +*Example of appending an update to an existing issue:* + +``` +After investigation, this issue affects Safari 15.4+ and Firefox 98+, but not Chrome. +``` + +If this field is omitted, the existing body will remain unchanged. +
+ +#### Assignees `array` + +
+This property allows you to update the list of GitHub users assigned to the issue. You can add new assignees, remove existing ones, or completely replace the assignee list. + +*Example to replace all assignees:* + +``` +["newassignee1", "newassignee2"] +``` + +*Example to remove all assignees (assign to no one):* + +``` +[] +``` + +If this field is omitted, the existing assignees will remain unchanged. +
+ +#### State `string` + +
+The state property controls whether the issue is open or closed. Changing the state is essential for workflow management and tracking progress. + +Valid values: +* `"open"` - Marks the issue as active and needing attention +* `"closed"` - Marks the issue as resolved or no longer relevant + +*Example to close an issue:* + +``` +closed +``` + +*Example to reopen an issue:* + +``` +open +``` + +If this field is omitted, the existing state will remain unchanged. +
+ +### Get Issue By Number + +Retrieves detailed information about a specific issue in a GitHub repository using its unique issue number. This command returns comprehensive data about the issue, including its title, body, state, assignees, labels, comments count, and timestamps. + +#### Owner `string` + +
+The owner's name identifies the account or organization that owns the repository containing the issue you want to retrieve. + +*Examples:* + +For a personal repository: +``` +janedoe +``` + +For an organization repository: +``` +appsmith +``` + +If the owner is incorrect or doesn't exist, GitHub will return a 404 error. +
+ +#### Repo `string` + +
+The repository name specifies which GitHub repository contains the issue you want to retrieve. + + + +You must have at least Read access to the repository to retrieve issues. For private repositories, you must be authenticated with appropriate permissions. +
+ +#### Issue Number `integer` + +
+The issue number is a unique identifier for the issue within the repository. Each issue in a repository has a sequential number that distinguishes it from other issues. + +*Examples:* + +For the first issue in a repository: +``` +1 +``` + +For a later issue: +``` +42 +``` + +If you provide an issue number that doesn't exist in the repository, GitHub will return a 404 error. + +The response will include all issue details including title, description, state, assignees, labels, and timestamps. +
+ +### Lock Issue + +Restricts comments and interactions on an issue to prevent further discussion. This is useful for issues that have become off-topic, heated, or resolved in a way that requires no further input. When an issue is locked, only users with write access to the repository can add new comments. + +#### Owner `string` + +
+The owner's name identifies the account or organization that owns the repository containing the issue you want to lock. + +*Examples:* + +For a personal repository: +``` +janedoe +``` + +For an organization repository: +``` +appsmith +``` + +If the owner is incorrect or doesn't exist, GitHub will return a 404 error. +
+ +#### Repo `string` + +
+The repository name specifies which GitHub repository contains the issue you want to lock. + + + +You must have at least write access to the repository to lock issues. +
+ +#### Issue Number `integer` + +
+The issue number is a unique identifier for the issue within the repository that you want to lock. + +*Examples:* + +For a specific issue: +``` +42 +``` + +For another issue: +``` +107 +``` + +If you provide an issue number that doesn't exist in the repository, GitHub will return a 404 error. +
+ +#### Lock Reason `string` + +
+The lock reason explains why the issue is being locked. This helps maintain transparency in the project's governance and moderation decisions. + +Valid lock reasons: +* `"off-topic"` - Conversations that are not relevant to the project or repository +* `"too heated"` - Conversations that are getting too heated or unproductive +* `"resolved"` - Issues that have been resolved and require no further discussion +* `"spam"` - Content identified as spam or unwanted promotional material + +*Example:* + +``` +off-topic +``` + +If no lock reason is provided, the issue will still be locked, but no reason will be displayed publicly. +
+ +### Search Issue + +Searches for issues across GitHub repositories based on specified criteria. This command allows you to find issues matching keywords, labels, assignees, and other filters, returning a list of matching issues with their details. + +#### Owner `string` + +
+The owner's name identifies the account or organization that owns the repository to search within. + +*Examples:* + +For a personal repository: +``` +janedoe +``` + +For an organization repository: +``` +appsmith +``` + +If the owner is incorrect or doesn't exist, GitHub will return a 404 error. +
+ +#### Repo `string` + +
+The repository name specifies which GitHub repository to search for issues. + + + +You must have at least Read access to the repository to search for issues. +
+ +#### Filter `string` + +
+The filter parameter defines the search criteria using GitHub's search syntax. This allows you to combine multiple filters to find exactly the issues you're looking for. + +Common search qualifiers: +* `is:issue` or `is:pr` - Search for issues or pull requests +* `is:open` or `is:closed` - Filter by state +* `label:bug` - Filter by label +* `author:username` - Filter by issue creator +* `assignee:username` - Filter by assignee + +*Examples:* + +To find open bug issues: +``` +is:issue is:open label:bug +``` + +To find issues assigned to a specific user: +``` +is:issue assignee:johndoe +``` + +The search results include issues that match all the specified criteria. +
+ +### Create Release + +Creates a new release for a repository. Releases are deployable project iterations that include compiled files, binary packages, and release notes. This command allows you to create a release from a specific tag, add a title, description, and mark it as a pre-release or draft if needed. + +#### Owner `string` + +
+The owner's name identifies the account or organization that owns the repository where you want to create a release. + +*Examples:* + +For a personal repository: +``` +janedoe +``` + +For an organization repository: +``` +appsmith +``` + +If the owner is incorrect or doesn't exist, GitHub will return a 404 error. +
+ +#### Repo `string` + +
+The repository name specifies which GitHub repository you want to create a release for. + + + +You must have at least write access to the repository to create releases. +
+ +#### Tag Name `string` + +
+The tag name specifies the Git tag from which to create the release. Tags in Git mark specific points in a repository's history, typically used to mark version releases. + +*Examples:* + +For a major release: +``` +v1.0.0 +``` + +For a pre-release: +``` +v2.0.0-beta.1 +``` + +The tag name is required and must be unique within the repository. +
+ +#### Target Commitish `string` + +
+The target commitish value specifies the commit, branch, or tag reference from which to create the release tag (if the tag doesn't exist yet). This determines what code snapshot the release will represent. + +*Examples:* + +For a specific commit: +``` +a7d9f5c +``` + +For a branch: +``` +feature-branch +``` + +If target commitish is not specified, GitHub creates the tag from the default branch (usually `main` or `master`). +
+ +#### Body `string` + +
+The body contains the release notes that describe what's new, what's changed, and any breaking changes in this release. This field supports GitHub Flavored Markdown for rich formatting. + +*Example of release notes:* + +``` +## What's New +- Dark Mode support +- Performance Improvements +- Bug fixes for login issues +``` + +Well-crafted release notes help users understand what changed and decide whether to upgrade. +
+ +#### Draft `boolean` + +
+The draft parameter determines whether the release is published immediately or saved as a draft for further editing before publication. + +*Example to create a draft release:* + +``` +true +``` + +*Example to create a published release:* + +``` +false +``` + +If this parameter is omitted, the default is `false` (published release). +
+ +#### Prerelease `boolean` + +
+The prerelease parameter indicates whether this release should be identified as a non-production ready release. Pre-releases are useful for beta testing, release candidates, and early access versions. + +*Example to mark as prerelease:* + +``` +true +``` + +*Example for stable release:* + +``` +false +``` + +If this parameter is omitted, the default is `false` (stable release). +
+ +#### Discussion Category Name `string` + +
+If given, creates a discussion in the specified category linked to the release. Must match an existing category in the repository. + +*Example:* + +``` +Announcements +``` + +This parameter is optional. If omitted, no discussion will be created. +
+ +#### Generate Release Notes `boolean` + +
+Indicates if the release should auto-generate notes using the specified name and body. + +*Example to generate release notes:* + +``` +true +``` + +*Example to use only the provided body:* + +``` +false +``` + +If this parameter is omitted, the default is `false` (no auto-generated notes). +
+ +### Update Release + +Updates an existing release in a GitHub repository. This command allows you to modify a release's title, description, draft/published status, and prerelease status without creating a new release. + +#### Owner `string` + +
+The owner's name identifies the account or organization that owns the repository containing the release you want to update. + +*Examples:* + +For a personal repository: +``` +janedoe +``` + +For an organization repository: +``` +appsmith +``` + +If the owner is incorrect or doesn't exist, GitHub will return a 404 error. +
+ +#### Repo `string` + +
+The repository name specifies which GitHub repository contains the release you want to update. + + + +You must have at least write access to the repository to update releases. +
+ +#### Release ID `integer` + +
+The release ID is a unique identifier for the release you want to update. Unlike tags which can be moved, the release ID is a permanent identifier for a specific release. + +*Example:* + +``` +53425892 +``` + +The release ID is required and must correspond to an existing release in the repository. +
+ +#### Tag Name `string` + +
+The tag name specifies the Git tag to be updated for the release. + +*Example:* + +``` +v1.0.1 +``` + +If this field is omitted, the existing tag name will remain unchanged. +
+ +#### Target Commitish `string` + +
+The target commitish value specifies the commit, branch, or tag reference to update the release tag to point to. + +*Example:* + +``` +hotfix-branch +``` + +If this field is omitted, the existing target commitish will remain unchanged. +
+ +#### Body `string` + +
+The body parameter allows you to update the release notes. This is useful for correcting information, adding details about post-release fixes, or improving documentation. + +*Example of updated release notes:* + +``` +## UPDATE +This release has been updated with additional bug fixes. +``` + +If this field is omitted, the existing release notes will remain unchanged. +
+ +#### Draft `boolean` + +
+The draft parameter allows you to change the publication status of the release: +* Change from draft to published (`false`) +* Change from published to draft (`true`) + +*Example to publish a draft release:* + +``` +false +``` + +If this field is omitted, the existing draft status will remain unchanged. +
+ +#### Prerelease `boolean` + +
+The prerelease parameter allows you to change whether the release is marked as a prerelease: +* Mark a stable release as prerelease (`true`) +* Mark a prerelease as stable (`false`) + +*Example to mark as stable release:* + +``` +false +``` + +If this field is omitted, the existing prerelease status will remain unchanged. +
+ +#### Discussion Category Name `string` + +
+Updates or creates a discussion in the specified category linked to the release. + +*Example:* + +``` +Releases +``` + +If this field is omitted, the existing discussion settings will remain unchanged. +
+ +#### Generate Release Notes `boolean` + +
+Indicates if the release notes should be regenerated automatically. + +*Example:* + +``` +true +``` + +If this field is omitted, no auto-generation of notes will occur. +
+ +### Get Release By Id + +Retrieves detailed information about a specific release in a GitHub repository using its unique release ID. This command returns comprehensive data about the release, including its tag name, body, assets, and timestamps. + +#### Owner `string` + +
+The owner's name identifies the account or organization that owns the repository containing the release you want to retrieve. + +*Examples:* + +For a personal repository: +``` +janedoe +``` + +For an organization repository: +``` +appsmith +``` + +If the owner is incorrect or doesn't exist, GitHub will return a 404 error. +
+ +#### Repo `string` + +
+The repository name specifies which GitHub repository contains the release you want to retrieve. + + + +You must have at least Read access to the repository to retrieve releases. +
+ +#### Release ID `integer` + +
+The release ID is a unique identifier for the release you want to retrieve. + +*Example:* + +``` +53425892 +``` + +The release ID is required and must correspond to an existing release in the repository. +
+ +### Get Release By Tag Name + +Retrieves detailed information about a specific release in a GitHub repository using its tag name. This command returns comprehensive data about the release, including its ID, body, assets, and timestamps. + +#### Owner `string` + +
+The owner's name identifies the account or organization that owns the repository containing the release you want to retrieve. + +*Examples:* + +For a personal repository: +``` +janedoe +``` + +For an organization repository: +``` +appsmith +``` + +If the owner is incorrect or doesn't exist, GitHub will return a 404 error. +
+ +#### Repo `string` + +
+The repository name specifies which GitHub repository contains the release you want to retrieve. + + + +You must have at least Read access to the repository to retrieve releases. +
+ +#### Tag Name `string` + +
+The tag name specifies the Git tag of the release you want to retrieve. + +*Example:* + +``` +v1.0.0 +``` + +The tag name is required and must correspond to an existing release tag in the repository. +
+ +### Delete Release + +Deletes a release from a GitHub repository. This command permanently removes the release and its associated data, but does not delete the Git tag associated with the release. + +#### Owner `string` + +
+The owner's name identifies the account or organization that owns the repository containing the release you want to delete. + +*Examples:* + +For a personal repository: +``` +janedoe +``` + +For an organization repository: +``` +appsmith +``` + +If the owner is incorrect or doesn't exist, GitHub will return a 404 error. +
+ +#### Repo `string` + +
+The repository name specifies which GitHub repository contains the release you want to delete. + + + +You must have at least write access to the repository to delete releases. +
+ +#### Release ID `integer` + +
+The release ID is a unique identifier for the release you want to delete. + +*Example:* + +``` +53425892 +``` + +The release ID is required and must correspond to an existing release in the repository. +
+ +### Custom Action + +Performs a custom GitHub API request that isn't covered by the predefined commands. This allows for advanced operations and accessing additional GitHub API endpoints. + +
+This command allows you to make custom API calls to GitHub endpoints not covered by the standard commands. You can specify the endpoint, method, and parameters to access additional GitHub functionality. + +*Example:* + +To get repository statistics: +``` +GET /repos/{owner}/{repo}/stats/contributors +``` + +To create a repository webhook: +``` +POST /repos/{owner}/{repo}/hooks +``` + +Custom actions require appropriate authentication and permissions for the endpoints being accessed. +
diff --git a/website/docs/connect-data/reference/google-calendar.md b/website/docs/connect-data/reference/google-calendar.md new file mode 100644 index 0000000000..77e005013d --- /dev/null +++ b/website/docs/connect-data/reference/google-calendar.md @@ -0,0 +1,636 @@ +# Google Calendar + +This page provides information on how to connect to Google Calendar. It enables users to perform actions such as creating events, updating events, listing events, managing contacts, searching directory people, and checking availability. + +## Connect Google Calendar + +To connect to Google Calendar, authenticate using OAuth 2.0. During authentication, select the Google account and grant the necessary permissions to access calendar events and contacts. Once connected, you can manage calendars, events, and contacts through the available commands. + +## Query Google Calendar + +The following section provides a reference guide describing available commands and their parameters for interacting with Google Calendar. + +### Calendar Create Event + +Creates a new event in a specified calendar. This command allows you to define event details such as name, time, location, and attendees, and returns the created event's details including its ID for future reference. + +#### Event Name `string` +
+This property specifies the name of the event. It is used as the event title visible in the calendar view and notifications. + +The event name should be descriptive and concise to help users quickly identify the purpose of the meeting or event. + +*Example*: +``` +Quarterly Budget Review +``` +
+ +#### Start Time `string` +
+The start time of the event. Accepts Unix timestamp or ISO 8601 date formats. This defines when the event begins. + +To find the correct format: +* ISO 8601 format: `YYYY-MM-DDThh:mm:ss±hh:mm` (e.g., `2025-06-15T09:00:00-07:00`) +* Unix timestamp: Number of seconds since January 1, 1970 (e.g., `1750003200`) + +*Example*: +``` +2025-06-15T09:00:00-07:00 +``` +
+ +#### End Time `string` +
+The end time of the event. Accepts Unix timestamp or ISO 8601 date formats. If omitted, it defaults to one hour after the start time. + +The end time must be after the start time, and for all-day events, should be set to the day after the start date. + +*Example*: +``` +2025-06-15T10:30:00-07:00 +``` +
+ +#### Calendar `string` +
+The calendar in which the event will be created. Use Connect Portal Workflow Settings to allow users to select the calendar. Defaults to the user's primary calendar if left blank. + +To locate the calendar ID: +* In Google Calendar web interface, go to Settings > [Calendar name] > Integrate calendar +* Look for the "Calendar ID" field, which typically looks like an email address + +*Example*: +``` +primary +``` + +For a secondary calendar: +``` +user@example.com +``` +
+ +#### Attendees `string` +
+An array of email addresses or a comma-separated list of email addresses representing event attendees. These users will receive calendar invitations for the event. + +*Example for multiple attendees*: +``` +["john.doe@example.com", "jane.smith@example.com"] +``` + +*Example for comma-separated list*: +``` +john.doe@example.com, jane.smith@example.com +``` +
+ +#### Event Location `string` +
+The location where the event will take place. This can be a physical address, room name, or virtual meeting location. + +For virtual meetings, you can include conference room details or simply indicate "Virtual Meeting" if a conference link will be included. + +*Example for physical location*: +``` +Conference Room A, Building 5, 123 Main Street +``` + +*Example for virtual meeting*: +``` +Virtual Meeting +``` +
+ +#### Event Description `string` +
+A description or notes about the event. This field supports plain text and can include agenda items, preparation instructions, or other relevant information for attendees. + +*Example*: +``` +Quarterly budget review for Q2 2025. Please bring your department's expense reports and projections for Q3. Agenda: +1. Q2 performance review +2. Budget adjustments +3. Q3 planning +``` +
+ +#### Event Id `string` +
+An application-specific ID to associate with this event. This ID can be used to sync updates to the event later. + +The Event ID is a unique identifier that you can define for your application's tracking purposes. It's different from the Google Calendar's internal event ID that will be returned after creation. + +*Example*: +``` +budget-review-q2-2025 +``` +
+ +#### Include Meet Link `boolean` +
+If set to true, automatically creates a Google Meet conference link for the event. This adds a video conferencing option that attendees can use to join the meeting. + +*Example to include a Meet link*: +``` +true +``` + +*Example to exclude a Meet link*: +``` +false +``` +
+ +### Calendar Update Event + +Updates an existing event identified by its Event ID. This command allows you to modify event details such as name, time, location, and attendees, and returns the updated event information. + +#### Event Id `string` +
+The ID of the event to update. This ID identifies the specific event in the calendar. + +To find an event's ID: +* In the Google Calendar API response from a previous "Create Event" or "List Events" command +* In the event URL when viewing the event in Google Calendar web interface (the long alphanumeric string after "/eventedit/") + +The event ID is a long string that looks like: `_6sp3gd9o6ko3ib9m6ko3aba168o32b9p6ss3eb9p6ko30c1g60s4ac1g60` + +*Example*: +``` +_6sp3gd9o6ko3ib9m6ko3aba168o32b9p6ss3eb9p6ko30c1g60s4ac1g60 +``` +
+ +#### Event Name `string` +
+The updated name of the event. This will replace the current event title in the calendar. + +*Example*: +``` +Quarterly Budget Review - Updated Agenda +``` +
+ +#### Start Time `string` +
+The updated start time of the event. Accepts Unix timestamp or ISO 8601 date formats. + +*Example*: +``` +2025-06-16T10:00:00-07:00 +``` +
+ +#### End Time `string` +
+The updated end time of the event. Defaults to one hour after the start time if left blank. + +*Example*: +``` +2025-06-16T11:30:00-07:00 +``` +
+ +#### Calendar `string` +
+The calendar where the event exists or will be updated. Defaults to the user's primary calendar if left blank. + +*Example*: +``` +primary +``` + +For a secondary calendar: +``` +finance@example.com +``` +
+ +#### Attendees `string` +
+An array or comma-separated list of email addresses representing the updated attendees. This will replace the current list of attendees. + +*Example*: +``` +["john.doe@example.com", "jane.smith@example.com", "finance.team@example.com"] +``` +
+ +#### Event Location `string` +
+The updated location of the event. This will replace the current event location. + +*Example*: +``` +Executive Conference Room, 4th Floor +``` +
+ +#### Event Description `string` +
+The updated description of the event. This will replace the current event description. + +*Example*: +``` +Updated agenda for Q2 budget review. We'll now include preliminary Q3 forecasts. Please prepare accordingly. +``` +
+ +### Calendar List Events + +Retrieves a list of events from a specified calendar within a date range. This command returns event details including IDs, names, times, locations, and attendees for all events matching the specified criteria. + +#### Calendar `string` +
+The calendar from which to list events. Defaults to the user's primary calendar if left blank. + +To locate the calendar ID: +* In Google Calendar web interface, go to Settings > [Calendar name] > Integrate calendar +* Look for the "Calendar ID" field, which typically looks like an email address + +*Example*: +``` +primary +``` + +For a shared calendar: +``` +team-calendar@group.calendar.google.com +``` +
+ +#### After `string` +
+Filters events that start after this date. Accepts Unix timestamp or ISO 8601 date formats. + +This parameter sets the beginning of the time range for which you want to retrieve events. + +*Example for a specific date and time*: +``` +2025-06-01T00:00:00Z +``` + +*Example for "now"*: +``` +2025-05-22T18:30:00Z +``` +
+ +#### Before `string` +
+Filters events that end before this date. Accepts Unix timestamp or ISO 8601 date formats. + +This parameter sets the end of the time range for which you want to retrieve events. + +*Example for a specific date and time*: +``` +2025-07-01T00:00:00Z +``` + +*Example for one week from now*: +``` +2025-05-29T18:30:00Z +``` +
+ +### Calendar Get Event By Id + +Retrieves details of a specific event by its Event ID. This command returns comprehensive information about the event, including its name, time, location, description, attendees, and status. + +#### Event Id `string` +
+The ID of the event to retrieve. + +To find an event's ID: +* In the Google Calendar API response from a previous "Create Event" or "List Events" command +* In the event URL when viewing the event in Google Calendar web interface (the long alphanumeric string after "/eventedit/") + +*Example*: +``` +_6sp3gd9o6ko3ib9m6ko3aba168o32b9p6ss3eb9p6ko30c1g60s4ac1g60 +``` +
+ +#### Calendar `string` +
+The calendar containing the event. Defaults to the user's primary calendar if left blank. + +*Example*: +``` +primary +``` + +For a secondary calendar: +``` +project-team@group.calendar.google.com +``` +
+ +### Calendar Delete Event + +Deletes a calendar event identified by its Event ID. This command permanently removes the event from the specified calendar and sends cancellation notices to attendees if applicable. + +#### Event Id `string` +
+The ID of the calendar event to delete. + +To find an event's ID: +* In the Google Calendar API response from a previous "Create Event" or "List Events" command +* In the event URL when viewing the event in Google Calendar web interface (the long alphanumeric string after "/eventedit/") + +*Example*: +``` +_6sp3gd9o6ko3ib9m6ko3aba168o32b9p6ss3eb9p6ko30c1g60s4ac1g60 +``` +
+ +#### Calendar `string` +
+The calendar from which to delete the event. Defaults to the user's primary calendar if left blank. + +*Example*: +``` +primary +``` + +For a secondary calendar: +``` +marketing@example.com +``` +
+ +### Calendar Get Contacts + +Retrieves contacts associated with the calendar. This command returns contact information including names, email addresses, phone numbers, and other details for contacts accessible to the authenticated user. + +#### Pagination Parameters `object` +
+Parameters to control pagination of the contacts list. This allows fetching contacts in batches. + +The pagination parameters typically include: +* `pageSize`: Number of contacts to return per page (integer) +* `pageToken`: Token for the page to retrieve (string, obtained from previous response) + +*Example*: +``` +{ + "pageSize": 50, + "pageToken": "CiAKGjBpNDd2Nmp2Zml2cXRwYjBpOXA" +} +``` + +For initial request without a page token: +``` +{ + "pageSize": 50 +} +``` +
+ +### Calendar Search Contacts + +Searches contacts based on a query string. This command returns contact information for contacts matching the search criteria, including names, email addresses, phone numbers, and other details. + +#### Query `string` +
+The search query string used to find matching contacts. + +The query can include names, email addresses, or other contact information. Partial matches are supported. + +*Example to search by name*: +``` +John Smith +``` + +*Example to search by email domain*: +``` +@example.com +``` + +*Example to search by company*: +``` +Acme Corporation +``` +
+ +### Calendar List Directory People + +Lists people from the directory associated with the calendar. This command returns information about users in the organization's directory, including names, email addresses, departments, and other details. + +#### Pagination Parameters `object` +
+Parameters to control pagination of the directory people list. + +The pagination parameters typically include: +* `pageSize`: Number of directory entries to return per page (integer) +* `pageToken`: Token for the page to retrieve (string, obtained from previous response) + +*Example*: +``` +{ + "pageSize": 100, + "pageToken": "CiAKGjBpNDd2Nmp2Zml2cXRwYjBpOXA" +} +``` + +For initial request without a page token: +``` +{ + "pageSize": 100 +} +``` +
+ +### Calendar Search Directory People + +Searches people in the directory based on a query string. This command returns information about users in the organization's directory who match the search criteria, including names, email addresses, departments, and other details. + +#### Query `string` +
+The search query string to find matching people in the directory. + +The query can include names, email addresses, departments, or other directory information. Partial matches are supported. + +*Example to search by name*: +``` +Sarah Johnson +``` + +*Example to search by department*: +``` +Engineering +``` + +*Example to search by location*: +``` +New York Office +``` +
+ +#### Pagination Parameters `object` +
+Parameters to control pagination of the search results. + +The pagination parameters typically include: +* `pageSize`: Number of search results to return per page (integer) +* `pageToken`: Token for the page to retrieve (string, obtained from previous response) + +*Example*: +``` +{ + "pageSize": 25, + "pageToken": "CiAKGjBpNDd2Nmp2Zml2cXRwYjBpOXA" +} +``` + +For initial request without a page token: +``` +{ + "pageSize": 25 +} +``` +
+ +### Calendar List Other Contacts + +Lists other contacts associated with the calendar. This command returns information about contacts that are not in the user's primary contacts or the organization's directory, but have been interacted with previously. + +#### Pagination Parameters `object` +
+Parameters to control pagination of the contacts list. + +The pagination parameters typically include: +* `pageSize`: Number of contacts to return per page (integer) +* `pageToken`: Token for the page to retrieve (string, obtained from previous response) + +*Example*: +``` +{ + "pageSize": 50, + "pageToken": "CiAKGjBpNDd2Nmp2Zml2cXRwYjBpOXA" +} +``` + +For initial request without a page token: +``` +{ + "pageSize": 50 +} +``` +
+ +### Calendar Search Other Contacts + +Searches other contacts based on a query string. This command returns information about contacts that are not in the user's primary contacts or the organization's directory, but match the search criteria. + +#### Query `string` +
+The search query string used to find matching other contacts. + +The query can include names, email addresses, or other contact information. Partial matches are supported. + +*Example to search by name*: +``` +Alex External +``` + +*Example to search by email domain*: +``` +@partner-company.com +``` + +*Example to search by recent interaction*: +``` +recent meeting +``` +
+ +### Calendar Get Availability + +Retrieves availability information for calendars or groups within a specified time interval. This command returns free/busy information for the specified calendars, helping to identify available time slots for scheduling meetings. + +#### Time Min `string` +
+The start of the availability interval in ISO 8601 format. + +This parameter defines the beginning of the time range for which you want to check availability. + +*Example*: +``` +2025-06-01T09:00:00-07:00 +``` +
+ +#### Time Max `string` +
+The end of the availability interval in ISO 8601 format. + +This parameter defines the end of the time range for which you want to check availability. + +*Example*: +``` +2025-06-01T17:00:00-07:00 +``` +
+ +#### Time Zone `string` +
+The time zone used in the response. This is optional and defaults to UTC if omitted. + +The time zone should be specified using IANA Time Zone Database names. + +*Example*: +``` +America/Los_Angeles +``` + +*Example*: +``` +Europe/London +``` +
+ +#### Items `array` +
+A list of calendars and/or groups to query for availability. Defaults to the user's default calendar if omitted. + +Each item in the array should be an object with an `id` property specifying the calendar ID. + +*Example for checking availability of multiple calendars*: +``` +[ + {"id": "primary"}, + {"id": "team@example.com"}, + {"id": "conference-room-a@resource.calendar.google.com"} +] +``` + +*Example for checking availability of a single calendar*: +``` +[{"id": "primary"}] +``` +
+ +### Custom Action + +Executes a custom action against the Google Calendar API. This command allows for advanced operations not covered by the standard commands. + +
+This command enables you to make custom API calls to Google Calendar endpoints not covered by the standard commands. You can specify the endpoint, method, and parameters to access additional Google Calendar functionality. + +When using Custom Action, you'll need to refer to the [Google Calendar API documentation](https://developers.google.com/calendar/api/v3/reference) for specific endpoint details and required parameters. + +*Example for a custom query to get calendar colors*: +``` +GET /colors +``` + +*Example for a custom query to clear a calendar*: +``` +POST /calendars/{calendarId}/clear +``` + +Custom actions require appropriate authentication and permissions for the endpoints being accessed. +
diff --git a/website/docs/connect-data/reference/google-drive.md b/website/docs/connect-data/reference/google-drive.md new file mode 100644 index 0000000000..1678908c57 --- /dev/null +++ b/website/docs/connect-data/reference/google-drive.md @@ -0,0 +1,339 @@ +# Google Drive + +This page provides information on how to connect to Google Drive. It enables users to perform actions such as managing files and folders, exporting documents, and performing custom actions. + +## Connect Google Drive + +To connect to Google Drive, users must authenticate through OAuth 2.0, obtaining access and refresh tokens to interact with the Google Drive API securely. Follow the Google Drive API documentation for setting up the authentication process and acquiring the necessary permissions. + +## Query Google Drive + +The following section provides a **reference guide** describing available commands and their parameters. + + + +### Drive Get File By Id + +Retrieve a file's metadata and optionally its contents using the file's unique identifier. + +#### File Id `string` + +
+ +This property represents the unique identifier of the file you wish to retrieve from Google Drive. It is a required field without which the command cannot pull any file data. File IDs are strings typically resembling `"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"`. You can locate a File ID in the file's URL in Google Drive. + +*Example*: + +``` +1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms +``` + +
+ +#### Additional Fields `JSON object` + +
+ +Specify additional metadata fields to retrieve in a JSON format. If omitted, only default metadata fields will be returned. Use this property to enrich the returned data based on your workflow needs. + +*Example*: + +``` +{"fields": "id, name, mimeType"} +``` +
+ +#### Include File Contents `boolean` + +
+ +Indicates whether to include the actual file contents in the response. Accepts a boolean value—`true` to include contents and `false` otherwise. Defaults to `false` if not specified. + + +
+ + + +### Drive Save File + +Upload and save a file to Google Drive with options to specify its location and sharing settings. + +#### File `binary` + +
+ +This is the actual file data you want to upload. The command requires this property, accepting files in binary format. + +*Example*: + + + + +
+ +#### Parent Id `string` + +
+ +Specify the ID of the parent folder where the file should be saved. Defaults to the user's root folder if this field is left blank. Folder IDs are strings similar to file IDs. + + +
+ +#### Shared Drive `boolean` + +
+ +Indicate whether the target location is a shared drive. Accepts a boolean value; if `true`, the upload is directed to a shared drive. Defaults to `false` if unspecified. + + +
+ +#### Filename `string` + +
+ +Specify a name for the uploaded file. If left blank, it defaults to the original file name. Use this property to rename the file upon saving. + +*Example*: + +``` +report_2023.xlsx +``` +
+ +#### Additional Fields `JSON object` + +
+ +Include any additional fields to update in the file metadata using a JSON object. This is optional and caters to specific operational needs like setting custom properties. + +*Example*: + +``` +{"description": "Quarterly financial report"} +``` +
+ + + +### Drive Export Doc + +Export a Google Document to a specified MIME type format. + +#### File Id `string` + +
+ +The unique File ID of the Google Doc you want to export. This field is necessary for exporting and is located in the document's URL. + +*Example*: + +``` +1s3f4Lgpbhf6NzlMquqc-8dvK7WMbH +``` + +
+ +#### Mime Type `string` + +
+ +A string representing the desired export format. Common values include `"application/pdf"` for PDFs or `"application/vnd.openxmlformats-officedocument.wordprocessingml.document"` for Word documents. + + +
+ + + +### Drive Create Folder + +Create a new folder in a specified parent directory within Google Drive. + +#### Folder Name `string` + +
+ +Provide a name for the new folder. This field is mandatory and must be a string value. + + +
+ +#### Parent Id `string` + +
+ +The ID of the parent folder where the new folder will be created. If left unspecified, the folder is created in the user's root directory. + +*Example*: + +``` +1Ks8yUhqKNZ7z8g7GNqYt1_e9RUwhb6cQ +``` + +
+ + + +### Drive Delete Folder + +Remove a folder from Google Drive by its identifier. + +#### Folder Id `string` + +
+ +Represents the unique ID of the folder to be deleted. This identifier is crucial for executing the delete operation successfully. + + +
+ + + +### Drive Get Folder By Id + +Retrieve metadata for a specific folder using its identifier. + +#### Folder Id `string` + +
+ +The folder's unique identifier, which is necessary for fetching its metadata. It follows a specific format available in the folder's URL. + + +
+ + + +### Drive Move Folder + +Change the parent location of a folder within Google Drive. + +#### Folder Id `string` + +
+ +The ID of the folder you intend to move. This identifier is required to accurately perform the move operation. + + +
+ +#### Parent Id `string` + +
+ +Designate the target parent ID to which the folder will be moved. Without this, the command defaults to attempting to move it to the root directory. + + +
+ + + +### Drive List Files + +Retrieve a list of files from a specific directory with optional inclusion of folders. + +#### Include Folders `boolean` + +
+ +Specify if folders should be included in the result. Accepts `true` or `false`. Defaults to `false`. + + +
+ +#### Parent Id `string` + +
+ +Provide the parent folder ID to list files from that directory. Defaults to listing files from the user's root folder if left blank. + + + +
+ +#### Page Size `integer` + +
+ +The maximum number of files to return per page, supporting values between 1 and 1000. Defaults to 100 if not specified. + + +
+ +#### Include Shared Items `boolean` + +
+ +Indicate whether to include files from shared drives in the result. By default, this is set to `false`, excluding shared files. + + +
+ +#### Additional Fields `JSON object` + +
+ +Specify any additional metadata fields to include in the response via a JSON structure. Omitting this will return standard metadata fields. + +*Example*: + +``` +{"fields": "id, name, owners"} +``` +
+ + + +### Drive Search Folders + +Search for folders within a specified parent or shared drive using filters. + +#### Parent Id `string` + +
+ +The parent folder ID within which to conduct the folder search. Critical for scoping the search to specific directories. + + +
+ +#### Drive Id `string` + +
+ +Specify a Drive ID to search inside shared drives, especially useful for shared environments. Represents the unique identifier of the shared drive. + +*Example*: + +``` +0AFEN07KuPJfUk9PVA +``` +
+ +#### Page Size `integer` + +
+ +Defines how many folders to return per page, allowing values from 1 through 1000. Defaults to 100 when omitted. + + + +
+ +#### Filter Formula `string` + +
+ +Set a filter formula to refine search results, expressed in logical syntax like `var1 = "val1"`. This field narrows results based on specified conditions. + +*Example*: + +``` +var1 = "Project", var2 < "2023-12-31" +``` + +
+ + + diff --git a/website/docs/connect-data/reference/stripe.md b/website/docs/connect-data/reference/stripe.md new file mode 100644 index 0000000000..bb1f1560e5 --- /dev/null +++ b/website/docs/connect-data/reference/stripe.md @@ -0,0 +1,506 @@ +# Stripe + +This page provides information on how to connect to Stripe. It enables users to perform actions such as creating customers, managing subscriptions, handling products, and accessing balance transactions. + +## Connect Stripe + +To connect to Stripe, you need to authenticate using your Stripe API key. This authentication provides secure access to your Stripe account and resources. + +### API Key Authentication + +To authenticate with Stripe, you need to provide your Stripe secret API key: + +1. Log in to your Stripe Dashboard at [dashboard.stripe.com](https://dashboard.stripe.com) +2. Navigate to Developers → API keys +3. Under "Secret key," click "Reveal test key" or "Reveal live key" depending on your environment + - **Test mode**: Use test keys for development and testing (prefixed with `sk_test_`) + - **Live mode**: Use live keys for production (prefixed with `sk_live_`) +4. Copy the key and paste it in the Appsmith Stripe datasource configuration + +:::note +Consider using restricted API keys with limited permissions for specific use cases +::: + +## Query Stripe + +The following section provides a reference guide describing available commands and their parameters for interacting with Stripe. + +### Create Customer + +Creates a new customer in your Stripe account. This command allows you to define customer details such as email, name, and description, and returns the created customer's information including their unique ID for future reference. + +#### Email Create Customer `string` +
+The customer's email address. This is used for communication and helps identify the customer in the Stripe Dashboard. + +Email addresses should be valid and properly formatted. Stripe will not validate the email format, but providing a valid email ensures you can contact the customer later. + +*Example*: +``` +customer@example.com +``` +
+ +#### Name `string` +
+The customer's full name or business name. This helps identify the customer in the Stripe Dashboard and on invoices. + +*Example*: +``` +John Smith +``` +
+ +#### Description `string` +
+Additional information about the customer. This field is for your internal use and is not visible to the customer. + +Use this field to store notes or additional context about the customer relationship. + +*Example*: +``` +Enterprise client - Signed up during Q2 promotion +``` +
+ +#### Metadata Create Customer `object` +
+A set of key-value pairs that you can attach to the customer. This can be useful for storing additional information about the customer in a structured format. + +Metadata is useful for: +* Storing application-specific information +* Filtering customers in the Stripe Dashboard +* Integrating with other systems + +*Example*: +``` +{ "plan_interest": "premium", "referral_source": "google", "account_manager": "jane" } +``` +
+ +### Get Customer By Id + +Retrieves detailed information about a specific customer using their unique Stripe customer ID. This command returns comprehensive data about the customer, including their contact information, payment methods, and subscription status. + +#### Id Get Customer `string` +
+The unique identifier of the customer to retrieve. + +To find a customer's ID: +* In the Stripe Dashboard, go to Customers and click on the specific customer +* The ID appears in the URL as `https://dashboard.stripe.com/customers/[CUSTOMER_ID]` +* The ID is also available in API responses from previous customer-related operations + +Customer IDs always start with `cus_` followed by alphanumeric characters (e.g., `cus_1a2b3c4d5e6f`). + +*Example*: +``` +cus_1a2b3c4d5e6f +``` +
+ +### Get Customers + +Retrieves a list of customers from your Stripe account based on specified filters. This command returns customer details including their IDs, email addresses, names, and creation dates. + +#### Email Get Customers `string` +
+Filters customers based on their email address. This helps you find specific customers when you know their email. + +The filter performs an exact match on the email address. + +*Example*: +``` +customer@example.com +``` +
+ +#### Created After `integer` +
+Filters customers created after the provided date (Unix timestamp). This helps you find customers who signed up after a specific date. + +To convert a date to Unix timestamp: +* Use a conversion tool or website +* In JavaScript: `Math.floor(new Date('2025-01-01').getTime() / 1000)` +* The timestamp represents seconds since January 1, 1970 + +*Example for January 1, 2025*: +``` +1735689600 +``` +
+ +#### Created Before `integer` +
+Filters customers created before the provided date (Unix timestamp). This helps you find customers who signed up before a specific date. + +*Example for December 31, 2025*: +``` +1767225600 +``` +
+ +#### Limit Get Customers `integer` +
+Limits the maximum number of customers to return. Defaults to 10 if left blank. + +Use this parameter to control the size of the response, especially when you expect a large number of results. + +*Example*: +``` +25 +``` +
+ +### Create Subscription + +Creates a new subscription for a customer. This command allows you to subscribe a customer to a specific plan and returns the created subscription's details including its ID, status, and billing information. + +#### Customer Id Create Subscription `string` +
+The unique identifier of the customer that the subscription will be created for. + +To find a customer's ID: +* In the Stripe Dashboard, go to Customers and click on the specific customer +* The ID appears in the URL as `https://dashboard.stripe.com/customers/[CUSTOMER_ID]` +* Customer IDs always start with `cus_` followed by alphanumeric characters + +*Example*: +``` +cus_1a2b3c4d5e6f +``` +
+ +#### Plan `string` +
+The plan that the subscription will be created with. This determines what product and pricing the customer will be subscribed to. + +To find a plan's ID: +* In the Stripe Dashboard, go to Products → Select a product → Pricing +* The plan ID appears when you click on a specific price +* Plan IDs typically start with `price_` followed by alphanumeric characters + +You can use Connect Portal Workflow Settings to allow users to select a plan (example: `{{settings.plan}}`). + +*Example*: +``` +price_1a2b3c4d5e6f +``` +
+ +#### Metadata Create Subscription `object` +
+A set of key-value pairs that you can attach to the subscription. This can be useful for storing additional information about the subscription in a structured format. + +*Example*: +``` +{ "promotion_code": "SUMMER2025", "sales_rep": "alex", "contract_term": "annual" } +``` +
+ +### Get Subscriptions + +Retrieves a list of subscriptions based on specified filters. This command returns subscription details including their IDs, associated customers, plans, statuses, and billing information. + +#### Customer Id Get Subscriptions `string` +
+The unique identifier of the customer whose subscriptions you want to list. + +To find a customer's ID: +* In the Stripe Dashboard, go to Customers and click on the specific customer +* The ID appears in the URL as `https://dashboard.stripe.com/customers/[CUSTOMER_ID]` +* Customer IDs always start with `cus_` followed by alphanumeric characters + +*Example*: +``` +cus_1a2b3c4d5e6f +``` +
+ +#### Subscription Status `string` +
+Filters subscriptions based on their status. This helps you find subscriptions in a specific state. + +Valid status values: +* `active` - Currently in period and paid +* `past_due` - Payment failed but still trying +* `unpaid` - Payment failed and no longer trying +* `canceled` - Subscription canceled +* `incomplete` - Initial payment failed +* `incomplete_expired` - Initial payment failed and expired +* `trialing` - In trial period +* `all` - All statuses + +*Example*: +``` +active +``` +
+ +#### Limit Get Subscriptions `integer` +
+Limits the maximum number of subscriptions to return. Defaults to 10 if left blank. + +*Example*: +``` +25 +``` +
+ +### Update Customer + +Updates an existing customer's information. This command allows you to modify customer details such as email, name, and description, and returns the updated customer information. + +#### Customer Id `string` +
+The unique identifier of the customer to update. + +To find a customer's ID: +* In the Stripe Dashboard, go to Customers and click on the specific customer +* The ID appears in the URL as `https://dashboard.stripe.com/customers/[CUSTOMER_ID]` +* Customer IDs always start with `cus_` followed by alphanumeric characters + +*Example*: +``` +cus_1a2b3c4d5e6f +``` +
+ +#### Email Update Customer `string` +
+The updated email address for the customer. + +*Example*: +``` +updated.email@example.com +``` +
+ +#### Name `string` +
+The updated name for the customer. + +*Example*: +``` +John A. Smith +``` +
+ +#### Description `string` +
+The updated description for the customer. + +*Example*: +``` +Enterprise client - Upgraded to premium plan +``` +
+ +#### Metadata Update Customer `object` +
+Updated metadata for the customer. This will replace any existing metadata. + +*Example*: +``` +{ "plan_interest": "enterprise", "referral_source": "partner", "account_manager": "sarah" } +``` +
+ +### Create Product + +Creates a new product in your Stripe catalog. This command allows you to define product details such as name and description, and returns the created product's information including its unique ID for future reference. + +#### Product Name `string` +
+The name of the product. This appears in the Stripe Dashboard and on customer-facing documents like invoices. + +*Example*: +``` +Premium Subscription +``` +
+ +#### Description `string` +
+A description of the product. This helps you and your team identify the product's purpose and features. + +*Example*: +``` +Full access to all premium features with priority support +``` +
+ +#### Metadata Product `object` +
+A set of key-value pairs that you can attach to the product. This can be useful for storing additional information about the product in a structured format. + +*Example*: +``` +{ "category": "subscription", "internal_id": "PRO-2025", "feature_set": "complete" } +``` +
+ +### Get Product By Id + +Retrieves detailed information about a specific product using its unique Stripe product ID. This command returns comprehensive data about the product, including its name, description, and associated prices. + +#### Product Id `string` +
+The unique identifier of the product to retrieve. + +To find a product's ID: +* In the Stripe Dashboard, go to Products and click on the specific product +* The ID appears in the URL as `https://dashboard.stripe.com/products/[PRODUCT_ID]` +* The ID is also available in API responses from previous product-related operations + +Product IDs always start with `prod_` followed by alphanumeric characters. + +*Example*: +``` +prod_1a2b3c4d5e6f +``` +
+ +### Get Balance Transactions + +Retrieves a list of balance transactions from your Stripe account. This command returns transaction details including their IDs, amounts, types, and creation dates. + +#### Balance Transaction Type `string` +
+Filters transactions based on their type. This helps you find specific types of transactions. + +Common transaction types: +* `charge` - Payment from a customer +* `refund` - Refund to a customer +* `payout` - Transfer to your bank account +* `adjustment` - Manual adjustment +* `stripe_fee` - Stripe's fee +* `transfer` - Transfer between Stripe accounts + +*Example*: +``` +charge +``` +
+ +#### Pagination Parameters `object` +
+Parameters to control pagination of the transaction list. This allows fetching transactions in batches. + +The pagination parameters typically include: +* `limit`: Number of transactions to return per page (integer) +* `starting_after`: The ID of the last transaction from the previous page (string) +* `ending_before`: The ID of the first transaction from the next page (string) + +*Example for retrieving the next page after a specific transaction*: +``` +{ + "limit": 25, + "starting_after": "txn_1a2b3c4d5e6f" +} +``` + +For initial request: +``` +{ + "limit": 25 +} +``` +
+ +### Get Plans + +Retrieves a list of plans (prices) from your Stripe account. This command returns plan details including their IDs, associated products, pricing, and billing intervals. + +#### Is Plan Active `boolean` +
+Filters plans based on their active status. Set to `true` to list all active plans or `false` to list all inactive plans. + +*Example to list active plans*: +``` +true +``` + +*Example to list inactive plans*: +``` +false +``` +
+ +#### Pagination Parameters `object` +
+Parameters to control pagination of the plans list. This allows fetching plans in batches. + +The pagination parameters typically include: +* `limit`: Number of plans to return per page (integer) +* `starting_after`: The ID of the last plan from the previous page (string) +* `ending_before`: The ID of the first plan from the next page (string) + +*Example*: +``` +{ + "limit": 25, + "starting_after": "price_1a2b3c4d5e6f" +} +``` +
+ +### Get Products + +Retrieves a list of products from your Stripe catalog based on specified filters. This command returns product details including their IDs, names, descriptions, and creation dates. + +#### Created After `integer` +
+Filters products created after the provided date (Unix timestamp). This helps you find products that were added after a specific date. + +*Example for January 1, 2025*: +``` +1735689600 +``` +
+ +#### Created Before `integer` +
+Filters products created before the provided date (Unix timestamp). This helps you find products that were added before a specific date. + +*Example for December 31, 2025*: +``` +1767225600 +``` +
+ +#### Limit Get Products `integer` +
+Limits the maximum number of products to return. Defaults to 10 if left blank. + +*Example*: +``` +25 +``` +
+ +### Custom Action + +Executes a custom action against the Stripe API. This command allows for advanced operations not covered by the standard commands. + +
+This command enables you to make custom API calls to Stripe endpoints not covered by the standard commands. You can specify the endpoint, method, and parameters to access additional Stripe functionality. + +When using Custom Action, you'll need to refer to the [Stripe API documentation](https://stripe.com/docs/api) for specific endpoint details and required parameters. + +*Example for a custom query to list events*: +``` +GET /v1/events +``` + +*Example for a custom query to create a coupon*: +``` +POST /v1/coupons +{ + "percent_off": 25, + "duration": "once" +} +``` + +Custom actions require appropriate authentication and permissions for the endpoints being accessed. +
diff --git a/website/docs/connect-data/reference/zoom.md b/website/docs/connect-data/reference/zoom.md new file mode 100644 index 0000000000..3135545ce8 --- /dev/null +++ b/website/docs/connect-data/reference/zoom.md @@ -0,0 +1,604 @@ +# Zoom + +This page provides information on how to connect to Zoom. It enables users to perform actions such as creating meetings, managing registrants, accessing recordings, and updating meeting details. + +## Connect Zoom + +To connect to Zoom, you need to authenticate using OAuth 2.0. This authentication provides secure access to your Zoom account and resources. + + +## Query Zoom + +The following section provides a reference guide describing available commands and their parameters for interacting with Zoom. + +### Create Meeting + +Creates a new meeting in your Zoom account. This command allows you to define meeting details such as topic, start time, duration, and security settings, and returns the created meeting's information including its ID for future reference. + +#### Topic `string` +
+The name or subject of the meeting. This appears in the Zoom client, calendar invitations, and meeting lists. + +Choose a descriptive topic that clearly communicates the purpose of the meeting to participants. + +*Example*: +``` +Quarterly Budget Review +``` +
+ +#### Start Time `string` +
+The scheduled start time for the meeting in ISO 8601 format (UTC). This defines when the meeting will begin. + +The format should be: `YYYY-MM-DDThh:mm:ssZ` + +*Example*: +``` +2025-06-15T14:00:00Z +``` +
+ +#### Duration `integer` +
+The scheduled duration of the meeting in minutes. This helps participants plan their schedules and allows Zoom to allocate resources. + +For free Zoom accounts, meetings with 3 or more participants are limited to 40 minutes. For paid accounts, meetings can be up to 30 hours (1800 minutes). + +*Example for a 1-hour meeting*: +``` +60 +``` + +*Example for a 2-hour meeting*: +``` +120 +``` +
+ +#### Timezone `string` +
+The time zone for the meeting's start time. This ensures the meeting appears correctly in participants' calendars regardless of their location. + +Use IANA timezone format (e.g., "America/Los_Angeles", "Europe/London", "Asia/Tokyo"). + +*Example*: +``` +America/New_York +``` +
+ +#### Agenda `string` +
+A description of the meeting's purpose or agenda. This provides additional context for participants and appears in meeting details. + +Use this field to outline key discussion points, required preparation, or other relevant information. + +*Example*: +``` +Review Q2 financial performance and discuss budget allocations for Q3. Please prepare department spending reports. +``` +
+ +#### Password `string` +
+The passcode required to join the meeting. This adds a layer of security to prevent unauthorized access. + +By default, passcodes may only contain the following characters: [a-z A-Z 0-9 @ - _ *] and have a maximum of 10 characters. + +*Example*: +``` +Budget2025 +``` +
+ +#### Enable Waiting Room `boolean` +
+Determines whether the waiting room feature is enabled for the meeting. When enabled, participants join a waiting area and must be admitted by the host. + +The waiting room provides additional security by allowing the host to screen participants before they join the meeting. + +*Example to enable waiting room*: +``` +true +``` + +*Example to disable waiting room*: +``` +false +``` +
+ +#### Send Registrant Confirmation `boolean` +
+Determines whether confirmation emails are automatically sent to registrants. When enabled, participants receive an email confirmation after registering for the meeting. + +*Example to send confirmation emails*: +``` +true +``` + +*Example to disable confirmation emails*: +``` +false +``` +
+ +### Update Meeting + +Updates an existing meeting in your Zoom account. This command allows you to modify meeting details such as topic, start time, duration, and description, and returns the updated meeting information. + +#### Meeting Id `string` +
+The unique identifier of the meeting to update. + +To find a meeting ID: +* In the Zoom web portal, go to Meetings and select the meeting +* The ID appears in the meeting details and in the URL: `https://zoom.us/meeting/[MEETING_ID]` +* In meeting invitations, the ID is included in the join link +* Meeting IDs are typically 9-11 digit numbers (e.g., 123 456 7890) + +*Example*: +``` +123456789 +``` +
+ +#### Topic `string` +
+The updated name or subject of the meeting. This will replace the current meeting topic. + +*Example*: +``` +Updated: Quarterly Budget Review with Executive Team +``` +
+ +#### Start Time `string` +
+The updated scheduled start time for the meeting in ISO 8601 format (UTC). This will replace the current meeting start time. + +*Example*: +``` +2025-06-16T15:00:00Z +``` +
+ +#### Duration `integer` +
+The updated scheduled duration of the meeting in minutes. This will replace the current meeting duration. + +*Example*: +``` +90 +``` +
+ +#### Timezone `string` +
+The updated time zone for the meeting's start time. This will replace the current meeting time zone. + +*Example*: +``` +Europe/London +``` +
+ +#### Agenda `string` +
+The updated description of the meeting's purpose or agenda. This will replace the current meeting agenda. + +*Example*: +``` +Updated agenda: Review Q2 financial performance, discuss budget allocations for Q3, and plan for the annual audit. Executive team members will join for the first 30 minutes. +``` +
+ +### Get Meeting + +Retrieves a list of meetings from your Zoom account. This command returns meeting details including their IDs, topics, start times, and durations for all scheduled meetings. + +
+This command retrieves a list of meetings for the authenticated user. By default, it returns all scheduled meetings, including upcoming and recurring meetings. + +The response includes comprehensive details about each meeting, such as: +* Meeting ID +* Topic +* Start time +* Duration +* Join URL +* Creation time +* Settings (waiting room, registration, etc.) + +No parameters are required for this command, as it retrieves all meetings for the authenticated user. +
+ +### Get Meeting By Id + +Retrieves detailed information about a specific meeting using its unique Zoom meeting ID. This command returns comprehensive data about the meeting, including its settings, participants, and join URLs. + +#### Meeting Id `string` +
+The unique identifier of the meeting to retrieve. + +To find a meeting ID: +* In the Zoom web portal, go to Meetings and select the meeting +* The ID appears in the meeting details and in the URL: `https://zoom.us/meeting/[MEETING_ID]` +* In meeting invitations, the ID is included in the join link +* Meeting IDs are typically 9-11 digit numbers + +*Example*: +``` +123456789 +``` +
+ +### Delete Meeting + +Deletes a meeting from your Zoom account. This command permanently removes the specified meeting and cancels it for all participants. + +#### Meeting Id `string` +
+The unique identifier of the meeting to delete. + +To find a meeting ID: +* In the Zoom web portal, go to Meetings and select the meeting +* The ID appears in the meeting details and in the URL: `https://zoom.us/meeting/[MEETING_ID]` +* In meeting invitations, the ID is included in the join link +* Meeting IDs are typically 9-11 digit numbers + +*Example*: +``` +123456789 +``` +
+ +### Add Meeting Registrant + +Adds a registrant to a meeting that requires registration. This command allows you to register a participant for a meeting and returns registration confirmation details including a join URL and registrant ID. + +#### Meeting Id `string` +
+The unique identifier of the meeting to add registrants to. + +To find a meeting ID: +* In the Zoom web portal, go to Meetings and select the meeting +* The ID appears in the meeting details and in the URL: `https://zoom.us/meeting/[MEETING_ID]` +* In meeting invitations, the ID is included in the join link +* Meeting IDs are typically 9-11 digit numbers + +Note: The meeting must have registration enabled for this command to work. + +*Example*: +``` +123456789 +``` +
+ +#### Email `string` +
+The email address of the registrant. This is used for sending confirmation emails and identifying the registrant. + +*Example*: +``` +john.doe@example.com +``` +
+ +#### First Name `string` +
+The first name of the registrant. This appears in the meeting's participant list and registration records. + +*Example*: +``` +John +``` +
+ +#### Last Name `string` +
+The last name of the registrant. This appears in the meeting's participant list and registration records. + +*Example*: +``` +Doe +``` +
+ +#### Address `string` +
+The physical address of the registrant. This is optional and used for registration records. + +*Example*: +``` +123 Main Street +``` +
+ +#### City `string` +
+The city of the registrant. This is optional and used for registration records. + +*Example*: +``` +San Francisco +``` +
+ +#### Country `string` +
+The country of the registrant. This is optional and used for registration records. + +Use the two-letter country code (ISO 3166-1 alpha-2). + +*Example*: +``` +US +``` +
+ +#### Zip `string` +
+The ZIP or postal code of the registrant. This is optional and used for registration records. + +*Example*: +``` +94105 +``` +
+ +#### State `string` +
+The state or province of the registrant. This is optional and used for registration records. + +*Example*: +``` +CA +``` +
+ +#### Phone `string` +
+The phone number of the registrant. This is optional and used for registration records. + +*Example*: +``` ++14155551234 +``` +
+ +#### Organization `string` +
+The organization or company of the registrant. This is optional and used for registration records. + +*Example*: +``` +Acme Corporation +``` +
+ +#### Job Title `string` +
+The job title of the registrant. This is optional and used for registration records. + +*Example*: +``` +Product Manager +``` +
+ +### Get Meeting Registrant + +Retrieves a list of registrants for a specific meeting. This command returns registrant details including their IDs, names, email addresses, and registration status. + +#### Meeting Id `string` +
+The unique identifier of the meeting whose registrants you want to retrieve. + +To find a meeting ID: +* In the Zoom web portal, go to Meetings and select the meeting +* The ID appears in the meeting details and in the URL: `https://zoom.us/meeting/[MEETING_ID]` +* In meeting invitations, the ID is included in the join link +* Meeting IDs are typically 9-11 digit numbers + +Note: The meeting must have registration enabled for this command to work. + +*Example*: +``` +123456789 +``` +
+ +#### Registrant Status `string` +
+Filters registrants based on their status. This helps you find registrants in a specific state. + +Valid status values: +* `pending` - Registrants who have registered but not been approved +* `approved` - Registrants who have been approved +* `denied` - Registrants who have been denied + +*Example to get approved registrants*: +``` +approved +``` +
+ +### Delete Meeting Registrant + +Removes a registrant from a meeting. This command cancels the registration for the specified participant. + +#### Meeting Id `string` +
+The unique identifier of the meeting from which to delete a registrant. + +To find a meeting ID: +* In the Zoom web portal, go to Meetings and select the meeting +* The ID appears in the meeting details and in the URL: `https://zoom.us/meeting/[MEETING_ID]` +* In meeting invitations, the ID is included in the join link +* Meeting IDs are typically 9-11 digit numbers + +*Example*: +``` +123456789 +``` +
+ +#### Registrant Id `string` +
+The unique identifier of the registrant to delete. + +To find a registrant ID: +* Use the "Get Meeting Registrant" command to list all registrants +* The registrant ID is included in the response as `id` +* Registrant IDs are alphanumeric strings (e.g., `abcdef123456`) + +*Example*: +``` +abcdef123456 +``` +
+ +### Get Recording By Meeting Id + +Retrieves recording information for a specific meeting. This command returns details about all recordings associated with the meeting, including download URLs, recording types, and file sizes. + +#### Meeting Id `string` +
+The unique identifier of the meeting whose recordings you want to retrieve. + +To find a meeting ID: +* In the Zoom web portal, go to Recordings and select the recording +* The ID appears in the recording details and in the URL +* In past meeting information, the ID is associated with the meeting +* Meeting IDs are typically 9-11 digit numbers + +Note: Recordings are only available for meetings that have ended and had recording enabled. + +*Example*: +``` +123456789 +``` +
+ +#### Include Token `boolean` +
+Determines whether to include the access token in download URLs. When set to true, all download_url properties will include the user's access token, making the URLs directly accessible without additional authentication. + +This is useful when sharing recording links with systems that cannot handle authentication separately. + +*Example to include token*: +``` +true +``` + +*Example to exclude token*: +``` +false +``` +
+ +### Search Recording + +Searches for recordings based on specified criteria. This command returns recording details for all recordings matching the search parameters. + +#### Search From `string` +
+The start date for the search range in 'yyyy-mm-dd' UTC format. This filters recordings created on or after this date. + +*Example*: +``` +2025-01-01 +``` +
+ +#### Search Upto `string` +
+The end date for the search range in 'yyyy-mm-dd' UTC format. This filters recordings created on or before this date. + +*Example*: +``` +2025-01-31 +``` +
+ +#### Meeting Id `string` +
+The unique identifier of a specific meeting whose recordings you want to retrieve. This allows you to search for recordings from a particular meeting. + +Meeting IDs are typically 9-11 digit numbers. + +*Example*: +``` +123456789 +``` +
+ +#### Trash `boolean` +
+Determines whether to search for recordings in the trash. When set to true, the command retrieves recordings that have been moved to trash but not permanently deleted. + +Use this parameter in combination with Trash Type to specify the type of deleted recordings to retrieve. + +*Example to search trash*: +``` +true +``` + +*Example to search active recordings*: +``` +false +``` +
+ +#### Trash Type `string` +
+The type of cloud recording to retrieve from the trash. This parameter is only used when Trash is set to true. + +Valid values: +* `meeting_recordings` - Recordings from regular meetings +* `recording_file` - Individual recording files + +*Example*: +``` +meeting_recordings +``` +
+ +#### Include Token `boolean` +
+Determines whether to include the access token in download URLs. When set to true, all download_url properties will include the user's access token. + +*Example*: +``` +true +``` +
+ +### Custom Action + +Executes a custom action against the Zoom API. This command allows for advanced operations not covered by the standard commands. + +
+This command enables you to make custom API calls to Zoom endpoints not covered by the standard commands. You can specify the endpoint, method, and parameters to access additional Zoom functionality. + +When using Custom Action, you'll need to refer to the [Zoom API documentation](https://marketplace.zoom.us/docs/api-reference/zoom-api) for specific endpoint details and required parameters. + +*Example for a custom query to get user information*: +``` +GET /users/{userId} +``` + +*Example for a custom query to create a webinar*: +``` +POST /users/{userId}/webinars +{ + "topic": "Quarterly Product Update", + "type": 5, + "start_time": "2025-06-15T14:00:00Z", + "duration": 60 +} +``` + +Custom actions require appropriate authentication and permissions for the endpoints being accessed. +
diff --git a/website/sidebars.js b/website/sidebars.js index 03bc34f97a..64796963d8 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -322,15 +322,21 @@ const sidebars = { items: [ 'connect-data/reference/asana', 'connect-data/reference/aws-lambda', + 'connect-data/reference/confluence', 'connect-data/reference/google-docs', 'connect-data/reference/querying-google-sheets', + //'connect-data/reference/google-calendar', + 'connect-data/reference/google-drive', + 'connect-data/reference/github', 'connect-data/reference/hubspot', 'connect-data/reference/jira', 'connect-data/reference/notion', 'connect-data/reference/salesforce', 'connect-data/reference/slack', + 'connect-data/reference/stripe', 'connect-data/reference/twilio', 'connect-data/reference/zendesk', + //'connect-data/reference/zoom', ], }, //category- AI Integrations