Productive.io Connector Reference
The Productive.io connector exposes 78 fields (15 metrics, 63 dimensions). Every field ID below can be passed to the Windsor.ai API in the fields parameter.
Productive.io Fields
Productive.io Budgets fields
The Budgets report of the Productive.io connector includes 12 fields.
| ID | Type | Name | Description |
|---|---|---|---|
| actual_hours | NUMERIC | Actual Hours | Worked minutes converted to hours. |
| actual_minutes | NUMERIC | Actual Minutes | Raw `attributes.worked_time` from `/deals` — minutes. |
| billable_hours | NUMERIC | Billable Hours | Billable minutes converted to hours. |
| billable_minutes | NUMERIC | Billable Minutes | Raw `attributes.billable_time` from `/deals` — minutes. |
| budget_company_id | TEXT | Budget Company ID | Productive company (client) the budget belongs to. |
| budget_id | TEXT | Budget ID | Unique identifier for the budget — `/deals` record id where `attributes.budget = true`. |
| budget_name | TEXT | Budget Name | Budget (deal) name as shown in Productive.io. |
| budget_project_id | TEXT | Budget Project ID | Productive project the budget belongs to. |
| budget_utilization_percent | PERCENT | Budget Utilization | Worked time divided by budgeted time (unit-independent). |
| budgeted_hours | NUMERIC | Budgeted Hours | Budgeted minutes converted to hours. |
| budgeted_minutes | NUMERIC | Budgeted Minutes | Raw `attributes.budgeted_time` from `/deals` — minutes, despite the Productive Deals docs claiming hours. |
| budgeted_revenue | NUMERIC | Budgeted Revenue | Budgeted revenue on the deal (`attributes.budgeted_revenue`). |
Productive.io Companies fields
The Companies report of the Productive.io connector includes 3 fields.
| ID | Type | Name | Description |
|---|---|---|---|
| company_domain | TEXT | Company Domain | Domain associated with the Productive company. |
| company_id | TEXT | Company ID | Unique identifier for the company (client). |
| company_name | TEXT | Company Name | Company (client) name as shown in Productive.io. |
Productive.io General fields
The General report of the Productive.io connector includes 3 fields.
| ID | Type | Name | Description |
|---|---|---|---|
| account_id | TEXT | Account ID | The Windsor account ID for the Productive workspace. |
| account_name | TEXT | Account Name | The Windsor account name for the Productive workspace. |
| date | DATE | Date | Per-record date — server-filtered (`date` for time entries, `invoiced_on` for invoices) or a snapshot of `date_to` for dimensional / snapshot resources. |
Productive.io Invoices fields
The Invoices report of the Productive.io connector includes 7 fields.
| ID | Type | Name | Description |
|---|---|---|---|
| invoice_amount | NUMERIC | Invoice Amount | Invoice amount in major currency units (cents / 100). |
| invoice_amount_cents | NUMERIC | Invoice Amount (Cents) | Raw `attributes.amount` from `/invoices` — minor currency units. |
| invoice_company_id | TEXT | Invoice Company ID | Productive company (client) the invoice belongs to. |
| invoice_id | TEXT | Invoice ID | Unique identifier for the invoice. |
| invoice_number | TEXT | Invoice Number | Invoice number assigned by Productive.io. |
| invoice_status | TEXT | Invoice Status | Invoice status integer reported by Productive.io. |
| invoiced_on | DATE | Invoiced On | Date the invoice was issued. |
Productive.io People fields
The People report of the Productive.io connector includes 5 fields.
| ID | Type | Name | Description |
|---|---|---|---|
| person_email | TEXT | Person Email | Contact email address for the Productive person. |
| person_first_name | TEXT | Person First Name | Given name of the Productive person. |
| person_id | TEXT | Person ID | Unique identifier for the person. |
| person_last_name | TEXT | Person Last Name | Surname of the Productive person. |
| person_role | TEXT | Person Role | Productive role integer (employee/admin/owner/etc). |
Productive.io Projects fields
The Projects report of the Productive.io connector includes 7 fields.
| ID | Type | Name | Description |
|---|---|---|---|
| project_archived_at | Project Archived At | Timestamp the project was archived; null for active projects. | |
| project_company_id | TEXT | Project Company ID | Productive company (client) the project belongs to. |
| project_id | TEXT | Project ID | Unique identifier for the project in Productive.io. |
| project_last_activity_at | Project Last Activity At | Timestamp of the last activity recorded on the project. | |
| project_manager_id | TEXT | Project Manager ID | Productive person ID assigned as project manager. |
| project_name | TEXT | Project Name | Project name as shown in Productive.io. |
| project_number | TEXT | Project Number | Productive's auto-assigned project number. |
Productive.io Services fields
The Services report of the Productive.io connector includes 3 fields.
| ID | Type | Name | Description |
|---|---|---|---|
| service_deal_id | TEXT | Service Deal ID | Deal (budget) the service is attached to. |
| service_id | TEXT | Service ID | Unique identifier for the service. |
| service_name | TEXT | Service Name | Service name as shown in Productive.io. |
Productive.io Tasks fields
The Tasks report of the Productive.io connector includes 10 fields.
| ID | Type | Name | Description |
|---|---|---|---|
| task_assignee_id | TEXT | Task Assignee ID | Productive person ID assigned to the task. |
| task_closed_at | Task Closed At | Timestamp the task was closed; null for open tasks. | |
| task_id | TEXT | Task ID | Unique identifier for the task in Productive.io. |
| task_is_closed | BOOLEAN | Task Closed | Boolean — whether the task is closed. |
| task_last_activity_at | Task Last Activity At | Timestamp of the last activity recorded on the task. | |
| task_project_id | TEXT | Task Project ID | Productive project the task belongs to. |
| task_service_id | TEXT | Task Service ID | Productive service the task is logged against. |
| task_title | TEXT | Task Title | Task title as shown in Productive.io. |
| task_worked_hours | NUMERIC | Task Worked Hours | Task worked minutes converted to hours (assumes minutes). |
| task_worked_minutes | NUMERIC | Task Worked Minutes | Raw `attributes.worked_time` from `/tasks` (assumed minutes). |
Productive.io Time Entries fields
The Time Entries report of the Productive.io connector includes 10 fields.
| ID | Type | Name | Description |
|---|---|---|---|
| time_entry_billable_flag | BOOLEAN | Time Entry Billable | Boolean — whether the time entry has any billable time. Derived from `billable_time > 0` since Productive exposes billability as a numeric, not a boolean attribute. |
| time_entry_billable_minutes | NUMERIC | Time Entry Billable Minutes | Billable portion of the time entry in minutes (`attributes.billable_time`). |
| time_entry_date | DATE | Time Entry Date | The date the time was logged on. |
| time_entry_hours | NUMERIC | Time Entry Hours | Time entry minutes converted to hours. |
| time_entry_id | TEXT | Time Entry ID | Unique identifier for the time entry. |
| time_entry_minutes | NUMERIC | Time Entry Minutes | Raw `attributes.time` from `/time_entries` — minutes per Productive convention. |
| time_entry_note | TEXT | Time Entry Note | Free-text note attached to the time entry. |
| time_entry_person_id | TEXT | Time Entry Person ID | Productive person who logged the time. |
| time_entry_service_id | TEXT | Time Entry Service ID | Productive service the time entry is logged against. |
| time_entry_task_id | TEXT | Time Entry Task ID | Productive task the time entry is logged against. |
Productive.io other fields
The Productive.io connector has 18 fields that do not belong to a named report, or belong to a report with only one or two fields.
| ID | Type | Name | Description | report |
|---|---|---|---|---|
| data_fetched_at | Data fetched at | UTC timestamp (second precision) of when the connector request that pulled the row started. Freshly pulled rows show this request's start time; cache hits keep the start time of the request that filled the cache. Selecting this field disables aggregation, so rows are returned individually (each keeping its own fetch time) instead of being summed. | ||
| datasource | TEXT | Data Source | The name of the Windsor connector returning the row | |
| day_of_month | TEXT | Day of month | Day of the month | |
| month | TEXT | Month | Number of the month | |
| now | Now | Current timestamp | ||
| source | TEXT | Source | The name of the Windsor connector returning the row | |
| today | DATE | Today | Today's date | |
| week | TEXT | Week | Week (Sun-Sat). | |
| week_day | TEXT | Day of week and day number | Weekday number and name combined (Sun-Sat).Numbered from 0 Sunday to 6 Saturday. | |
| week_day_iso | TEXT | Day of week and day number, ISO | Weekday number and name combined, ISO format (Mon-Sun).Numbered from 1 Monday to 7 | |
| week_iso | TEXT | Week ISO | Week, ISO format (Mon-Sun). | |
| year | TEXT | Year | Year | |
| year_month | TEXT | Yearmonth | Year and month, e.g. 2024|3 | |
| year_month_name | TEXT | Year month name | Year and month with the month name written out, e.g. "Jan 2025". | |
| year_of_week | TEXT | Year of week | The year that contains first day of the week (Sun-Sat). | |
| year_of_week_iso | TEXT | Year of week, ISO | The year that contains first day of the ISO week (Mon-Sun). | |
| year_week | TEXT | Year week | Year and week for US weeks (Sun-Sat), e.g. 2024|15 | |
| year_week_iso | TEXT | Year week ISO | Year and week for ISO weeks (Mon-Sun), e.g. 2024|20 |
Windsor vs Coupler.io
