Productboard connector reference

Important

This feature is in Beta. To use it, a workspace admin must turn on Lakeflow Connect for Productboard from the Previews page. See Manage Azure Databricks previews.

The managed Productboard connector in Lakeflow Connect supports 18 source tables in the default schema. Only notes syncs incrementally, using the updatedAt cursor. The other 17 tables use full refresh.

Supported source tables

The Productboard connector supports the following source tables, all under the default source schema:

Source table Primary key Description Sync mode Cursor field
features id Features and subfeatures, with all built-in and custom field values. Full refresh only
products id Products in the product hierarchy, with field values and the first page of relationships. Full refresh only
components id Components in the product hierarchy, with field values. Full refresh only
feature_statuses id The status values that can be assigned to features and subfeatures. Full refresh only
notes id Customer feedback notes, with field values, archive state, and the first page of relationships. Incremental updatedAt
companies id Companies, with field values and the first page of relationships. Full refresh only
users id Users (customer contacts), with field values and the first page of relationships. Full refresh only
members id Workspace members, including disabled members and members with pending invitations. Full refresh only
release_groups id Release groups, with field values and the first page of relationships. Full refresh only
releases id Releases, with field values and the first page of relationships. Full refresh only
objectives id Objectives, with field values and the first page of relationships. Full refresh only
key_results id Key results, with field values and the first page of relationships. Full refresh only
initiatives id Initiatives, with field values and the first page of relationships. Full refresh only
teams id Workspace teams. Full refresh only
feature_relationships feature_id, target_id, relationship_type The complete set of relationships for each feature and subfeature, one row per relationship. Full refresh only
component_relationships component_id, target_id, relationship_type The complete set of relationships for each component, one row per relationship. Full refresh only
field_definitions id, entity_type Field configuration for each entity type, including built-in and custom fields. Full refresh only
note_field_definitions id, note_type Field configuration for each note type (textNote, conversationNote, and opportunityNote). Full refresh only

Connector options

The Productboard connector has the following option. For usage, see Examples.

Option Type Scope Required Applies to Description
start_datetime String Pipeline No notes The earliest updatedAt value to ingest on the first sync, in yyyy-MM-ddTHH:mm:ssZ format (for example, 2024-01-01T00:00:00Z). Defaults to 2020-01-01T00:00:00Z.

Destination table schemas

features

Primary key: id Sync mode: Full refresh only

Field Data type
id STRING
type STRING
createdAt TIMESTAMP
updatedAt TIMESTAMP
fields VARIANT
links STRUCT<self: STRING, html: STRING>
metadata STRUCT<source: STRUCT<system: STRING, recordId: STRING, url: STRING>>

Note

This table does not support SCD type 2 because it has VARIANT columns.

products

Primary key: id Sync mode: Full refresh only

Field Data type
id STRING
type STRING
createdAt TIMESTAMP
updatedAt TIMESTAMP
fields VARIANT
links STRUCT<self: STRING, html: STRING>
relationships STRUCT<data: ARRAY<STRUCT<type: STRING, target: STRUCT<id: STRING, type: STRING, links: STRUCT<self: STRING, html: STRING>>>>, links: STRUCT<next: STRING>>
metadata STRUCT<source: STRUCT<system: STRING, recordId: STRING, url: STRING>>

Note

This table does not support SCD type 2 because it has VARIANT columns.

components

Primary key: id Sync mode: Full refresh only

Field Data type
id STRING
type STRING
createdAt TIMESTAMP
updatedAt TIMESTAMP
fields VARIANT
links STRUCT<self: STRING, html: STRING>
metadata STRUCT<source: STRUCT<system: STRING, recordId: STRING, url: STRING>>

Note

This table does not support SCD type 2 because it has VARIANT columns.

feature_statuses

Primary key: id Sync mode: Full refresh only

Field Data type
id STRING
name STRING
assignedEntityTypes ARRAY<STRING>

notes

Primary key: id Sync mode: Incremental Cursor field: updatedAt

Field Data type
id STRING
type STRING
createdAt TIMESTAMP
updatedAt TIMESTAMP
fields VARIANT
archived BOOLEAN
links STRUCT<self: STRING, html: STRING>
relationships STRUCT<data: ARRAY<STRUCT<type: STRING, target: STRUCT<id: STRING, type: STRING, links: STRUCT<self: STRING>>>>, links: STRUCT<next: STRING>>
metadata STRUCT<source: STRUCT<system: STRING, recordId: STRING, url: STRING>>

Note

This table does not support SCD type 2 because it has VARIANT columns.

companies

Primary key: id Sync mode: Full refresh only

Field Data type
id STRING
type STRING
createdAt TIMESTAMP
updatedAt TIMESTAMP
fields VARIANT
links STRUCT<self: STRING, html: STRING>
relationships STRUCT<data: ARRAY<STRUCT<type: STRING, target: STRUCT<id: STRING, type: STRING, links: STRUCT<self: STRING, html: STRING>>>>, links: STRUCT<next: STRING>>
metadata STRUCT<source: STRUCT<system: STRING, recordId: STRING, url: STRING>>

Note

This table does not support SCD type 2 because it has VARIANT columns.

users

Primary key: id Sync mode: Full refresh only

Field Data type
id STRING
type STRING
createdAt TIMESTAMP
updatedAt TIMESTAMP
fields VARIANT
links STRUCT<self: STRING, html: STRING>
relationships STRUCT<data: ARRAY<STRUCT<type: STRING, target: STRUCT<id: STRING, type: STRING, links: STRUCT<self: STRING, html: STRING>>>>, links: STRUCT<next: STRING>>
metadata STRUCT<source: STRUCT<system: STRING, recordId: STRING, url: STRING>>

Note

