Skip to main content

Productive

This page contains the setup guide and reference information for the Productive source connector. The connector reads data from the Productive API (https://api.productive.io/api/v2/).

Prerequisites​

  • A Productive account with access to Settings > API integrations
  • A Productive API token
  • Your Productive organization ID

Setup guide​

Step 1: Get your API token and organization ID​

  1. Sign in to Productive.
  2. Go to Settings > API integrations. The page URL has the form https://app.productive.io/<organization>/settings/api-integrations.
  3. Click Generate new token and copy the token.
  4. Copy your organization ID from the same page.

Productive returns data based on the token's permissions. If a resource isn't visible to the token, the API returns a 403 error for that stream. For details, see Productive's authorization guide.

Step 2: Set up the connector in Airbyte​

  1. In Airbyte, create a new source and select Productive.
  2. Enter your API token in API Key.
  3. Enter your organization ID in Organization ID.
  4. Click Set up source.

The connector sends the API key in the X-Auth-Token header and the organization ID in the X-Organization-Id header on every request, as Productive requires.

Supported sync modes​

All streams support Full Refresh syncs only. The connector doesn't support incremental syncs.

Supported streams​

Each stream reads one Productive API endpoint, relative to https://api.productive.io/api/v2/.

Starting with version 0.1.0, the project_assignments stream is no longer available because Productive retired that endpoint. Use memberships for project access data instead. The boards stream keeps its name but reads Productive's folders endpoint, so its records have type: folders. See the migration guide before you upgrade connections that use either stream.

Stream nameAPI endpointPrimary key
activitiesactivitiesid
approval_policiesapproval_policiesNone
attachmentsattachmentsid
boardsfoldersid
bookingsbookingsid
commentscommentsid
companiescompaniesid
contact_entriescontact_entriesid
custom_field_optionscustom_field_optionsid
custom_fieldscustom_fieldsid
dashboardsdashboardsid
deal_statusesdeal_statusesid
dealsdealsid
document_typesdocument_typesid
entitlementsentitlementsid
eventseventsid
exchange_ratesexchange_ratesid
expensesexpensesid
filtersfiltersid
holiday_calendarsholiday_calendarsid
holidaysholidaysid
invoice_attributionsinvoice_attributionsid
invoicesinvoicesid
line_itemsline_itemsid
lost_reasonslost_reasonsid
membershipsmembershipsid
organization_membershipsorganization_membershipsid
organizationsorganizationsid
page_versionspage_versionsid
pagespagesid
payment_reminder_sequencespayment_reminder_sequencesid
payment_reminderspayment_remindersid
paymentspaymentsid
pipelinespipelinesid
pricespricesid
projectsprojectsid
rate_cardsrate_cardsid
reports_booking-reportsreports/booking_reportsid
reports_timesheet_reportsreports/timesheet_reportsid
salariessalariesid
sectionssectionsid
service_typesservice_typesid
servicesservicesid
sessionssessionsid
subsidiariessubsidiariesid
tagstagsid
task_liststask_listsid
taskstasksid
tax_ratestax_ratesid
time_entriestime_entriesid
time_entry_versionstime_entry_versionsid
timerstimersid
usersusersid
widgetswidgetsid
workflow_statusesworkflow_statusesid
workflowsworkflowsid

Limitations​

Rate limits​

Productive enforces these rate limits:

  • 100 requests per 10 seconds per API token
  • 4,000 requests per 30 minutes per organization
  • 10 requests per 30 seconds per API token for /reports endpoints, which the reports_booking-reports and reports_timesheet_reports streams use
  • 30 minutes of server processing time per hour and 6 hours per day per organization

The connector requests 10 records per page, so each page of every stream counts as one request against these limits. Large organizations can reach the per-organization limit during a sync, especially when you select many streams. When Productive returns a 429 Too Many Requests response, the connector retries up to four times with exponential backoff. If syncs still fail with rate limit errors, select fewer streams or schedule syncs less often.

IP allow list​

If you use Airbyte Cloud and your organization restricts access to specific IPs, add the Airbyte Cloud IP addresses to your allow list.

Reference​

Config fields reference

Field
Type
Property name
API Key
required
string
api_key
string
organization_id

Changelog​

Expand to review
VersionDatePull RequestSubject
0.1.12026-10-1388764Update dependencies
0.1.02026-10-0988227Remove retired project assignments, read boards from folders, and fix organization header
0.0.632026-10-0687985Update dependencies
0.0.622026-09-2987303Update dependencies
0.0.612026-09-2286746Update dependencies
0.0.602026-09-1586175Update dependencies
0.0.592026-09-0885591Update dependencies
0.0.582026-08-1884685Update dependencies
0.0.572026-08-1184073Update dependencies
0.0.562026-08-0483585Update dependencies
0.0.552026-07-2883059Update dependencies
0.0.542026-07-2182559Update dependencies
0.0.532026-07-1481964Update dependencies
0.0.522026-06-3081191Update dependencies
0.0.512026-06-2380611Update dependencies
0.0.502026-06-1679996Update dependencies
0.0.492026-06-0978899Update dependencies
0.0.482026-04-2877358Update dependencies
0.0.472026-04-2176727Update dependencies
0.0.462026-03-3175873Update dependencies
0.0.452026-03-2475375Update dependencies
0.0.442026-03-1074624Update dependencies
0.0.432026-02-2473855Update dependencies
0.0.422026-02-1072670Update dependencies
0.0.412026-01-2071498Update dependencies
0.0.402025-12-1870584Update dependencies
0.0.392025-11-2570041Update dependencies
0.0.382025-11-1869640Update dependencies
0.0.372025-10-2968875Update dependencies
0.0.362025-10-2168388Update dependencies
0.0.352025-10-1467874Update dependencies
0.0.342025-10-0867544Update dependencies
0.0.332025-09-3065701Update dependencies
0.0.322025-08-2465415Update dependencies
0.0.312025-08-0964743Update dependencies
0.0.302025-08-0264244Update dependencies
0.0.292025-07-2663869Update dependencies
0.0.282025-07-1963398Update dependencies
0.0.272025-07-1263246Update dependencies
0.0.262025-07-0562607Update dependencies
0.0.252025-06-2862403Update dependencies
0.0.242025-06-2161892Update dependencies
0.0.232025-06-1461045Update dependencies
0.0.222025-05-2460529Update dependencies
0.0.212025-05-1060061Update dependencies
0.0.202025-05-0459517Update dependencies
0.0.192025-04-2759047Update dependencies
0.0.182025-04-1957308Update dependencies
0.0.172025-03-2956771Update dependencies
0.0.162025-03-2256186Update dependencies
0.0.152025-03-0855060Update dependencies
0.0.142025-02-2354626Update dependencies
0.0.132025-02-1554021Update dependencies
0.0.122025-02-0853506Update dependencies
0.0.112025-02-0153031Update dependencies
0.0.102025-01-2552466Update dependencies
0.0.92025-01-1851927Update dependencies
0.0.82025-01-1151332Update dependencies
0.0.72024-12-2850698Update dependencies
0.0.62024-12-2150279Update dependencies
0.0.52024-12-1449721Update dependencies
0.0.42024-12-1249070Update dependencies
0.0.32024-11-0448289Update dependencies
0.0.22024-10-2847656Update dependencies
0.0.12024-09-1145401Initial release by @btkcodedev via Connector Builder