Skip to content
← Back to documentation
Technical Reference

Ninety

Run the EOS operating system in Ninety: to-dos, issues, rocks, milestones and the scorecard

CategoryProductivity
Authenticationcustom
Version0.1.0
Published scopes0 published scopes
Last updatedOctober 6, 2026

Overview

Connect Ninety with Flows360

Run the EOS operating system in Ninety: to-dos, issues, rocks, milestones and the scorecard

Use the Ninety connector to include its declared actions and events in Flows360 workflows without duplicating the integration logic inside each consuming system. This pinned connector version currently exposes 14 actions and 3 triggers.

Available actions

  • Create To-Do
  • Update To-Do
  • Find To-Dos
  • Create Issue
  • Update Issue
  • Find Issues
  • Create Rock
  • Update Rock
  • Plus 6 additional declared actions.

Available triggers

  • New To-Do
  • New Issue
  • New Rock

The capability list above is generated from the exact reviewed connector package so the public description stays aligned with the version Flows360 operates.

Technical guide

Technical reference

Package identity

  • Connector: Ninety
  • Package: @activepieces/piece-ninety@0.1.0
  • Exact artifact digest: sha256:52cd74016c1a555d08acf023b1e6fc1db5f1c3e0b0cf8de451be0689c2379ae9
  • Runtime: Activepieces-compatible deterministic worker
  • Source: the exact reviewed Activepieces source

Authentication

SECRET TEXT. Connection values are tenant-specific and remain in the consuming Studio instance; CDK stores definitions and field metadata, not customer credential values.

Action contracts

  • Create To-Do (create_todo), Add a to-do to a Ninety team or to your personal list Classification: read.
  • Update To-Do (update_todo), Change a to-do, or mark it complete or archived Classification: read.
  • Find To-Dos (find_todos), Search Ninety to-dos by team, owner, status, text or due date Classification: read.
  • Create Issue (create_issue), Raise an issue on a Ninety team issues list Classification: read.
  • Update Issue (update_issue), Change an issue, move it between terms, or solve it Classification: read.
  • Find Issues (find_issues), Search Ninety issues by team, term or text Classification: read.
  • Create Rock (create_rock), Set a quarterly rock for a Ninety team Classification: read.
  • Update Rock (update_rock), Change a rock, move its status, or archive it Classification: read.
  • Find Rocks (find_rocks), Search Ninety rocks by team, owner, status or quarter horizon Classification: read.
  • Create Milestone (create_milestone), Add a milestone step to an existing rock Classification: read.
  • Find Measurables (find_measurables), Search the Ninety scorecard for measurables Classification: read.
  • Set Measurable Score (set_measurable_score), Record the number for one scorecard period Classification: read.
  • List Teams (list_teams), List the Ninety teams this connection can see Classification: read.
  • Custom API Call (custom_api_call), Make a custom API call to a specific endpoint Classification: read.

Trigger contracts

  • New To-Do, polling.
  • New Issue, polling.
  • New Rock, polling.

Verification

Runtime execution evidence is managed separately from package metadata.

Capability summary

Authenticationcustom
Supported objects17
Supported actions14
Triggers3

Authentication

Authentication method: custom

Authentication profiles

connection · custom
  • Personal Access Token Required · protected credential

Supported objects

ObjectReadWriteNotes
Create To-Do Yes No Add a to-do to a Ninety team or to your personal list
Update To-Do Yes No Change a to-do, or mark it complete or archived
Find To-Dos Yes No Search Ninety to-dos by team, owner, status, text or due date
Create Issue Yes No Raise an issue on a Ninety team issues list
Update Issue Yes No Change an issue, move it between terms, or solve it
Find Issues Yes No Search Ninety issues by team, term or text
Create Rock Yes No Set a quarterly rock for a Ninety team
Update Rock Yes No Change a rock, move its status, or archive it
Find Rocks Yes No Search Ninety rocks by team, owner, status or quarter horizon
Create Milestone Yes No Add a milestone step to an existing rock
Find Measurables Yes No Search the Ninety scorecard for measurables
Set Measurable Score Yes No Record the number for one scorecard period
List Teams Yes No List the Ninety teams this connection can see
Custom API Call Yes No Make a custom API call to a specific endpoint
New To-Do Yes No polling trigger declared by the pinned package.
New Issue Yes No polling trigger declared by the pinned package.
New Rock Yes No polling trigger declared by the pinned package.

Supported actions

Create To-Do · Read

Add a to-do to a Ninety team or to your personal list

create_todo · Risk: low · Retry: safe

Inputs

  • title · string · Required, What needs doing
  • teamId · string · Optional, Leave empty to create a personal to-do instead of a team one
  • userId · string · Optional, Defaults to the token owner when left empty
  • dueDate · string · Optional, Ninety stores a to-do due date as a day, so the time is dropped
  • description · string · Optional
  • repeat · string · Optional, A Ninety recurrence pattern such as weekly or monthly. Leave empty for a one-off to-do.
Update To-Do · Read

