diff --git a/content/docs/meta.json b/content/docs/meta.json index 4b6dee49..c27e65a0 100644 --- a/content/docs/meta.json +++ b/content/docs/meta.json @@ -13,6 +13,7 @@ "integrations", "data-sources", "noco-ai", + "noco-sync", "extensions", "dashboards", "mcp", diff --git a/content/docs/noco-sync/index.mdx b/content/docs/noco-sync/index.mdx new file mode 100644 index 00000000..f238b377 --- /dev/null +++ b/content/docs/noco-sync/index.mdx @@ -0,0 +1,136 @@ +--- +title: 'NocoSync ☁' +description: 'Bring external data into NocoDB effortlessly with automated syncs from tools your teams already use.' +tags: ['NocoSync', 'Overview'] +icon: "code" +keywords: ['NocoSync overview', 'NocoDB data sync', 'no-code data integration', 'NocoDB external data'] +--- + +Available on NocoDB Cloud Business plan onwards and Self-Hosted Enterprise Edition. + +![NocoSync Banner](/img/v2/noco-sync/sync-banner.png) + +**NocoSync** is a built-in integration layer in NocoDB that allows you to bring data from external systems directly into your workspace. It keeps your NocoDB tables continuously updated by syncing records from third-party platforms, eliminating the need for manual imports or custom scripts. + +Current release introduces support for the **Ticketing** category, enabling you to connect with platforms such as **GitHub, GitLab, Bitbucket, Zendesk, Linear, Freshdesk, and Chatwoot**. Once connected, NocoSync pulls tickets, issues, conversations and related metadata into NocoDB, allowing teams to centralize reporting, automate workflows, and unlock insights across tools. + +Additional sync categories—such as **CRM** (Customer Relationship Management), **HRIS** (Human Resources Information System, Accounting), **Accounting**, **ATS** (Application Tracking System) and **File Storage**—will be added in future releases, expanding the types of systems you can bring into NocoDB. + +NocoSync runs on a simple setup, supports scheduled syncs, and ensures high reliability, so your workspace always reflects the most recent data from your external sources. It is designed to be flexible, scalable, and accessible to both technical and non-technical users. + +--- + +## How Sync Works + +NocoSync is designed around **predefined schemas** for each category, such as Ticketing, ensuring a consistent structure across all supported sources. When a sync is configured, NocoSync automatically creates multiple tables (such as _Ticket_, _User_, _Comment_, and _Team_ in case of Ticketing). All required relationships between these tables are generated automatically, mirroring the hierarchy and linkages of the connected source system. + +Sync table fields created by NocoSync are **read-only**, as the sync operates strictly one-way—from the source system into NocoDB. Fields that originate from the external source are marked with a flash icon (⚡) and cannot be removed, and sync tables themselves cannot be deleted. While schemas for each sync category are predefined, the actual fields available may vary by source. Different platforms use different naming conventions or may not expose all fields. NocoSync intelligently maps available fields from the source to the predefined schema to maintain consistency. + +Users can extend sync tables by adding their own **custom fields** as needed. Beyond the read-only limitations on synced fields, sync tables behave like regular NocoDB tables. They can be shared with collaborators, used in views, and linked to other tables. + +Currently, each sync category supports one external source at a time. When multi-source support is introduced, NocoDB will act as a **Unified API** layer across all connected systems, allowing you to query, analyze, and build on top of data coming from multiple platforms through a single, consistent interface. This will significantly simplify integrations and expand the power of NocoSync across complex environments. + +Standard operations on Sync fields such as filtering, sorting, grouping, and searching are fully supported. You can create views, dashboards, and reports using synced data just like with any other NocoDB table. + +--- + +## Sync Types + +NocoSync provides two sync modes to **manage how data is fetched** from external platforms. These modes help you balance performance, accuracy, and API usage based on your operational needs. + +### **Incremental Sync** + +Incremental sync fetches only the records that have been created or updated since the last successful sync. This ensures faster sync cycles, minimal load on the external source, and reduced API consumption—making it the recommended option for routine, scheduled syncs. Incremental sync works by tracking timestamps or version markers provided by the source system. + +### **Full Sync** + +Full sync re-imports the entire dataset from the external source during each run. This mode is helpful in scenarios where historical data needs correction, or the source system does not reliably provide incremental change information. While full sync ensures complete data accuracy, it requires more time and can be resource-intensive—especially for large datasets. It is best used occasionally or in combination with incremental sync. + + +## Sync Trigger + +NocoSync allows you to control when data synchronization should occur through two trigger modes: **manual** and **scheduled**. + +### **Manual Sync** + +Manual sync lets you trigger the synchronization process on demand. This option is useful when you want immediate updates—such as after making configuration changes, testing a new integration, or verifying data after modifying fields or relationships. Manual sync gives you full control without waiting for the next scheduled run. + +### **Scheduled Sync** + +Scheduled sync automates data updates at regular intervals, ensuring your NocoDB tables stay current without manual intervention. Scheduled sync currently supports two frequencies: + +* **Hourly** – Runs once every hour, suitable for active systems where data changes frequently. +* **Daily** – Runs once every 24 hours, ideal for less dynamic datasets or reporting-focused use cases. + +--- + +## Source Record Delete Handling + +NocoSync provides control over how record deletions from the external source are reflected inside NocoDB. This setting helps you decide whether to maintain records for historical visibility or keep your tables strictly aligned with the source system. + +### **Ignore** + +When set to *Ignore*, NocoDB **retains the record** even if it is deleted at the source. Instead of removing it, NocoSync marks the record to indicate that it has been deleted in the external system. This mode is useful when you want to preserve full history, maintain reporting continuity, or avoid breaking dependencies with linked records. + +### **Delete** + +When set to *Delete*, NocoDB removes records in sync tables when they are deleted at the source. This option keeps your NocoDB tables fully synchronized and consistent with the external platform. + +--- + +## Add new Sync + +To add a new NocoSync integration to your base, follow these steps: +1. Open `Sync` tab from base overview page. +2. Click on the `+ New Sync` button. +![New Sync](/img/v2/noco-sync/new-sync-button.png) +3. Sync **Setup** : General configurations + - Sync name: Provide a name for your sync integration. + - [Sync type](/docs/product-docs/noco-sync#sync-types): Choose between **Incremental** or **Full** sync modes. + - [Sync trigger](/docs/product-docs/noco-sync#sync-trigger): Select either **Manual** or **Scheduled** sync. If scheduled, choose the desired frequency. + - [On delete](/docs/product-docs/noco-sync#source-record-delete-handling): Choose between **Ignore** or **Delete** to define how deletions from the source are managed. +4. Sync **Setup** : Category & Sync scope + - Select the **Ticketing** category. + - Choose to sync **All Tables** or **Select Tables** from the predefined schema. For Ticketing, essential tables like Ticket and User are always included. +5. Click on the `Next` button. +![Sync Setup](/img/v2/noco-sync/sync-setup.png) +6. Sync **Source** + - Select the external platform you want to connect with. + - Optionally, provide a suitable name for the integration. + - Authenticate and authorize NocoDB to access your data on the selected platform. This involves creating a new connection or selecting an existing one for the integration source. Generate API tokens or OAuth credentials as required by the platform. + - Additional configuration options may appear based on the selected source, such as specifying repositories for Git-based platforms or selecting specific projects for ticketing systems. +7. Click on the `Next` button. +![Sync Source](/img/v2/noco-sync/sync-sources.png) +8. Sync **Review** + - Review all configurations made in the previous steps. + - If everything looks good, click on the `Create Sync` button to finalize the setup. +![Sync Review](/img/v2/noco-sync/sync-review.png) +9. Logs appear displaying progress of the initial sync. Once complete, the sync tables will be available in your base. +![Sync Logs](/img/v2/noco-sync/sync-logs.png) +![Sync Table](/img/v2/noco-sync/sync-table.png) + +The initial sync may take some time depending on the volume of data being imported. Subsequent syncs will be faster, especially when using incremental mode. + +Currently, NocoSync supports adding one sync integration per category in a base. Multi-source support will be introduced in future releases. + +--- + +## Edit Sync + +To edit an existing NocoSync integration, open sync tab from base overview page and follow these steps: +1. Click on the sync you want to edit. +2. Modify the desired configurations in the sync setup or sync source steps. Note that, some fields like Sync category & Sync scope cannot be changed after creation. +3. Click on the `Update Sync` button to apply the changes. + +## Delete Sync +To delete an existing NocoSync integration, open sync tab from base overview page and follow these steps: +1. Click on `Actions` button corresponding to the sync you want to delete. +2. Select `Delete Sync` from the dropdown menu. +3. Confirm the deletion in the prompt. This will remove the sync integration and all associated sync tables from your base. + +![Delete Sync](/img/v2/noco-sync/sync-delete-1.png) +![Delete Sync](/img/v2/noco-sync/sync-delete-2.png) + +Deleting a sync integration is irreversible and will permanently remove all associated sync tables and data from your base. Ensure you have backed up any important information before proceeding. + +--- diff --git a/content/docs/noco-sync/meta.json b/content/docs/noco-sync/meta.json new file mode 100644 index 00000000..dee9672a --- /dev/null +++ b/content/docs/noco-sync/meta.json @@ -0,0 +1,7 @@ +{ + "title": "NocoSync", + "pages": [ + "ticketing", + "on-premise-oauth" + ] +} diff --git a/content/docs/noco-sync/on-premise-oauth/bitbucket.mdx b/content/docs/noco-sync/on-premise-oauth/bitbucket.mdx new file mode 100644 index 00000000..694194a0 --- /dev/null +++ b/content/docs/noco-sync/on-premise-oauth/bitbucket.mdx @@ -0,0 +1,84 @@ +--- +title: "Bitbucket" +description: "Instructions for setting up Bitbucket authentication integration for NocoDB" +tags: ["Bitbucket", "OAuth2", "Integration"] +keywords: ["Bitbucket OAuth2 setup", "NocoDB Bitbucket integration", "Bitbucket authentication"] +--- + +This page is intended for on-premise enterprise NocoDB installations. + +This document provides instructions for setting up the Bitbucket authentication integration for NocoDB. + +## Environment Variables + +To enable OAuth2 authentication with Bitbucket, you need to configure the following environment variables. + +--- + +## Step 1: Create a Bitbucket OAuth Consumer + +1. Log in to your Bitbucket account +2. Navigate to Bitbucket Administration **Workspace settings → OAuth consumers** +* (Bitbucket → left sidebar → click your workspace → **Workspace settings** → **OAuth consumers**) +3. Click on **“Add consumer”** +4. Fill out the form: + +* **Name**: Your application name (e.g., "NocoDB") +* **Description**: Brief description of your application +* **Callback URL**: +`https://your-nocodb-instance.com/` +* **Permissions**: Enable: + +* **Repositories**: Read & Write +* **Pull requests**: Read & Write +* **Issues**: Read & Write +* **Account**: Read +5. Click **Save** + +--- + +## Step 2: Get Client ID and Client Secret + +After creating your OAuth consumer: + +1. Bitbucket will display: + +* **Key** → Client ID +* **Secret** → Client Secret +2. Copy both values (the Secret is shown **only once**) +3. Store them safely for configuration + +--- + +## Step 3: Set Environment Variables + +Configure your NocoDB instance with: + +``` +INTEGRATION_AUTH_BITBUCKET_CLIENT_ID=your_bitbucket_client_id +INTEGRATION_AUTH_BITBUCKET_CLIENT_SECRET=your_bitbucket_client_secret +INTEGRATION_AUTH_BITBUCKET_REDIRECT_URI=your_redirect_uri +``` + +Where: + +* `your_bitbucket_client_id` → The **Key (Client ID)** from Bitbucket +* `your_bitbucket_client_secret` → The **Secret (Client Secret)** +* `your_redirect_uri` → The callback URL used in the OAuth consumer +(e.g., `https://your-nocodb-instance.com/`) + +--- + +## OAuth Scopes Requested + +The integration will request these Bitbucket scopes: + +* `repository` +* `repository:write` +* `pullrequest` +* `pullrequest:write` +* `issue` +* `issue:write` +* `account` + +These permissions allow NocoDB to read/write repositories, issues, and pull requests as needed. \ No newline at end of file diff --git a/content/docs/noco-sync/on-premise-oauth/github.mdx b/content/docs/noco-sync/on-premise-oauth/github.mdx new file mode 100644 index 00000000..72caaece --- /dev/null +++ b/content/docs/noco-sync/on-premise-oauth/github.mdx @@ -0,0 +1,59 @@ +--- +title: "GitHub" +description: "Instructions for setting up GitHub authentication integration for NocoDB" +tags: ["GitHub", "OAuth2", "Integration"] +keywords: ["GitHub OAuth2 setup", "NocoDB GitHub integration", "GitHub authentication"] +--- + +This page is intended for on-premise enterprise NocoDB installations. + +This document provides instructions for setting up the GitHub authentication integration for NocoDB. + +## Environment Variables + +To enable OAuth2 authentication with GitHub, you need to set up the following environment variables: + +### Step 1: Create a GitHub OAuth App + +1. Log in to your GitHub account +2. Navigate to Settings > Developer settings > OAuth Apps +3. Click on "New OAuth App" +4. Fill out the form: + +- **Application name**: Your application name (e.g., "NocoDB") +- **Homepage URL**: Your application's homepage URL +- **Application description**: (Optional) Brief description of your app +- **Authorization callback URL**: The URL where GitHub will redirect users after authorization (e.g., `https://your-nocodb-instance.com/`) +- **Icon**: (Optional) Upload an icon for your application + +5. Click "Register application" + +### Step 2: Get Client ID and Client Secret + +After registering your OAuth App, you'll be provided with: + +- Client ID +- Client Secret (click "Generate a new client secret" to create one) + +### Step 3: Set Environment Variables + +Configure your NocoDB instance with the following environment variables: + +``` +INTEGRATION_AUTH_GITHUB_CLIENT_ID=your_github_client_id +INTEGRATION_AUTH_GITHUB_CLIENT_SECRET=your_github_client_secret +INTEGRATION_AUTH_GITHUB_REDIRECT_URI=your_redirect_uri +``` + +Where: + +- `your_github_client_id`: The Client ID from your GitHub OAuth App +- `your_github_client_secret`: The Client Secret from your GitHub OAuth App +- `your_redirect_uri`: The callback URL you specified when creating the OAuth App (e.g., `https://your-nocodb-instance.com/api/v1/integrations/auth/github/callback`) + +## OAuth Scopes + +This integration requests the following GitHub scopes: + +- `read:user`: Read-only access to user profile data +- `repo`: Full control of repositories \ No newline at end of file diff --git a/content/docs/noco-sync/on-premise-oauth/gitlab.mdx b/content/docs/noco-sync/on-premise-oauth/gitlab.mdx new file mode 100644 index 00000000..b2b4dfe9 --- /dev/null +++ b/content/docs/noco-sync/on-premise-oauth/gitlab.mdx @@ -0,0 +1,53 @@ +--- +title: "GitLab" +description: "Instructions for setting up GitLab authentication integration for NocoDB" +tags: ["GitLab", "OAuth2", "Integration"] +keywords: ["GitLab OAuth2 setup", "NocoDB GitLab integration", "GitLab authentication"] +--- + +This page is intended for on-premise enterprise NocoDB installations. + +This document provides instructions for setting up the GitLab authentication integration for NocoDB. + +## Environment Variables + +To enable OAuth2 authentication with GitLab, you need to set up the following environment variables: + +### Step 1: Create a GitLab OAuth Application + +1. Log in to your GitLab account +2. Navigate to User Settings > Applications (or for organization-wide application, go to your Group settings > Applications) +3. Fill out the form: +- **Name**: Your application name (e.g., "NocoDB") +- **Redirect URI**: The URL where GitLab will redirect users after authorization (e.g., `https://your-nocodb-instance.com/`) +- **Scopes**: Select the following scopes: +- `api` (API access) +- `read_user` (Read user information) +4. Click "Save application" + +### Step 2: Get Application ID and Secret + +After creating your OAuth App, you'll be provided with: +- Application ID (Client ID) +- Secret (Client Secret) + +### Step 3: Set Environment Variables + +Configure your NocoDB instance with the following environment variables: + +``` +INTEGRATION_AUTH_GITLAB_CLIENT_ID=your_gitlab_client_id +INTEGRATION_AUTH_GITLAB_CLIENT_SECRET=your_gitlab_client_secret +INTEGRATION_AUTH_GITLAB_REDIRECT_URI=your_redirect_uri +``` + +Where: +- `your_gitlab_client_id`: The Application ID from your GitLab OAuth App +- `your_gitlab_client_secret`: The Secret from your GitLab OAuth App +- `your_redirect_uri`: The callback URL you specified when creating the OAuth App (e.g., `https://your-nocodb-instance.com/`) + +## OAuth Scopes + +This integration requests the following GitLab scopes: +- `api`: Access to the GitLab API +- `read_user`: Read-only access to user profile data \ No newline at end of file diff --git a/content/docs/noco-sync/on-premise-oauth/linear.mdx b/content/docs/noco-sync/on-premise-oauth/linear.mdx new file mode 100644 index 00000000..12be6423 --- /dev/null +++ b/content/docs/noco-sync/on-premise-oauth/linear.mdx @@ -0,0 +1,70 @@ +--- +title: "Linear" +description: "Instructions for setting up Linear authentication integration for NocoDB" +tags: ["Linear", "OAuth2", "Integration"] +keywords: ["Linear OAuth2 setup", "NocoDB Linear integration", "Linear authentication"] +--- + +This page is intended for on-premise enterprise NocoDB installations. + +This document provides instructions for setting up the Linear authentication integration for NocoDB. + +## Environment Variables + +To enable OAuth2 authentication with Linear, you need to set up the following environment variables: + +### Step 1: Create a Linear OAuth App + +1. Log in to your Linear account +2. Navigate to Settings > API > OAuth applications (or go directly to https://linear.app/settings/api/applications) +3. Click on "New OAuth application" +4. Fill out the form: +- **Application Name**: Your application name (e.g., "NocoDB") +- **Developer Name**: The person or company developing this application (e.g., "NocoDB") +- **Developer URL**: Homepage or documentation for your application (e.g., "https://nocodb.com/") +- **Description**: Brief description of your application +- **Callback URIs**: The URL where Linear will redirect users after authorization (e.g., `https://your-nocodb-instance.com/`) +- **Enable “Public”**: Turn ON to allow all Linear workspaces to authorize +- **Icon**: (Optional) Upload an icon for your application +5. Click "Create" + +### Step 2: Get Client ID and Client Secret + +After creating your OAuth application: +1. You'll be shown the Client ID and Client Secret +2. Copy these values as they will be needed for configuration + +### Step 3: Set Environment Variables + +Configure your NocoDB instance with the following environment variables: + +``` +INTEGRATION_AUTH_LINEAR_CLIENT_ID=your_linear_client_id +INTEGRATION_AUTH_LINEAR_CLIENT_SECRET=your_linear_client_secret +INTEGRATION_AUTH_LINEAR_REDIRECT_URI=your_redirect_uri +``` + +Where: +- `your_linear_client_id`: The Client ID from your Linear OAuth App +- `your_linear_client_secret`: The Client Secret from your Linear OAuth App +- `your_redirect_uri`: The redirect URI you specified when creating the OAuth App (e.g., `https://your-nocodb-instance.com/api/v1/integrations/auth/linear/callback`) + +## API Key Authentication + +If you're using API Key authentication instead of OAuth: + +1. Log in to your Linear account +2. Navigate to Settings > API > Personal API keys (or go directly to https://linear.app/settings/api) +3. Under "Personal API keys", enter a name for your key +4. Click "Create key" +5. Copy the generated API key (you won't be able to see it again) + +You'll need to provide this API key when configuring the integration with the API Key authentication method. + +## OAuth Scopes + +This integration requests the following Linear scopes: +- `read`: Read access to workspace data +- `write`: Write access to workspace data + +These scopes allow the integration to read and modify issues, projects, and other data in your Linear workspace. \ No newline at end of file diff --git a/content/docs/noco-sync/on-premise-oauth/meta.json b/content/docs/noco-sync/on-premise-oauth/meta.json new file mode 100644 index 00000000..0a864a42 --- /dev/null +++ b/content/docs/noco-sync/on-premise-oauth/meta.json @@ -0,0 +1,9 @@ +{ + "title": "On Premise Auth Integration", + "pages": [ + "bitbucket", + "github", + "gitlab", + "linear" + ] +} diff --git a/content/docs/noco-sync/ticketing.mdx b/content/docs/noco-sync/ticketing.mdx new file mode 100644 index 00000000..25d0324e --- /dev/null +++ b/content/docs/noco-sync/ticketing.mdx @@ -0,0 +1,278 @@ +--- +title: 'Ticketing' +description: 'Bring ticketing data from popular platforms into NocoDB with automated syncs.' +tags: ['NocoSync', 'Ticketing'] +keywords: ['NocoSync ticketing', 'Ticketing data sync', 'NocoDB ticket integration', 'Automated ticket sync'] +--- + +Available on NocoDB Cloud Business plan onwards and Self-Hosted Enterprise Edition. + +Ticketing Sync enables you to import issues, tickets, comments, users, and team information from external platforms. It follows a predefined schema that standardizes ticketing data across systems, ensuring consistency even when naming conventions or field availability differ between sources. + +Current supported sources include: + +* GitHub +* GitLab +* Zendesk +* Linear +* Freshdesk +* Bitbucket +* Chatwoot + + +You may choose to sync **all tables** in the Ticketing schema or **only specific tables**. Syncing all tables provides full context and complete relationships, while syncing selected tables helps reduce sync time and resource usage based on your workflow needs. + +--- + +## Available Tables + +Each table is mapped to a well-defined set of fields to maintain a unified structure. NocoSync also includes relational fields that connect these tables as required. Ticket and User tables are essential and always included, while Comment and Team tables are optional. + +### **Ticket** + +Represents a ticket, issue, case, or task from the source platform. +**Key fields include:** + +* **Description** – Summary or full content of the ticket. +* **Ticket Number** – Unique identifier from the source system. +* **Due Date** – Target completion date. +* **Priority** – Indicates urgency such as Low, Medium, High, or platform-specific values. +* **Status** – Current stage (Open, In Progress, Closed, etc.). +* **Tags** – Labels or metadata applied to the ticket. +* **Ticket Type** – Category such as Bug, Feature, Task, Case, etc. +* **URL** – Direct link to the ticket in the source app. +* **Is Active?** – Indicates whether the ticket is currently active. +* **Completed At** – Timestamp when the ticket was closed or resolved. + +This table includes links to **Users**, **Teams**, and **Comments**, depending on the structure available in the connected source. + + +### **User** + +Represents individuals associated with the ticketing system—such as creators, reporters, agents, assignees, or contributors. +**Key fields include:** + +* **Email** – Email associated with the user. +* **URL** – Profile link to the user in the external system. + +Users are linked to **Tickets** and **Comments** where applicable. + + +### **Comment** + +Stores discussion entries, updates, or notes related to Tickets. +**Key fields include:** + +* **Body** – Full comment text. +* **URL** – Link to the comment in the source system. + +Comments are relationally connected to both **Tickets** and **Users**. + + +### **Team** + +Represents groups, departments, or squads defined in the external platform. +**Key fields include:** + +* **Description** – Summary or name of the team. +* **Members** – Users associated with the team. + +Teams may be associated with **Tickets** or **Users**, depending on source capabilities. + +--- + + +## Metadata Fields + +Each synced table in the Ticketing category includes a set of metadata fields that track the lifecycle, state, and origin of every record. These fields provide transparency into how data flows from the external source into NocoDB and play an essential role in traceability, debugging, and audit requirements. + +These metadata fields are automatically managed by NocoSync and are read-only. + + +* **RemoteID** +Unique identifier of the record in the external source system. + +* **RemoteCreatedAt** +Timestamp of when the record was originally created in the source. + +* **RemoteUpdatedAt** +Timestamp of the most recent update made in the source. + +* **RemoteDeleted** +Indicates whether the record has been deleted in the source platform. +This is used especially when the delete behaviour is set to **Ignore**. + +* **RemoteDeletedTime** +Timestamp of when the record was deleted in the source, if applicable. + +* **RemoteRaw** +Stores the raw payload received from the provider for that record. +Useful for troubleshooting, verification, or advanced integrations. + +* **RemoteNamespace** +Identifies the origin project, workspace, or repository depending on the provider. +This is valuable for multi-project setups in GitHub, GitLab, Bitbucket, Zendesk groups, etc. + +* **RemoteSynchedAt** +Last timestamp when NocoDB synced this specific record. + +* **SyncConfigID** +Internal reference to the sync configuration used for this record. + +* **SyncRunID** +Identifies the specific sync execution run that last updated this record. + +* **SyncProvider** +Indicates which external service (GitHub, GitLab, Zendesk, etc.) the record originated from. + +--- + +## Source Specific Details + +Each supported ticketing platform has unique characteristics and field mappings. Below are some source-specific details to consider when configuring your Ticketing sync. + +### GitHub + +GitHub integration lets you bring issues, pull requests, and related project activity directly into your NocoDB workspace. Connect your GitHub account, pick the repositories you want to track, and NocoSync keeps your tables updated with the latest data. + +After selecting GitHub as the sync source, you can: + +* **Connect using an existing GitHub integration** +Authenticate once and reuse the connection across multiple syncs. Both OAuth and Personal Access Token methods are supported. + +* **Choose one or more repositories** +Pull data from any repo you manage or collaborate on. You can select multiple repositories to consolidate issues and PRs in a single NocoDB base. + +* **Include closed issues (optional)** +Sync both open and closed issues to maintain a complete project history. Closed issues are marked accordingly in the Ticket table. + +* **Sync pull requests (optional)** +Bring in PRs alongside issues to track code reviews, merges, and engineering workflows. PRs are represented as tickets with a distinct type. + +![GitHub Ticketing Sync Configuration](/img/v2/noco-sync/github-ticketing-sync-config.png) + +--- + +### GitLab + +GitLab integration lets you sync project activity—issues, merge requests, comments, and more—directly into your NocoDB workspace. + +After selecting GitLab as your sync source, you can: + +* **Connect using an existing GitLab integration** +Authenticate once and reuse the connection across multiple projects and syncs. Alternatively, you can set up a new connection using OAuth or Personal Access Token methods. + +* **Provide a GitLab Project ID** +Point the sync to any GitLab project you manage or contribute to. NocoDB validates and fetches data from that project automatically. + +[Find the Project ID](https://docs.gitlab.com/user/project/working_with_projects/#find-the-project-id) + +![project ID](/img/v2/noco-sync/gitlab-retrieve-project-id.png) + + +* **Include closed issues (optional)** +Sync both open and closed issues to maintain a complete historical record of progress, decisions, and resolutions. + +* **Include merge requests (optional)** +Pull in merge requests alongside issues to track reviews, approvals, and code changes within your workspace. + +![GitLab Ticketing Sync Configuration](/img/v2/noco-sync/gitlab-ticketing-sync-config.png) + +--- + +### Zendesk + +Zendesk integration brings your support operations into NocoDB, enabling teams to analyze tickets, measure response trends, and connect customer support data with internal workflows. With NocoSync, your Zendesk tickets stay continuously updated in a structured, queryable format. + +Once you select Zendesk as your sync source, you can: + +* **Connect using an existing Zendesk integration** +Authenticate once and reuse the connection for multiple sync configurations. + +* **Define your integration name** +Label the sync clearly for your workspace, especially when managing multiple Zendesk accounts or environments. + +* **Include closed tickets (optional)** +Sync both open and closed tickets to maintain a complete historical view of customer conversations, resolutions, and team performance. + +Zendesk as a source helps centralize customer support insights—making it easier to audit ticket history, build dashboards, correlate support patterns with product issues, and drive proactive decision-making across teams. + +![Zendesk Ticketing Sync Configuration](/img/v2/noco-sync/zendesk-ticketing-sync-config.png) + +--- + +### Linear + +Linear sync brings your product, engineering, and project workflows directly into NocoDB—making it easy to analyze issues, track delivery patterns, and build custom reporting on top of your Linear data. + +When setting up a Linear sync, you can: + +* **Select your Linear connection** +Authenticate once and reuse the connection across different sync configurations. + +* **Specify a team key** +Provide the Linear team identifier (e.g., *ENG*) to pull issues from a specific team. This helps maintain clear separation of data when working across multiple teams or departments. To find your team key, go to Linear → Settings → Teams → select your team → copy the Team Identifier (e.g., ENG). + +* **Configure issue inclusion options** + + * **Include canceled issues** +Sync canceled issues to maintain a complete historical timeline of project changes and prioritization decisions. + * **Include completed issues** +Sync completed issues for richer analytics on delivery timelines, resolutions, and sprint outcomes. + +Linear as a source helps centralize product and engineering operations—allowing teams to correlate progress with other tools, audit issue lifecycle data, and build custom dashboards that reflect true project execution. + +![Linear Ticketing Sync Configuration](/img/v2/noco-sync/linear-ticketing-sync-config.png) + +--- + +### Freshdesk +Freshdesk integration allows you to sync your customer support tickets, agents, and conversations directly into NocoDB. This enables your team to analyze support trends, measure performance, and connect customer data with internal workflows. + +When configuring a Freshdesk sync, you can: + +* **Connect using an existing Freshdesk integration** +Authenticate once and reuse the connection for multiple sync configurations. You can also set up a new connection using your Freshdesk domain and API key. + +* **Include closed tickets (optional)** +Sync both open and closed tickets to maintain a complete historical view of customer interactions and resolutions. + +![Freshdesk Ticketing Sync Configuration](/img/v2/noco-sync/freshdesk-ticketing-sync-config.png) + +--- + +### Bitbucket +Bitbucket integration enables you to sync issues, pull requests, and related project activity directly into your NocoDB workspace. This allows your team to track development progress, analyze issue trends, and build custom reports. + +When setting up a Bitbucket sync, you can: + +* **Connect using an existing Bitbucket integration** +Authenticate once and reuse the connection across multiple syncs. Both OAuth and App Password methods are supported. + +* **Choose one or more repositories** +Pull data from any repository you manage or collaborate on. You can select multiple repositories to consolidate issues and pull requests in a single NocoDB base. + +* **Include closed issues (optional)** +Sync both open and closed issues to maintain a complete project history. Closed issues are marked accordingly in the Ticket table. + +* **Sync pull requests (optional)** +Bring in pull requests alongside issues to track code reviews, merges, and engineering workflows. Pull requests are represented as tickets with a distinct type. + +![Bitbucket Ticketing Sync Configuration](/img/v2/noco-sync/bitbucket-ticketing-sync-config.png) + +--- + +### Chatwoot +Chatwoot integration allows you to sync conversations, messages, users, and teams directly into NocoDB. This enables your team to analyze customer interactions, measure response trends, and connect communication data with internal workflows. + +When configuring a Chatwoot sync, you can: + +* **Connect using an existing Chatwoot integration** +Authenticate once and reuse the connection for multiple sync configurations. You can also set up a new connection using your Chatwoot instance URL and API key. + +* **Include resolved conversations (optional)** +Sync both open and resolved conversations to maintain a complete historical view of customer interactions and resolutions. + +![Chatwoot Ticketing Sync Configuration](/img/v2/noco-sync/chatwoot-ticketing-sync-config.png) + +--- diff --git a/public/img/v2/noco-sync/bitbucket-ticketing-sync-config.png b/public/img/v2/noco-sync/bitbucket-ticketing-sync-config.png new file mode 100644 index 00000000..756fe6ce Binary files /dev/null and b/public/img/v2/noco-sync/bitbucket-ticketing-sync-config.png differ diff --git a/public/img/v2/noco-sync/chatwoot-ticketing-sync-config.png b/public/img/v2/noco-sync/chatwoot-ticketing-sync-config.png new file mode 100644 index 00000000..9c5d127e Binary files /dev/null and b/public/img/v2/noco-sync/chatwoot-ticketing-sync-config.png differ diff --git a/public/img/v2/noco-sync/freshdesk-ticketing-sync-config.png b/public/img/v2/noco-sync/freshdesk-ticketing-sync-config.png new file mode 100644 index 00000000..f6530391 Binary files /dev/null and b/public/img/v2/noco-sync/freshdesk-ticketing-sync-config.png differ diff --git a/public/img/v2/noco-sync/github-ticketing-sync-config.png b/public/img/v2/noco-sync/github-ticketing-sync-config.png new file mode 100644 index 00000000..c9d4a513 Binary files /dev/null and b/public/img/v2/noco-sync/github-ticketing-sync-config.png differ diff --git a/public/img/v2/noco-sync/gitlab-oauth.png b/public/img/v2/noco-sync/gitlab-oauth.png new file mode 100644 index 00000000..1cd7055d Binary files /dev/null and b/public/img/v2/noco-sync/gitlab-oauth.png differ diff --git a/public/img/v2/noco-sync/gitlab-retrieve-project-id.png b/public/img/v2/noco-sync/gitlab-retrieve-project-id.png new file mode 100644 index 00000000..ca32fa15 Binary files /dev/null and b/public/img/v2/noco-sync/gitlab-retrieve-project-id.png differ diff --git a/public/img/v2/noco-sync/gitlab-source-config.png b/public/img/v2/noco-sync/gitlab-source-config.png new file mode 100644 index 00000000..b4233a25 Binary files /dev/null and b/public/img/v2/noco-sync/gitlab-source-config.png differ diff --git a/public/img/v2/noco-sync/gitlab-ticketing-sync-config.png b/public/img/v2/noco-sync/gitlab-ticketing-sync-config.png new file mode 100644 index 00000000..6fea995f Binary files /dev/null and b/public/img/v2/noco-sync/gitlab-ticketing-sync-config.png differ diff --git a/public/img/v2/noco-sync/linear-ticketing-sync-config.png b/public/img/v2/noco-sync/linear-ticketing-sync-config.png new file mode 100644 index 00000000..a589d2c7 Binary files /dev/null and b/public/img/v2/noco-sync/linear-ticketing-sync-config.png differ diff --git a/public/img/v2/noco-sync/new-sync-button.png b/public/img/v2/noco-sync/new-sync-button.png new file mode 100644 index 00000000..d1053ba7 Binary files /dev/null and b/public/img/v2/noco-sync/new-sync-button.png differ diff --git a/public/img/v2/noco-sync/sync-banner.png b/public/img/v2/noco-sync/sync-banner.png new file mode 100644 index 00000000..0b1ad89f Binary files /dev/null and b/public/img/v2/noco-sync/sync-banner.png differ diff --git a/public/img/v2/noco-sync/sync-delete-1.png b/public/img/v2/noco-sync/sync-delete-1.png new file mode 100644 index 00000000..535ae823 Binary files /dev/null and b/public/img/v2/noco-sync/sync-delete-1.png differ diff --git a/public/img/v2/noco-sync/sync-delete-2.png b/public/img/v2/noco-sync/sync-delete-2.png new file mode 100644 index 00000000..050565d7 Binary files /dev/null and b/public/img/v2/noco-sync/sync-delete-2.png differ diff --git a/public/img/v2/noco-sync/sync-logs.png b/public/img/v2/noco-sync/sync-logs.png new file mode 100644 index 00000000..2b35ab73 Binary files /dev/null and b/public/img/v2/noco-sync/sync-logs.png differ diff --git a/public/img/v2/noco-sync/sync-review.png b/public/img/v2/noco-sync/sync-review.png new file mode 100644 index 00000000..4430f6a7 Binary files /dev/null and b/public/img/v2/noco-sync/sync-review.png differ diff --git a/public/img/v2/noco-sync/sync-setup.png b/public/img/v2/noco-sync/sync-setup.png new file mode 100644 index 00000000..ea866976 Binary files /dev/null and b/public/img/v2/noco-sync/sync-setup.png differ diff --git a/public/img/v2/noco-sync/sync-sources.png b/public/img/v2/noco-sync/sync-sources.png new file mode 100644 index 00000000..2d680e41 Binary files /dev/null and b/public/img/v2/noco-sync/sync-sources.png differ diff --git a/public/img/v2/noco-sync/sync-table.png b/public/img/v2/noco-sync/sync-table.png new file mode 100644 index 00000000..7c1370d7 Binary files /dev/null and b/public/img/v2/noco-sync/sync-table.png differ diff --git a/public/img/v2/noco-sync/zendesk-ticketing-sync-config.png b/public/img/v2/noco-sync/zendesk-ticketing-sync-config.png new file mode 100644 index 00000000..05019095 Binary files /dev/null and b/public/img/v2/noco-sync/zendesk-ticketing-sync-config.png differ