W↓
All docs
🔑
Sign Up/Sign In
docs.kadoa.com/docs/
Public Link
Apr 8, 2025, 9:44:11 AM - complete - 43.7 kB
Starting URLs:
https://docs.kadoa.com/docs/
## Page: https://docs.kadoa.com/docs/ Documentation Kadoa lets you build AI agents for unstructured data. Explore our guides and examples. ## Quickstart Learn how to create your first workflow in minutes. ## Monitor a Website Learn how you can monitor any website for changes. ## Use Templates Create reusable templates to consistently extract structured data from any source. ## Advanced Workflows Build powerful custom workflows for extracting data from any websites, PDF or CSV. ## Crawl Entire Websites Turn websites into LLM-ready markdown data. ## Extract Single Page Get data from a single webpage immediately ## Develop with Kadoa Build scalable applications with data from Kadoa. ## API Reference Explore, implement, and scale with the Kadoa API. ## Webhooks Get notified of any relevant data changes. ## Need Help? ## Enterprise Plan Receive dedicated enterprise support and a white-glove migration of your existing data pipelines. ## Technical Support Have questions? Our support team is available to help you succeed with Kadoa. Quickstart --- ## Page: https://docs.kadoa.com/docs/introduction Documentation Kadoa lets you build AI agents for unstructured data. Explore our guides and examples. ## Quickstart Learn how to create your first workflow in minutes. ## Monitor a Website Learn how you can monitor any website for changes. ## Use Templates Create reusable templates to consistently extract structured data from any source. ## Advanced Workflows Build powerful custom workflows for extracting data from any websites, PDF or CSV. ## Crawl Entire Websites Turn websites into LLM-ready markdown data. ## Extract Single Page Get data from a single webpage immediately ## Develop with Kadoa Build scalable applications with data from Kadoa. ## API Reference Explore, implement, and scale with the Kadoa API. ## Webhooks Get notified of any relevant data changes. ## Need Help? ## Enterprise Plan Receive dedicated enterprise support and a white-glove migration of your existing data pipelines. ## Technical Support Have questions? Our support team is available to help you succeed with Kadoa. Quickstart --- ## Page: https://docs.kadoa.com/docs/quickstart ## 1\. Configure the source Kadoa enables you to easily extract data from any website. You can configure the source of a workflow in a few different ways. ## 2\. Customize your data schema Kadoa will automatically detect and suggest relevant data fields based on the type of data you selected. You can further customize this schema to fit your specific needs by adding, removing, or renaming fields. If you need to gather more details from linked pages, turn on the option to navigate to each linked page and extract data. ## 3\. Schedule your workflow Choose how often you want Kadoa to run a workflow. You can run your workflow once or set it up on a recurring schedule (daily, weekly, etc.). You can also enable monitoring to get alerts when Kadoa notices changes in the data. ## 4\. Review sample data Kadoa processes a few pages first to ensure the data meets your requirements before running a full extraction. The sample shows how your data will be structured using values from a few representative pages. If everything looks good, approve it to start the full extraction. If not, you can adjust your data fields and quickly rerun the sample. ## 5\. Access your data When your workflow finishes, the results appear in your Kadoa dashboard. You can either use our powerful API, or export the data in CSV or JSON format for use in other applications. That’s it. You’ve got your data with no need for custom code. --- ## Page: https://docs.kadoa.com/docs/workflow-states This guide explains the different states a workflow can have in the Kadoa system. ## State Definitions | State | Description | | --- | --- | | Draft | Initial state when a workflow is created but not yet executed. | | Sample Processing | System is processing free data sample. You’ll get an email when the data is ready for review. | | Pending Review | Sample data is ready for user review and configuration. | | In Progress | Active data extraction is currently running. | | Complete | Successful execution with no future runs scheduled. | | Scheduled | Workflow is configured for future execution. | | Paused | The workflow’s execution is temporarily paused due to user action or lack of credits. | | Error | The workflow has encountered a technical error and the Kadoa team is investigating this issue. | | Not Supported | The workflow cannot process data from the target source due to access or extraction limitations. | --- ## Page: https://docs.kadoa.com/docs/data-schemas ## What is a schema? Every Kadoa workflow requires a data schema that defines: 1. The **entity** to extract (e.g., products, jobs, news articles) 2. The specific **fields** to capture (e.g., title, price, description) 3. The **format** of the extracted data What if you want to reuse the same schema across many sources? The answer is **templates**. ## What is a template? Templates automatically handle navigation, extraction, and normalization across any number of sources, without requiring custom code for each new page. A template includes: * Pre-configured data schema * Navigation patterns * Extraction rules * Data formatting settings ## How to create templates There are two ways to create and manage templates: ### 1\. Create a template from scratch * Create a new workflow using Auto-detect * Configure the workflow schema * Go to My Templates tab on your dashboard and click ‘Add New Template.’ You can now reuse a template from an existing workflow. Note: This option is currently not available for workflows that already use a pre-defined template. * Give your template a name and description * That’s it! You can now create workflows with this template, and the data will be automatically extracted and transformed into your desired format, regardless of the source. ### 2\. Customize a pre-built template * Navigate to My Templates page on your dashboard * Click “Add new template” * Choose a pre-defined template as a starting point, based on your use case (e.g., products, jobs, news) * Customize the template by adding, removing, or modifying fields * Save your customized template ## Using your templates When you create a new workflow, you can choose to use one of your templates. ## Enterprise templates We’ve taken our most popular enterprise use cases and packaged them into ready-to-use workflows that handle all the steps for you. Our initial release includes five enterprise templates designed for financial firms. You can explore them here. Need a custom template? Contact our support team for assistance. --- ## Page: https://docs.kadoa.com/docs/credits ## Overview Kadoa uses a credit system to charge for different types of usage. Each task costs a certain number of credits. ## Credit Costs ### 1\. Workflows Workflows automatically extract data rows on a schedule. | Type | Cost | | --- | --- | | Minimum cost per run | 10 credits | | Cost per data row | 2 credits | Examples: * 100 data rows: `200 credits` * Extracting 3 rows: `10 credits` (minimum charge applies) Adhoc extractions let you instantly extract data from a single webpage. Unlike workflows which run on a schedule, these are one-time extractions that run instantly when requested. | Type | Cost | | --- | --- | | Basic extraction (`"html"`, `"markdown"`, `"body"`) | 1 credit | | Structured extraction (with template) | 10 credits | | Location-specific extraction (additional) | +5 credits | ### 3\. Web Crawling | Type | Cost | | --- | --- | | Crawling a page | 1 credit | | Crawling with location (`countryCode`) | 5 credits | * * * ## Frequently Asked Questions **Do credits expire?** Yes. All credits are valid for one billable month and do not carry over into the following month. **What happens if a website can’t be scraped?** You are only charged for successful requests. If there are any technical issues, we’ll investigate as soon as possible. **Do enterprise customers also get credits?** Enterprise customers have custom usage commitments rather than a standard credit plan. Contact our sales team if you have high-volume data needs. --- ## Page: https://docs.kadoa.com/docs/crawling ## Introduction Crawling is useful to automatically crawl all accessible subpages of a website and convert them into structured JSON or markdown. This guide helps you: * Initiate a crawling session * Check crawling session status * List crawled pages * Access crawled page content ## Prerequisites To get the most out of this guide, you’ll need to: * Create a Kadoa account * Get your API key ## 1\. Start a Crawl To initiate a web crawl, send a POST request to the `/crawl` endpoint with the desired configuration. See API Reference A successful response should look like this: ## 2\. Check Crawl Status Monitor the progress of your crawling session using the `/crawl/status/<sessionId>` endpoint. See API Reference You’ll see how many pages are crawled and whether the session is finished: ## 3\. List Crawled Pages Access the crawled pages using the `/crawl/<sessionId>/pages` endpoint with pagination. See API Reference Query parameters: * `currentPage`: Positive integer, starting from 0. * `pageSize`: Positive integer, starting from 1. Sample Response: ## 4\. Retrieve Page Content Now let’s retrieve the content of the crawled pages in our preferred format. The API can deliver the page payload directly in an LLM-ready format, such as markdown. See API Reference Supported Formats: * `html`: Full HTML structure * `md`: Markdown format Sample response (Markdown): Sample response (HTML): --- ## Page: https://docs.kadoa.com/docs/adhoc ## Introduction Adhoc extractions let you instantly extract data from a single webpage. Unlike workflows which run on a schedule, these are one-time extractions that run instantly when requested. ## Prerequisites To get the most out of this guide, you’ll need to: * Create a Kadoa account * Get your API key ## 1\. Choose the Result Format Every Adhoc request includes `templateId` in the URL path: * Custom Template ID: Use your own workflow template * `html`: Returns the page’s raw HTML * `body`: Returns a cleaned HTML body * `markdown`: Returns the page in Markdown ## 2\. Use A Proxy Location (Optional) If you need to specify a proxy location, you can retrieve valid locations first: See API Reference **Sample Response** Use the returned `isoCode` values in your Adhoc requests for `location.isoCode`. To initiate an adhoc extraction, send a **POST** request to the `/adhoc` endpoint with the desired configuration. See API Reference A successful response should look like this: On this page * Introduction * Prerequisites * 1\. Choose the Result Format * 2\. Use A Proxy Location (Optional) * 3\. Run an Adhoc Extraction --- ## Page: https://docs.kadoa.com/docs/workspaces For teams that want to collaborate on Kadoa, we offer shared workspaces. Workspaces offer 4 benefits: * Shared billing: Rather than having each of your team members individually create & manage subscriptions, all of your team’s character usage and billing is centralized under one workspace. * Shared workflows: Within a workspace, your team can share workflows. * Access management: Your workspace admin can easily add and remove team members. * API Key management: You can issue and revoke API keys for your team. ## Creating a Workspace Teams are enabled for all Enterprise clients. When setting up your account, you’ll be asked to nominate a workspace admin who will have the power to add more team members as well as nominate others to be an admin. ## Onboarding team members To add a team member, go to the team settings view and click on the “Add members” button. You can then enter the email address of the team member you want to add. The team member will receive an email invitation to join the workspace. If the member is already in our system, you’ll be able to pick it from a list. If they are not, you can send them an invitation via email to join the team, adding the email in the input field. ## Roles In the Kadoa ecosystem, users can have two primary roles: **Member** and **Admin**. Each role comes with different levels of access to workflows and data management. The access levels are defined based on privileges granted for certain actions such as reading, creating, updating, or deleting workflows. The permissions for each action are determined based on the user’s role in the team. ### Member Role A **Member** has basic privileges that allow them to interact with workflows but with limited control over system configuration or team settings. **Permissions for Members:** * Can **Read** team workflows * Can **Create** new workflows in their team * Can **Update** existing team workflows * Can **Delete** their own workflows * Can **Execute** team workflows ### Admin Role An **Admin** has higher privileges compared to a Member. Admins have full access to manage workflows and data, as well as perform administrative tasks for the team. **Permissions for Admins:** * All **Member** permissions within their team * Can manage **team settings** and team members * Can **Delete** or modify any workflow within their team * Can customize and manage workflow **schemas and templates** for their team * Can change user roles within their team * Team Owners can transfer team ownership to another team member ### Compliance Officer Role A **Compliance Officer** has read-only access for compliance and audit purposes. **Permissions for Compliance Officers:** * Can **Read** workflows and execution logs * Can access audit reports * Cannot modify workflows or settings > Note: Each role’s permissions are strictly limited to their assigned team’s resources. Users cannot access or modify data from other teams within the organization. ## Accessing API Keys ### Personal API Key You can access your personal api key by selecting your profile “Account settings” and then a panel “Your API key is:” will be visible on the top right. ### Team API Key You can access your team’s API key by selecting your team settings view “Team settings” and then a panel “Your API key is:” will be visible on the top right. --- ## Page: https://docs.kadoa.com/docs/chrome-extension The Kadoa Chrome extension offers more flexibility than our auto-detect setup. This “What You Click Is What You Get” approach allows you to precisely extract and monitor the data you need. **Install from Chrome Web Store** * * * ## When to use Use the Kadoa Chrome extension when you need precise control over the data you want to extract or monitor. This method is ideal if: * Kadoa’s auto-detect feature doesn’t capture the specific data you need. * You prefer a hands-on approach to selecting data directly from a webpage. ## How to use * Navigate to the webpage containing the data you want to extract. * Open the Kadoa extension. * Select one or more objects containing the data you’d like to extract. * Review and refine the suggested fields. * Your new workflow is ready. To set up monitoring and receive notifications about data changes, please read more here. To use Kadoa Chrome extension, you need to be logged in to your Kadoa account. Log in or sign up here: https://www.kadoa.com/auth On first launch, you will need to enter your API key. Copy it here: https://www.kadoa.com/account * * * ## Compatibility The Kadoa extension is compatible with recent versions of Google Chrome and other Chromium-based browsers such as Vivaldi and Brave. Currently, Safari and Firefox are not supported. * * * ## Security The Kadoa Chrome extension operates within the user’s active tab. Here is the complete list of requested permissions: * activeTab: Allows the extension to record interactions (e.g., clicks, key presses) and select elements within the active tab. * storage: To use Kadoa extension, user needs to be logged in to their Kadoa account. API key is used for auth, and is stored in local storage to persist between sessions. * scripting: Supports rendering the extension UI when the user clicks the toolbar button. * cookies, in combination with host\_permissions `["*://*.kadoa.com/*"]` : Allows the extension to read the team ID cookie, set by the Kadoa web app and scoped to the kadoa.com domain, to determine the active workspace. * browsingData: Required to clear the current tab’s cache (via `chrome.browsingData.removeCache`) for accurate click event detection. * sidePanel: Utilizes Chrome’s Side Panel API for the extension’s UI. * tabs: Listens to tab-related events, such as closing the side panel when the user switches tabs. * webNavigation: Detects when the user reloads the current page while the extension is active. The Kadoa extension sends the following information to our servers: * User API key: For authentication. * Active tab URL and content: For processing and extracting selected data. The source code is not currently open source but is available for inspection upon request. * * * ## Troubleshooting **The extension does not open.** This issue is most likely because the webpage has not yet finished loading. Please reload the page and wait until it is fully loaded. **Unable to change anything on a webpage after opening the Kadoa extension** Ensure the page has fully loaded and all elements you want to select are visible before clicking the Kadoa extension icon. This includes expanding any collapsed areas and closing any blocking pop-ups. **Unable to select the desired element because it is covered by nested elements** Select any nested element, then click the arrow icon to select its parent element. **The page reloads after closing the extension** This is an intended behavior. To make elements available for selection, Kadoa removes all event handlers from the page. The page is reloaded to restore these handlers. --- ## Page: https://docs.kadoa.com/docs/compliance Kadoa provides robust and automated compliance features designed specifically for regulated or compliance-intensive organizations. Our compliance layer ensures that organizational guidelines and rules around data sourcing and extraction are automatically enforced. ### Compliance Process To successfully operate Kadoa in a regulated environment, we recommend the following processes: * **Compliance training** for all authorized Kadoa users. * **Automated compliance checks** enforced by our platform. * **Compliance-specific user roles** for detailed reporting and auditing capabilities. ### Automated Compliance Rules Your compliance team can configure automated checks tailored to your specific organizational requirements. Kadoa supports the following customizable compliance rules: | Rule Type | Description | | --- | --- | | **Source Blacklisting** | Explicitly prevent extracting or accessing prohibited sources or domains. | | **Captcha & Explicit TOS Enforcement** | Prevent automated circumvention of explicit Terms of Service pop-ups and automated Captcha bypassing. | | **Sensitive Data Checks** | Automatic detection of attempts to extract personally identifiable PII information. | Violations immediately trigger clear and descriptive warnings or errors, preventing accidental non-compliance. ### Auditing & Reporting Kadoa maintains a full audit trail of compliance checks and their outcomes, ensuring complete visibility into your internal usage: * Compliance officers with dedicated permissions can directly access platform-wide auditing and reporting. * Reports include detailed logs on compliance-check validations and any attempted rule violations. --- ## Page: https://docs.kadoa.com/docs/monitoring Kadoa allows you to monitor websites for data changes and receive notifications when updates occur. Follow these steps to configure data monitoring: ## 1\. Create Workflow * Create a workflow as described in our Quickstart ## 2\. Schedule the Workflow * When approving the sample data, click “Repeat Workflow” to set up regular updates. * Choose an update frequency between every 12 hours and every month. * Enterprise customers can request real-time monitoring (sub-5-second updates). ## 3\. Configure Monitoring * In the monitoring settings, select the fields you want to track for changes. * Choose your preferred notification channel. Self-service users can receive email notifications. Enterprise customers have access to additional integration options. ## 4\. Receive Change Notifications * When Kadoa detects a change in the monitored fields, you’ll receive a notification via your configured channel. * You can also view the change history in the workflow run history. Example of a change notification email: --- ## Page: https://docs.kadoa.com/docs/advanced-workflows/introduction ## Overview Kadoa’s Advanced Workflows allow you to set up fully customizable ETL (Extract, Transform, Load) pipelines for unstructured data, no matter the source. Our intuitive **Workflow Builder** lets you visually define workflows by connecting configurable modules for data sources, processing actions, and destinations. * * * ## Core Concepts and Components An advanced workflow consists of three main components: ### 1\. Data Sources Kadoa provides an extensive range of data sources for unstructured data extraction: | Operator | Description | Example Use Cases | | --- | --- | --- | | **Websites** | Crawl and scrape websites with automatic content discovery and structuring. | Any web data-related workflows. | | **CSV Batch Processing** | Bulk extract data from URLs or file paths listed in CSV files. | Mass-processing filings, documents, or structured URL lists. | | **Documents** | Upload filings, regulatory reports, and other documents for processing | Earnings reports, regulatory data ingestion (e.g., EDGAR filings). | | **Email Integration** | Extract content from email attachments and message bodies. | Ingesting analyst reports, financial statements received by email. | * * * ### 2\. Data Actions Refine and structure the extracted data with built-in transformation operators: | Operator | Description | Example Use Cases | | --- | --- | --- | | **Extraction** | Extract data from websites or documents based on a defined data schema. | Extract data from any unstructured input source. | | **Transformation** | Format, normalize, and restructure extracted data. | Removing noise, standardizing dates and values. | | **Data Validation** | Set validation rules to ensure high-quality, consistent outputs. | Compliance verification, data integrity checks. | | **Enrichment & Mapping** | Combine external mappings and enrich data from multiple sources. | Mapping tickers and securities, adding computed fields. | | **Classification** | Auto-categorize documents based on content or metadata. | Automatic classification of filings, news articles, and transcripts. | | **Filtering & Deduplication** | Keep or remove data meeting specific criteria. | Filtering specific company filings, removing duplicate data. | * * * ### 3\. Data Destinations Easily deliver processed data to your internal tools, teams, and systems: | Operator | Description | Example Use Cases | | --- | --- | --- | | **File Writer** | Export data to JSON, CSV, XLSX files. | Direct integration into internal databases and data warehouses. | | **Pre-Build Connectors** | Connect to popular databases, file storage, and applications. | Direct integration into internal databases and data warehouses. | | **API Integrations** | Automatically send structured data to your internal or third-party APIs. | Real-time integration into analytics platforms. | | **Notifications & Webhooks** | Notify internal teams or trigger automations instantly with webhook triggers. | Alert teams about filing updates, detection of changes, or data availability. | | **Websockets** | Notify your systems about data updates or relevant changes in real-time. | Real-time monitoring | * * * ## Building Your First Advanced Workflow Below is an example of how to automatically pull PDF documents from a target website, extract structured content from these PDFs, and run this workflow weekly. ### Step 1: Configure Data Sources * Open the Kadoa **Workflow Builder**. * Select the “**Website Scraper**” operator as your **Data Source**. * Enter the target URL of the website. * Configure the scraper to extract the PDF links in the data editor. * Click “**Add Action**” and choose “**Extract PDF**”. * Map the PDF links collected from Step 1 directly into this PDF extraction step. * Specify the type of structured data fields you require (e.g., financial metrics, company details, dates). ### Step 3: Apply Transformations (Optional) * If necessary, add transformation actions to clean, format, or enrich the extracted data. ### Step 4: Configure the Destination * Choose the desired data destination. * Configure the destination operator. ### Step 5: Schedule Workflow to Run Automatically Weekly * Click “**Repeat & monitor**”. * Set the frequency to “**Weekly**” (e.g., every Monday at 08:00 AM). * Enable automated monitoring and notifications to alert your teams on data updates after each run. ### Step 6: Execute and Confirm Your Workflow * Click “**Run now**” to execute a sample run of your configured ETL workflow. * Confirm results and outputs. If correct, activate your scheduled workflow to run for the whole dataset. * * * ## Get Help & Guidance Need assistance building or optimizing your advanced workflows? We provide dedicated enterprise onboarding and personalized support: * Contact Enterprise Sales for demos, quotes, and onboarding assistance. * Contact Technical Support for workflow assistance or technical guidance. * * * --- ## Page: https://docs.kadoa.com/docs/integrations/webhooks Kadoa webhooks allow you to receive real-time notifications when specific events occur, such as when a workflow finishes or data changes. By subscribing to webhook events, you can automate actions based on these notifications, like triggering another action in your application. ## Subscribing to Webhook Events To subscribe to Kadoa webhook events, follow these steps: 1. Make a POST request to the `/v4/webhook-subscriptions` endpoint with the following JSON payload: Replace `"https://your-webhook-url.com/kadoa-events"` with the URL where you want to receive the webhook events. The `events` array should contain the list of events you want to subscribe to. You can fetch the list of available events by making a GET request to the events endpoint. ## Handling Webhook Events When a subscribed event occurs, Kadoa will send a POST request to the specified `webhookUrl` with the event payload. The payload will include information about the event, such as the `workflowId` and any relevant data. Here’s an example of how to handle webhook events in an Express.js application: In this example, when a POST request is received at the `/kadoa-events` endpoint, the event payload is logged, and you can add your own logic to process the event and perform any necessary actions. ## Unsubscribing from Webhook Events To unsubscribe from webhook events, make a DELETE request to the unsubscribe endpoint, using the ID of the subscription you want to remove. ## Best Practices * Ensure that your webhook endpoint is accessible from the internet and can handle incoming requests from Kadoa. * Validate the incoming webhook payload to ensure it originates from Kadoa and contains the expected data. * Respond with a `200 OK` status code to acknowledge receipt of the webhook event. * Handle webhook events asynchronously to avoid blocking the response to Kadoa. --- ## Page: https://docs.kadoa.com/docs/monitoring/introduction Kadoa allows you to monitor websites for data changes and receive notifications when updates occur. Follow these steps to configure data monitoring: ## 1\. Create Workflow * Create a workflow as described in our Quickstart ## 2\. Schedule the Workflow * When approving the sample data, click “Repeat Workflow” to set up regular updates. * Choose an update frequency between every 12 hours and every month. * Enterprise customers can request real-time monitoring. ## 3\. Configure Monitoring * In the monitoring settings, select the fields you want to track for changes. * Select about what type of changes you want to be notified. We support 3 types of changes: * **All changes**: Receive notifications for all changes (additions, modifications, and removals). * **Only added data**: Receive notifications only for new data. An object is considered new when it has less than 50% field matches with any existing object. * **Only removed data**: Receive notifications only for removed data. * Optional: You can add conditions to the monitoring. For example, you can only receive notifications if the data has changed in a specific field and contains a specific value. * Choose your preferred notification channel. Self-service users can receive email notifications. Enterprise customers have access to additional integration options. ### How Changes Are Detected The system matches objects between old and new data in this order: 1. **Exact Matches**: Objects that are exactly the same 2. **Partial Matches**: Objects sharing more than 50% of their fields are considered the same object with changes 3. **New/Removed**: Remaining objects are considered either new or removed ### Examples **Job Listings**: With “Only added data” selected: No notification (>50% fields match) With “All changes” selected: Notification about salary change **Product Inventory**: With “Only added data” selected: Notification (all fields different) With “All changes” selected: Notification about new product ## 4\. Receive Change Notifications * When Kadoa detects a change in the monitored fields, you’ll receive a notification via your configured channel. * You can also view the change history in the workflow run history. Example of a change notification email: On this page * 1\. Create Workflow * 2\. Schedule the Workflow * 3\. Configure Monitoring * How Changes Are Detected * Examples * 4\. Receive Change Notifications --- ## Page: https://docs.kadoa.com/docs/security/sso SSO is currently only available for Enterprise customers. To upgrade, get in touch with our sales team. Single Sign-On (SSO) allows your team to log in to Kadoa by using your existing identity provider. This means that your team can use the same credentials which they use for other services to log in to Kadoa. Reach out to us if you want to set this up for your team. --- ## Page: https://docs.kadoa.com/docs/sdks/introduction Kadoa provides SDKs to simplify features integration. If you use a language or framework that is not supported, you can use our REST API to interact with Kadoa. ## Available SDKs ## Prerequisites To get the most out of this guide, you’ll need to: * Have access to an existing Team or account, depending on the feature you want to use. * Get an API key ## Python Install the Python SDK using pip: pip install kadoa-sdk ### Listen to real-time changes from kadoa_sdk import Kadoa kadoa_props = { "team_api_key": TEAM_API_KEY } kadoa_client = Kadoa(**kadoa_props) def process_event(event): print(event) kadoa_client.realtime.listen(process_event) ## NodeJS Install the TypeScript SDK using npm: npm install @kadoa/node ### Listen to real-time changes import { Kadoa } from "@kadoa/node"; const kadoaProps = { teamApiKey: process.env.KADOA_TEAM_API_KEY, }; const kadoaClient = new Kadoa(kadoaProps); const customProcessEvent = (event) => { console.log("Event received:", event); } kadoaClient.realtime.listen(customProcessEvent); --- ## Page: https://docs.kadoa.com/docs/advanced-workflows/api The Kadoa Advanced Workflow API provides endpoints to manage workflows efficiently. In this guide, you’ll learn how to: * Fetch workflow configuration * Update an existing workflow ## Create an Advanced Workflow Creation of new advanced workflows is currently only possible via our Chrome Extension or our Workflow Builder in the Kadoa Dashboard. Please refer to the Setup Guide for more information. ## Fetch Workflow Configuration Use the following endpoint to retrieve the configuration of an advanced workflow: **GET** `/v4/advanced-workflows/{workflowId}` ### Request Parameters * **workflowId** (string, required): The ID of the workflow to fetch. * **Authorization** (header, required): API key for authorization. ### Example Request ### Response The response will include the workflow configuration. ## Update Workflow Configuration To update the steps in an existing workflow, use the following endpoint: **PUT** `/v4/advanced-workflows/{workflowId}/steps` ### Request Parameters * **workflowId** (string, required): The ID of the workflow to update. * **Authorization** (header, required): API key for authorization. * **steps** (array body, required): An array containing the all steps. ### Example Request You can now test the updated workflow by using the /run endpoint and fetch the result data. ### Response The response will indicate whether the steps were successfully updated, along with the new version of the workflow. On this page * Create an Advanced Workflow * Fetch Workflow Configuration * Request Parameters * Example Request * Response * Update Workflow Configuration * Request Parameters * Example Request * Response --- ## Page: https://docs.kadoa.com/docs/integrations/zapier ## Overview Kadoa’s Zapier integration allows you to automatically send workflow data to your favorite apps like Airtable, Google Sheets, and Notion. The integration works by regularly polling Kadoa to check for new data. ## Prerequisites * A Kadoa account * A Zapier account * Access to your destination apps (Airtable, Google Sheets, Notion, etc.) ## Setup Process ### 1\. Create a New Zap 1. Log into your Zapier account 2. Click “Create Zap” 3. Search for “Kadoa” in the trigger app search ### 2\. Configure the Kadoa Trigger 1. Select “getWorkflowData” as your trigger 2. Follow the three-step configuration process: * Setup: Connect your Kadoa account * Configure: Set your workflow details * Test: Verify the connection works ### 3\. Select Your Workflow 1. In the Configure section, you’ll find a “Workflow ID” field 2. Click to select from your available workflows 3. Choose from the list of your existing workflows 4. Each workflow displays with its unique identifier ### 4\. Understanding Data Polling * Zapier polls Kadoa every 15 minutes or less depending on your plan * Each record includes the original pull date ## Setting Up Actions After Kadoa triggers with new data, you can: 1. Add actions for your destination apps (Airtable, Google Sheets, Notion, etc.) 2. Map Kadoa data fields to your destination fields 3. Add formatting steps or filters if needed 4. Test your complete workflow ## Troubleshooting If you encounter issues: * Verify your workflow ID is correct * Check your Zapier task history for errors * Confirm your destination app connections * Review polling intervals based on your Zapier plan ## Next Steps 1. Configure your destination app actions 2. Set up any necessary data transformations 3. Test the complete workflow 4. Turn on your Zap and monitor performance --- ## Page: https://docs.kadoa.com/docs/integrations/google-sheets ## Overview In this guide, we’ll walk through the process of fetching data from the Kadoa API and adding it to a Google Sheet using Google Apps Script. ## Prerequisites Before you begin, make sure you have the following: * A Google account * A Google Sheet where you want to store the data * Access to the Kadoa API and your API key ## Step-by-Step Guide 1. In your Google Sheet, go to “Extensions” -> “Apps Script” to open the Google Apps Script editor. 2. Replace the contents of the script editor with the following code: 3. Replace `'YOUR_WORKFLOW_ID'` with your Kadoa workflow ID and `'YOUR_API_KEY'` with your Kadoa API key. 4. Save the script and run the `fetchDataFromKadoa` function either by clicking the play button in the toolbar or by going to “Run” -> “Run function” -> “fetchDataFromKadoa”. 5. If this is your first time running a script accessing external APIs, authorize the script to access external services. 6. Check your Google Sheet. The data from the Kadoa API should now be populated. ## Scheduling Automatic Updates (Optional) To keep your Google Sheet data in sync with Kadoa, you can set up a trigger to run the script on a schedule: 1. In the script editor, go to “Edit” > “Current project’s triggers”. 2. Click “Add Trigger” and configure the desired frequency. 3. Save the trigger. The script will now automatically fetch and update the data in your Google Sheet based on the specified schedule. --- ## Page: https://docs.kadoa.com/docs/monitoring/api Our API enables you to track and manage all your monitored workflows. You can: * Get all active workflows with monitoring enabled * Retrieve historical data changes across your workflows ## Prerequisites To get the most out of this guide, you’ll need to: * Create a Kadoa account * Get your API key ## 1\. Get All Active Monitoring Workflows Use the following endpoint to retrieve your workflows: **GET** `/v4/workflows` See full API reference The response will include all workflows that are in your scope (user, team, organization). To get all workflows that are active and have real-time monitoring enabled, you can use the following query parameter: ## 2\. Get Historical Data Changes The `/changes` endpoint returns all historical data changes detected by your monitoring workflows. By default, it returns changes from all your active workflows. You can filter changes by workflow and date range using the different query parameters. See full API reference. Example with filters: ### Differences Field Explanation Each change includes a `differences` array showing structured representations of what changed: The `differences` field provides an object-based diffing with the following structure: * `type`: The type of change - can be `added`, `removed`, or `changed` * `fields`: All fields of the object (even if unchanged) Each field change includes: * `key`: Field name that was changed * `value`: Current field value * `previousValue`: Previous field value (only present for `changed` type) #### Example Let’s look at a simplified example with three fields: `id`, `name`, and `status`. Data before change: Data after change: The `differences` field would show: Note that item with `id: "004"` remains unchanged, so it doesn’t appear in the differences array. --- ## Page: https://docs.kadoa.com/docs/monitoring/websocket With our WebSocket API, you can listen to real-time changes from your monitoring workflows. ## Prerequisites * A Kadoa account * Access to an existing team (Team features) * Get an API key * SDKs We strongly recommend using our SDK for real-time updates. The SDK handles the connection, authentication, message acknowledgement, message replay and auto-reconnect. If you need to implement a native WebSocket integration, please contact us. ## Message Format All messages are JSON objects with the following fields: Always present: * `type`: The type of the message. * `timestamp`: The timestamp of the message. Optional depending on the type: * `data`: The data of the message. * `id`: The ID of the message used for acknowledgement. ## Message Types ### `workflow_data_change` This message is sent when a workflow data changes. Fields: id string workflowId string data object The data of the workflow. Full snapshot of the data at the time of the change. diff object The diff of the data. For an explanation of the diff format, please refer to the data diff documentation. url string The URL of the page the workflow is monitoring. createdAt string The timestamp in ISO format when the change was detected. Example: * * * ### `heartbeat` This message is sent every 15 seconds. It’s used to keep the connection alive. If you don’t receive a heartbeat after 30 seconds, the connection is considered lost, reconnection is needed. Example: --- ## Page: https://docs.kadoa.com/docs/security/introduction An overview of Kadoa security features and practices. ## Governance Kadoa establishes policies and controls, monitors compliance with those controls, and proves the security and compliance to third-party auditors. Our policies are based on the following foundational principles: ## Data Protection ## Product Security ### Penetration testing Kadoa engages with third-party firms to conduct penetration testing at least annually. All areas of the Kadoa product and cloud infrastructure are in-scope for these assessments, and source code is fully available to the testers in order to maximize the effectiveness and coverage. ### Vulnerability scanning Kadoa uses multiple vulnerability monitoring techniques including code-level scanning, dependency scanning, and security reviews to identify and remediate vulnerabilities. Vulnerabilities are prioritized based on severity and risk, and are remediated according to a schedule. ## Responsible Disclosure To report a vulnerability, please reach out to security@kadoa.com --- ## Page: https://docs.kadoa.com/docs/security/scim ## Requirements > ask support if you need further assistance * Kadoa team created * Kadoa `scim-token` (one per team) * SSO configured for a team Once SCIM is enabled for a team, team members are read only in Kadoa dashboard (only role can be changed), user management will be fully externalized to the IdP. ## Configuration ### Microsoft Entra In your enterprise application, set the Provisioning Mode to `Automatic`. Enter the SCIM endpoint URL provided by Kadoa, usually in the format: `https://api.kadoa.com/scim/v2` For authentication, use the SCIM token provided by Kadoa Team. ## FAQ * How to manage team users roles in Kadoa? Users roles are managed independently from SCIM in Kadoa dashboard or from dedicated API * What IdP is supported by Kadoa with SCIM? Microsoft Entra has been tested to operate with Kadoa and provision users automatically, other might be compatible out-of-the-box since SCIM2.0 is a standard format but can’t be guaranteed unless it’s passed testing phase. If your team requires a specific Identity Provider to be integrated with Kadoa SCIM endpoint, please reach out. * What version of SCIM is used? ✅ SCIM 2.0 (https://datatracker.ietf.org/doc/html/rfc7643) ❌ SCIM 1.1 is not supported