Runrun.it for data warehouses: projects, tasks, and productivity

Managed connector to sync boards, tasks, clients, and tracked time from Runrun.it to BigQuery, Redshift, and Databricks.

AuS1MOWsM0aZvGvCqrIyNgrfMGw.png

Runrun.it Connector: Sync projects and tasks to your warehouse without managing pipelines

Runrun.it is one of the most widely used project and process management platforms in Brazil. Operations, marketing, IT, and finance teams log tasks, deadlines, hours worked, and approval workflows daily. When a data engineer needs this information in the data warehouse, the typical route is writing a custom script to call the Runrun.it API, handle pagination, and load the data into a table.

The first version of that script works. The issues start creeping in over the following weeks:

  • Inconsistent pagination: The Runrun.it API pages results differently depending on the endpoint. One endpoint might return 50 items per page, while another returns 200. Handling all these edge cases in the same script silently leads to truncated data when an endpoint changes its behavior.
  • Silent rate limiting: The API may throttle the number of requests per minute without returning an explicit HTTP error. The script keeps running but receives empty or partial responses. The pipeline reports success, but the data in your warehouse is incomplete.
  • Unannounced schema evolution: Runrun.it can add, rename, or remove fields from an endpoint at any time. A script expecting a hardcoded schema will break, or worse, ignore new fields that your downstream analytics actually need.
  • Lack of observability: No one knows when the pipeline last ran, how many records were loaded per execution, or if there was a partial failure. There are no structured logs or alerts. The first sign of trouble is when a dashboard shows mismatched numbers.

The worst-case scenario isn't a pipeline that fails with an authentication error. It's the pipeline that runs successfully but delivers incomplete or stale data, silently feeding bad data to decision-makers.

What you can build once your Runrun.it data is in the warehouse

Team and individual productivity analysis

With the tasks, users, and manual_work_periods tables in your warehouse, you can calculate hours worked per user, delivery rates, and throughput per team. These metrics only make sense when joined with the tracked time for each task, which requires having the data in a relational database where you can run complex aggregations instead of relying on Runrun.it’s native dashboards.

SLA management and deadline tracking

The tasks table contains desired_delivery_date and delivered_at. In the warehouse, you can easily calculate average delay by project, client, and task type, identify recurring patterns of missed deadlines, and set up analytical alerts that cross-reference Runrun.it data with other systems. This is impossible to achieve within the tool itself, where analysis is limited to native filters and reports.

Capacity vs. demand planning

By joining in-progress tasks by user_id with time_worked and current_estimate_seconds, the operations team can visualize actual workloads and spot capacity bottlenecks before they lead to delays. In the warehouse, this data can be combined with HRIS, payroll, or CRM data to analyze delivery costs per employee and per client.

Workflow analysis by board

The relationship between boards, board_stages, and tasks allows you to measure how long each task spends in each stage of your workflow. In the warehouse, you can calculate cycle time per board, spot bottleneck stages, and compare workflow performance side-by-side, something native reports don't offer in a consolidated view.

CRM and financial data enrichment

Runrun.it's clients and projects tables can be joined with CRM data to understand customer acquisition cost, effort spent per account, and the actual margin of each project. Connecting project management data with financial and sales metrics is only feasible when both reside in the same warehouse, in relational tables that the data team controls.

Hours worked analysis by task type

The manual_work_periods table, containing task_id and duration_seconds, lets you segment time tracked by task_type, project, and tag. In the warehouse, you can easily answer questions like "how much time did we spend on task type X for client Y last quarter" to accurately price future projects.

What's available in the connector

Endpoint

What it contains

boards

Boards configured in Runrun.it, with name, creation, and update timestamps. This is the parent endpoint of board_stages.

board_stages

Stages for each board, linked to the parent board via board_id. Allows mapping the workflow of each board.

clients

Clients registered in the organization, with active/inactive status and organizational links. This is the parent endpoint of projects.

manual_work_periods

Manual work sessions tracked by users on each task, including duration in seconds and start/end timestamps. Supports incremental sync via the created_at cursor.

projects

Projects linked to clients, with active/inactive status and public visibility. This is the parent endpoint of tasks.

tags

Organization tags created in the account for categorizing tasks and projects.

task_types

Registered task types with active/inactive status. Used to classify tasks within each project.

tasks

Tasks including title, deadlines (start, delivery, date), delivery date, current estimate, time worked, status (working on, overdue), and links to project, user, type, board, and board_stage. Supports incremental sync via the updated_at cursor.

teams

Teams registered in the organization, with names and timestamps.

users

Account users with name, email, avatar, active status, admin and master flags, type, language, and timezone.

How to authenticate

Authenticating the Runrun.it connector on Erathos requires two credentials:

  • App-Key: Identifies your Runrun.it account. To find it, log into Runrun.it and go to Manage > Integrations > API Integration. The App-Key is displayed on the integration page.
  • User-Token: A personal API token that authenticates requests on your behalf. To generate it, click your avatar in the top right corner, select My Account > API, and generate a new personal token if you don't have one yet. Copy the value.

Paste both credentials into the App-Key and User-Token fields within the Erathos platform and click Save and close to complete the setup.

Check the full documentation at docs.erathos.com/connectors/apis/runrun.it.

Why outsource your ingestion to Erathos

End-to-end visibility of every run

Erathos logs every pipeline execution with timestamps, records read, records written, duration, and status. The data team can monitor run history without building logging from scratch. When a schema change happens in Runrun.it, Erathos detects and reports it instead of failing silently.

Out-of-the-box alerting

The pipeline comes with pre-configured alerts for execution failures, abnormal data volume swings, and authentication issues. No need to write monitoring rules or set up Slack or PagerDuty integrations from scratch. If the Runrun.it token expires or the API starts returning errors, your team is instantly notified.

First-class backfills and retries

If an execution fails or loads partial data, Erathos lets you reprocess the entire run or a specific date range with a single click. There's no need to manually update state cursors, tweak the script, or request admin access to rerun the pipeline. Reprocessing is a first-class operation on our platform.

Available pipelines

Get started

Create your Erathos account and connect Runrun.it to your data warehouse in minutes. With just your App-Key and User-Token, your first sync runs without a single line of pipeline code to write, maintain, or monitor.

Your daily project, task, and time-tracking data shouldn't be locked in a SaaS silo, disconnected from the rest of your analytical model. Even worse, it shouldn't rely on a home-grown pipeline that demands ongoing maintenance from your data team.

Read the complete connector documentation at docs.erathos.com/connectors/apis/runrun.it.

.