Have you ever wanted to extend your reporting tools but felt blocked by not knowing how to code? With OWOX Data Marts, you don’t need years of developer experience to make a real impact. The community edition is designed so that anyone, analysts, marketers, or spreadsheet builders, can create and share connectors that power useful reports.
This guide will walk you through building a connector step by step, using Google Apps Script and GitHub. In less than 30 minutes, you’ll be able to publish your work, share it with others, and strengthen both your skills and the OWOX community.
Community contributions make OWOX Data Marts more powerful and relevant. Each new connector strengthens the ecosystem, shortens delivery time, and solves problems that matter in real workflows.
Before you can build and share a connector, a few essentials must be in place. These requirements ensure you have the right access, tools, and basic knowledge to get started smoothly with OWOX Data Marts contributions.
A Google account is the first requirement for contributing to OWOX Data Marts. Google Sheets serves as your primary workspace, where you configure connectors, run tests, and view imported data. With Sheets, you can easily validate results, troubleshoot issues, and share your work with others in the community.
A GitHub account is required to fork the OWOX Data Marts repository, manage changes, and submit your connector through a pull request. GitHub also enables collaboration, allowing you to invite others as contributors, share feedback, and track versions, making it easier to refine and maintain connectors as part of an open-source community.
A basic understanding of Google Apps Script is essential for customizing OWOX connector templates. You’ll use it to integrate REST APIs, edit logic, and implement functions like fetchData(). Always copy the shared library before making modifications, ensuring your changes aren’t accidentally overwritten during future updates or template refreshes.
Every connector needs a data source, and that’s where REST APIs come in. By obtaining API keys or tokens, you can call endpoints to fetch JSON data from platforms like GitHub or any Ads platform. REST principles, statelessness, authentication, and cacheable responses ensure reliable access, making APIs the foundation of your connector’s functionality.
Each connector relies on a clear and structured design. The Config sheet stores setup parameters, while Code.gs handles script logic. An Apps Script menu provides control options for managing runs and credentials. The library itself is split into Core/ and Sources/ folders. All connectors run in the V8 runtime with UTC timezone for consistency.
This walkthrough is designed for beginners with no coding background. Using prebuilt OWOX templates and the GitHub API as an example, you’ll learn how to configure, test, and publish a working connector in under 30 minutes.
Want to see the whole process in action? Watch our step-by-step demo on building a GitHub connector in just 25 minutes.
👉 Watch the video here and follow along as we set up, test, and publish a working connector.
This first step is about preparing the basic accounts and skills you’ll need. Without these, you can’t build, test, or publish your connector effectively.
Before starting, here are the requirements to develop and publish a connector:
Before building a connector, confirm whether it already exists in the OWOX GitHub repo. This saves time and avoids duplication. If it’s not available, you’ll know you’re creating something new and valuable for the community.
In this step, you define exactly what the connector should deliver.
Business users often make broad requests, so it’s your job to turn them into concrete requirements: which metrics to pull, how often to refresh, and how the report should look.
Before scheduling your connector, it’s important to understand how Google Apps Script works. Triggers can only run hourly, not at an exact time like 09:17 AM. This means your script might execute at slightly different times each day, which can cause reporting issues.
To avoid problems:
In this step, you’ll set rules that prevent duplicate rows when your connector runs more than once per day. A unique key identifies each record, allowing the script to determine whether to update an existing row or create a new one.
This approach ensures every row is unique, even across repeated runs.
To connect your script with the GitHub API, you’ll need a Personal Access Token. This token authenticates your requests and ensures you can pull the data safely. You don’t need deep API knowledge; basic testing tools are enough.
How to create a GitHub token:
Testing the API:
In this step, you’ll set up the actual integration using OWOX templates. Always pick the right template for your API type.
This ensures your connector pulls the right repository data dynamically.
Authentication is required to fetch GitHub data, but tokens must be stored safely. Never put them in sheet cells or hardcode them into scripts. Instead, use Document Properties in Apps Script to keep tokens private and secure.
How to store your token securely:
This step defines how your connector behaves and how the pipeline processes data. Both files work together but serve different purposes.
Connector File:
Pipeline File:
The heart of every connector is the fetchData() function. This function handles the whole process of retrieving data from the API and preparing it for use in Google Sheets.
What it does:
Example: GitHub Connector
Access Token Handling:
Always retrieve the token securely with:
1const token = getCredentials().github_token.value;
Once your connector runs correctly on demand, the next step is to automate it with a time-driven trigger in Google Apps Script. This ensures your data refreshes daily or hourly without manual effort.
How to schedule the connector:
Your connector will now automatically fetch GitHub data and update the sheet on a scheduled basis.
Once your connector is tested and ready, it’s time to contribute it back to the community. Start by forking the OWOX repository, creating a new branch, committing your changes, and pushing them to GitHub.
Next, open a Pull Request with a clear description of your connector and the data source. A CLA bot will prompt you to sign the Contributor License Agreement (CLA) before your contribution is reviewed and merged.
Even with the right setup, some common problems arise when developing connectors. Below are the typical issues you may face and how to resolve them quickly.
⚠️ Error: Connectors can fail without obvious signs, leaving reports incomplete or outdated. Failures may occur due to invalid parameters, token issues, or API rate limits; however, without logs, it’s difficult to determine the root cause.
✅ Solution: Open the Run History tab in Apps Script or OWOX Data Marts. Review timestamps, error messages, and status codes to quickly trace failures and identify the exact reason the connector run failed.
⚠️ Error: Expired or invalid tokens are the most common reason connectors stop working. Errors such as invalid_grant, expired access, or missing API keys often occur when tokens are hardcoded, saved in spreadsheet cells, or not refreshed on time.
✅ Solution: Refresh tokens regularly and store them only in Document Properties, never in plain text. Use manageCredentials() to verify values. Before triggering, test API requests with tools like Boomerang, a browser, or a terminal to confirm credentials are active.
⚠️ Error: APIs may throttle requests, change endpoints, or return incomplete data, causing broken connectors and missing fields in your reports.
✅ Solution: Add retry logic, pagination, and custom error handling in fetchData(). Wrap requests in try/catch blocks for 4xx/5xx responses. Use Logger.log() or append error rows to your sheet to track and debug failures effectively.
⚠️ Error: GitHub Pull Requests are often rejected due to missing documentation, unclear function names, untested logic, or unsigned Contributor License Agreements (CLA).
✅ Solution: Review the connector template guidelines, maintain consistent naming and formatting, and ensure tests run properly. Follow GitHub reviewer comments, make corrections, and update your branch. Once fixes are applied, reopen and resubmit your PR for acceptance.
For technical contributors, this guide explains how to extend the OWOX codebase. With APIs constantly evolving, no template fits every case. Below are the key areas to focus on when creating new connectors or adjusting existing ones.
Each connector relies on a clear structure that links Sheets and Apps Script. The Config tab defines parameters, the custom menu controls actions, and Code.gs connects everything by calling library functions.
Together, they provide a user-friendly interface while handling data fetch logic in the background. You can copy and customize these files as needed.
To customize a connector safely, link or copy the shared Apps Script library. Templates already include the correct library, but blank Sheets require manual linking in Code.gs. Always make your own copy before editing.
The library contains:
When building a connector from scratch, you need to set up a dedicated folder in the source code.
When building a connector from scratch, it’s important to understand how the pieces fit together. OWOX uses a UML-style modular design to describe the relationship between components.
UML (Unified Modeling Language) is a way to visualize how different parts of a system interact, making it easier to maintain structure and consistency across connectors.
In this design, every connector has three main building blocks:
All contributors must sign the OWOX CLA before their pull request is merged. This agreement clarifies intellectual property rights, protects both you and the community, and does not restrict the use of your own contributions elsewhere. A bot will prompt you after opening a PR. If you cannot sign, open an issue instead of submitting code.
For more details, please review the full OWOX CLA.
Pull Request authors must sign the OWOX CLA. It will show up in an automated comment after you create a PR.
Choosing the right connector matters. OWOX connectors are designed to be fast to set up, flexible to customize, and cost-efficient to run. Below are the key reasons they strike the best balance for analysts and teams.
With OWOX templates and Apps Script, you can create a working connector in under 30 minutes, no backend setup required. Once built, add hourly or daily triggers to automate refreshes, thereby eliminating the need for manual exports or clicks. Data flows directly into Google Sheets, giving you immediate insights.
Compared to tools like Airbyte or Meltano, setup is lighter, and unlike static CSV imports, OWOX connectors keep reports dynamic and always up to date.
With OWOX connectors, you’re not limited by the restrictions of no-code ETL tools. Every part of the data flow is under your control. You can define pagination rules, add retry logic, transform responses, and handle errors directly in your fetchData() and startImportProcess() functions.
This flexibility means you decide how APIs are called, how failures are managed, and how data is prepared, ensuring the connector behaves exactly as your reporting workflow requires.
OWOX connectors let you keep reports up to date without lifting a finger. Using Google Apps Script’s time-driven triggers, you can schedule refreshes to run hourly, daily, or weekly, depending on your needs.
Once set, the connector automatically fetches and updates your Google Sheets, ensuring that business users always see the freshest data. No more manual clicks or exports - just consistent, reliable updates that align with your team’s reporting schedule.
OWOX connectors rely on Google Sheets and Apps Script, both of which are free for individual use and small teams. This means no subscription tiers, credits, or hidden charges. Unlike Airbyte or other premium tools, you can start building and refreshing connectors without worrying about costs. For growing teams, this zero-cost model enables experimentation, iteration, and ongoing reporting to be sustainable.
With a script-based approach, you own the entire data flow. From fetch logic to pagination, retry behavior, and error handling, everything can be tailored to your needs. Unlike black-box no-code tools, everything is transparent, providing you with complete transparency and flexibility.
Your connectors evolve at your pace. Add new API endpoints, extend transformations, or integrate additional data sources as requirements grow. With no vendor lock-in or restricted features, you define the extent of your reporting stack, maintaining full ownership of scalability and functionality.
OWOX connectors enable you to move as quickly as no-code ETL tools, while keeping costs low, logic transparent, and control in your hands. Here’s how OWOX + Apps Script compares with popular ETL options:
OWOX Data Marts (Community Edition) is designed for analysts who require speed, flexibility, and full control, without the need for expensive tools or vendor lock-in. Whether you’re extending existing connectors or building new ones, the community edition provides ready-to-use GitHub templates and detailed guides to help you contribute confidently.
By publishing your own connectors, you not only strengthen your reporting stack but also support the open-source community. It’s free, transparent, and designed for analysts who want more from their data workflows.
No advanced coding is required. Using Google Apps Script templates, even analysts and no-code builders can create, test, and publish connectors with step-by-step guidance.
The simplest start is copying an existing GitHub template, customizing it for your API, and submitting a pull request. This ensures fast setup and an easy learning curve.
Yes. Use the token-based template, store your credentials securely in Document Properties, and reference them in fetchData(). This avoids exposing tokens while ensuring authenticated requests work correctly.
Define a unique key, such as the current date or a composite of multiple fields, so repeated runs update existing rows instead of creating duplicates.
Absolutely. While many connectors serve marketing data, you can build for finance, product, HR, or regional APIs. OWOX encourages contributions from any source that benefits analysts.