Change a to-do, or mark it complete or archived

update_todo · Risk: low · Retry: safe

Inputs

  • todoId · string · Required, The id of the to-do to update
  • title · string · Optional
  • description · string · Optional
  • dueDate · string · Optional, Ninety stores a to-do due date as a day, so the time is dropped
  • teamId · string · Optional, Move the record to this team. Leave empty to keep it where it is.
  • userId · string · Optional, Hand the record to this person. Leave empty to keep the current owner.
  • completed · string · Optional, Marking this Yes is how a record is finished in Ninety
  • archived · string · Optional, Archiving takes the record off the active list
  • repeat · string · Optional, A Ninety recurrence pattern such as weekly or monthly
Find To-Dos · Read

Search Ninety to-dos by team, owner, status, text or due date

find_todos · Risk: low · Retry: safe

Inputs

  • teamId · string · Optional, Leave empty to cover every team the token can see
  • scope · string · Optional, Ninety cannot return personal and team to-dos in one call. Leave empty to let Ninety apply its own default.
  • userIds · array · Optional, Only return records owned by these people
  • completed · string · Optional, Leave on Any to return both completed and open records
  • archived · string · Optional, Leave on Any to let Ninety apply its own default
  • searchText · string · Optional, Matches the title and description
  • title · string · Optional, Matches the whole title only
  • dueDateFrom · string · Optional
  • dueDateTo · string · Optional
  • sort · string · Optional, Ninety sorts to-dos by these fields only. Creation date is not one of them, so leave this empty to take the order Ninety returns.
  • order · string · Optional, Ignored unless Sort By is set
  • page · number · Optional, One based. Leave empty for the first page.
  • pageSize · number · Optional, How many to-dos to return. Ninety allows up to 100.
Create Issue · Read

Raise an issue on a Ninety team issues list

create_issue · Risk: low · Retry: safe

Inputs

  • title · string · Required, The issue headline
  • teamId · string · Required, The Ninety team this record belongs to
  • interval · string · Optional, Short term issues sit on the weekly list, long term on the parking lot
  • priority · string · Optional, Ninety rates issues 0 to 5, where 0 is unrated and 5 is highest
  • userId · string · Optional, Defaults to the token owner when left empty
  • description · string · Optional, Ninety renders this as HTML
Update Issue · Read

Change an issue, move it between terms, or solve it

update_issue · Risk: low · Retry: safe

Inputs

  • issueId · string · Required, The id of the issue to update
  • title · string · Optional
  • teamId · string · Optional, Move the record to this team. Leave empty to keep it where it is.
  • interval · string · Optional, Short term issues sit on the weekly list, long term on the parking lot
  • priority · string · Optional, Ninety rates issues 0 to 5, where 0 is unrated and 5 is highest
  • completed · string · Optional, Marking this Yes is how a record is finished in Ninety
  • description · string · Optional, Ninety renders this as HTML
Find Issues · Read

Search Ninety issues by team, term or text

find_issues · Risk: low · Retry: safe

Inputs

  • teamId · string · Optional, Leave empty to cover every team the token can see
  • intervalCode · string · Optional, Short term issues sit on the weekly list, long term on the parking lot
  • searchText · string · Optional, Matches the title, description and comments
  • sortField · string · Optional
  • sortDirection · string · Optional
  • pageIndex · number · Optional, Zero based. Leave empty for the first page.
  • pageSize · number · Optional, How many issues to return. Ninety defaults to 10.
Create Rock · Read

Set a quarterly rock for a Ninety team

create_rock · Risk: low · Retry: safe

Inputs

  • title · string · Required, What the rock commits to
  • teamId · string · Required, The Ninety team this record belongs to
  • dueDate · string · Required, When the rock is due, usually the end of the quarter
  • statusCode · string · Required
  • levelCode · string · Required, Who the rock belongs to
  • quarter · string · Required
  • description · string · Optional
  • futureScope · string · Optional
  • additionalTeamIds · array · Optional, Other teams that should see this rock
  • addCreatorToFollowersList · boolean · Optional, Add the token owner to the rock followers
Update Rock · Read

Change a rock, move its status, or archive it

update_rock · Risk: low · Retry: safe

Inputs

  • rockId · string · Required, The id of the rock to update
  • title · string · Optional
  • statusCode · string · Optional
  • levelCode · string · Optional
  • quarter · string · Optional
  • dueDate · string · Optional
  • teamId · string · Optional, Move the record to this team. Leave empty to keep it where it is.
  • userId · string · Optional, Hand the record to this person. Leave empty to keep the current owner.
  • description · string · Optional
  • futureScope · string · Optional
  • additionalTeamIds · array · Optional, Other teams that should see this rock
  • clearAdditionalTeams · boolean · Optional, Removes every additional team from the rock. An empty selection above leaves them as they are, so this is the only way to clear them.
  • archived · string · Optional, Archiving takes the record off the active list
Find Rocks · Read

Search Ninety rocks by team, owner, status or quarter horizon