This table does not support SCD type 2 because it has VARIANT columns.

members

Primary key: id Sync mode: Full refresh only

Field Data type
id STRING
type STRING
createdAt TIMESTAMP
updatedAt TIMESTAMP
fields STRUCT<name: STRING, username: STRING, email: STRING, role: STRING, disabled: BOOLEAN, invitationPending: BOOLEAN, teams: ARRAY<STRUCT<id: STRING, name: STRING, links: STRUCT<self: STRING>>>>
links STRUCT<self: STRING, html: STRING>

release_groups

Primary key: id Sync mode: Full refresh only

Field Data type
id STRING
type STRING
createdAt TIMESTAMP
updatedAt TIMESTAMP
fields VARIANT
links STRUCT<self: STRING, html: STRING>
relationships STRUCT<data: ARRAY<STRUCT<type: STRING, target: STRUCT<id: STRING, type: STRING, links: STRUCT<self: STRING, html: STRING>>>>, links: STRUCT<next: STRING>>
metadata STRUCT<source: STRUCT<system: STRING, recordId: STRING, url: STRING>>

Note

This table does not support SCD type 2 because it has VARIANT columns.

releases

Primary key: id Sync mode: Full refresh only

Field Data type
id STRING
type STRING
createdAt TIMESTAMP
updatedAt TIMESTAMP
fields VARIANT
links STRUCT<self: STRING, html: STRING>
relationships STRUCT<data: ARRAY<STRUCT<type: STRING, target: STRUCT<id: STRING, type: STRING, links: STRUCT<self: STRING, html: STRING>>>>, links: STRUCT<next: STRING>>
metadata STRUCT<source: STRUCT<system: STRING, recordId: STRING, url: STRING>>

Note

This table does not support SCD type 2 because it has VARIANT columns.

objectives

Primary key: id Sync mode: Full refresh only

Field Data type
id STRING
type STRING
createdAt TIMESTAMP
updatedAt TIMESTAMP
fields VARIANT
links STRUCT<self: STRING, html: STRING>
relationships STRUCT<data: ARRAY<STRUCT<type: STRING, target: STRUCT<id: STRING, type: STRING, links: STRUCT<self: STRING, html: STRING>>>>, links: STRUCT<next: STRING>>
metadata STRUCT<source: STRUCT<system: STRING, recordId: STRING, url: STRING>>

Note

This table does not support SCD type 2 because it has VARIANT columns.

key_results

Primary key: id Sync mode: Full refresh only

Field Data type
id STRING
type STRING
createdAt TIMESTAMP
updatedAt TIMESTAMP
fields VARIANT
links STRUCT<self: STRING, html: STRING>
relationships STRUCT<data: ARRAY<STRUCT<type: STRING, target: STRUCT<id: STRING, type: STRING, links: STRUCT<self: STRING, html: STRING>>>>, links: STRUCT<next: STRING>>
metadata STRUCT<source: STRUCT<system: STRING, recordId: STRING, url: STRING>>

Note

This table does not support SCD type 2 because it has VARIANT columns.

initiatives

Primary key: id Sync mode: Full refresh only

Field Data type
id STRING
type STRING
createdAt TIMESTAMP
updatedAt TIMESTAMP
fields VARIANT
links STRUCT<self: STRING, html: STRING>
relationships STRUCT<data: ARRAY<STRUCT<type: STRING, target: STRUCT<id: STRING, type: STRING, links: STRUCT<self: STRING, html: STRING>>>>, links: STRUCT<next: STRING>>
metadata STRUCT<source: STRUCT<system: STRING, recordId: STRING, url: STRING>>

Note

This table does not support SCD type 2 because it has VARIANT columns.

teams

Primary key: id Sync mode: Full refresh only

Field Data type
id STRING
type STRING
createdAt TIMESTAMP
updatedAt TIMESTAMP
fields STRUCT<name: STRING, handle: STRING, description: STRING>
links STRUCT<self: STRING, html: STRING, members: STRING>

feature_relationships

Primary key: feature_id, target_id, relationship_type Sync mode: Full refresh only

Field Data type
feature_id STRING
target STRUCT<id: STRING, type: STRING, links: STRUCT<self: STRING, html: STRING>>
target_id STRING
relationship_type STRING

component_relationships

Primary key: component_id, target_id, relationship_type Sync mode: Full refresh only

Field Data type
component_id STRING
target STRUCT<id: STRING, type: STRING, links: STRUCT<self: STRING, html: STRING>>
target_id STRING
relationship_type STRING

field_definitions

Primary key: id, entity_type Sync mode: Full refresh only

Field Data type
id STRING
name STRING
path STRING
entity_type STRING
schema VARIANT
values VARIANT
constraints VARIANT
lifecycle VARIANT
default VARIANT
links STRUCT<self: STRING>

Note

This table does not support SCD type 2 because it has VARIANT columns.

note_field_definitions

Primary key: id, note_type Sync mode: Full refresh only

Field Data type
id STRING
name STRING
path STRING
note_type STRING
schema VARIANT
values VARIANT
constraints VARIANT
lifecycle VARIANT
default VARIANT

Note

This table does not support SCD type 2 because it has VARIANT columns.

Required OAuth permissions

The connector requests the following read scopes when it exchanges the signed JWT for an access token. For more information, see Authentication in the Productboard developer documentation.

Permission Required for
entities:read features, products, components, feature_statuses, companies, users, release_groups, releases, objectives, key_results, initiatives, feature_relationships, component_relationships, field_definitions
notes:read notes, note_field_definitions
members:read members
teams:read teams
members:pii:read Unredacted owner and creator emails in entity tables and notes, and unredacted member names, usernames, and emails in members
users:pii:read Unredacted user names and emails in users