find_rocks · Risk: low · Retry: safe

Inputs

  • teamId · string · Optional, Leave empty to cover every team the token can see
  • userId · string · Optional, Only return records owned by this person
  • statusCode · string · Optional
  • levelCode · string · Optional
  • futureScope · string · Optional
  • archived · string · Optional, Leave on Any to let Ninety apply its own default
  • searchText · string · Optional, Matches the title and description
  • sortField · string · Optional, Ninety does not offer a created-date sort for rocks
  • sortDirection · string · Optional
  • pageIndex · number · Optional, Zero based. Leave empty for the first page.
  • pageSize · number · Optional, How many rocks to return. Ninety allows up to 200.
Create Milestone · Read

Add a milestone step to an existing rock

create_milestone · Risk: low · Retry: safe

Inputs

  • teamId · string · Required, The Ninety team this record belongs to
  • rockId · string · Required, The rock this milestone belongs to
  • title · string · Required, The step this milestone represents
  • dueDate · string · Required
  • description · string · Optional
Find Measurables · Read

Search the Ninety scorecard for measurables

find_measurables · Risk: low · Retry: safe

Inputs

  • teamId · string · Optional, Leave empty to cover every team the token can see
  • userIds · array · Optional, Only return records owned by these people
  • periodInterval · string · Optional, How often the measurable is scored
  • searchTitle · string · Optional
  • searchOwner · string · Optional
  • searchText · string · Optional, Matches the title and description
  • unassignedOnly · boolean · Optional, Only return measurables with nobody accountable for them
  • sortField · string · Optional
  • sortDirection · string · Optional
  • pageIndex · number · Optional, Zero based. Leave empty for the first page.
  • pageSize · number · Optional, How many measurables to return. Ninety defaults to 25.
Set Measurable Score · Read

Record the number for one scorecard period

set_measurable_score · Risk: low · Retry: safe

Inputs

  • teamId · string · Optional, Leave empty to cover every team the token can see
  • measurableId · string · Required, The scorecard measurable to score
  • value · number · Required, The number to record for this period
  • periodStartDate · string · Required, The first day of the period being scored. Ninety keys the score on this, so the same date overwrites.
List Teams · Read

List the Ninety teams this connection can see

list_teams · Risk: low · Retry: safe

Custom API Call · Read

Make a custom API call to a specific endpoint

custom_api_call · Risk: low · Retry: safe

Inputs

  • url · object · Required
  • method · string · Required
  • headers · object · Optional, Authorization headers are injected automatically from your connection.
  • queryParams · object · Optional, Appended to the URL as ?key=value.
  • body_type · string · Optional
  • body · object · Optional
  • response_is_binary · boolean · Optional, Enable for files like PDFs, images, etc.
  • failsafe · boolean · Optional, On a failed request, output the error instead of failing the step.
  • timeout · number · Optional, Seconds to wait for a response. Empty: up to the flow limit (10 min).
  • followRedirects · boolean · Optional, Follow 3xx redirects instead of returning them as the response.

Triggers

New To-Do · Poll

Fires when a to-do is created in Ninety

Inputs

  • teamId · string
  • scope · string
New Issue · Poll

Fires when an issue is raised in Ninety

Inputs

  • teamId · string
  • intervalCode · string
New Rock · Poll

Fires when a rock is created in Ninety

Inputs

  • teamId · string
  • userId · string

Setup

Setup

  1. Add the Ninety connector to the workflow in the target Flows360 Studio instance.
  2. Create or select the tenant-specific connection required by the connector. Connection secrets remain in the Studio connection boundary and are not copied into CDK documentation.
  3. Provide the connection fields declared by the pinned package:
  • No provider credential fields are declared by the pinned package.
  1. Select the required action or trigger and complete its declared input fields. Required and optional inputs are defined by the exact package schema.
  2. Test the workflow in the appropriate environment before enabling production scheduling or event delivery.

Limitations

Limitations and operational notes

  • This content describes @activepieces/piece-ninety@0.1.0; provider behaviour can change independently and should be revalidated when the provider or connector version changes.
  • Only the 14 actions and 3 triggers declared by this pinned package are represented here.
  • Tenant credentials and connection values are not stored in the public connector record.
  • Provider-side permissions, account entitlements, quotas and rate limits remain subject to the connected provider account and are not inferred when the package does not declare them.
  • Runtime execution evidence is managed separately from package metadata.

Troubleshooting

Why canu2019t the connector authenticate?

Check the tenant connection in Studio and confirm every required Ninety connection field is present. Re-authorise OAuth-based connections if the provider token or consent has expired. Do not place credential values in CDK content or logs.

Why is an action or trigger unavailable?

Confirm that the workflow is using @activepieces/piece-ninety@0.1.0 and compare the requested capability with the declared action and trigger list for this version. A capability that is not declared by the pinned package should not be presented as supported.

What should I check after a provider-side change?

Revalidate authentication, required fields, action/trigger behaviour and provider documentation before publishing refreshed connector content or moving a new package version into production.