Build it
What do you want Ninety and Gmail to do together?
Describe it and your agent reads both APIs, builds the automation, tests every branch and ships it. The list below is what exists today, not the limit.
Ask the assistant
You'll sign in before anything runs. What you typed comes with you.
Or work from Claude Code
Install the APIANT plugin for Claude Code and build, edit, test and read run history from your terminal. Every plan gets this, including free, and it spends no assistant credits.
Connect Claude CodeEverything your agent can do with Ninety and Gmail
Triggers and actions 6 triggers · 44 actions
Trigger
New Issue CreatedTriggered when a new issue is created in Ninety, optionally only on one team or only short-term vs long-term issues.
Trigger
New MeasurableTriggered when a new measurable (KPI) is added to your Ninety scorecard, optionally only those tracked over a given period like weekly or monthly.
Trigger
New TeamTriggered when a new team is created in your Ninety company.
Trigger
To-Do Created, Updated, or DeletedTriggered when a to-do is created or changed in Ninety — including being completed or archived — optionally only on one team or only personal to-dos. Ninety's API does not report hard deletions, so a removed to-do simply stops appearing rather than firing this trigger.
Action
Create IssueCreates an issue on a Ninety team's issues list.
Action
Create MilestoneCreates a milestone on a Ninety rock, with a title and due date.
Action
Create RockCreates a rock (a quarterly goal) for a Ninety team, with a due date, status and level.
Action
Create To-DoCreates a to-do on a Ninety team, with a due date and optional description.
Action
Delete IssueDeletes an existing Issue in Ninety by its ID.
Action
Delete Measurable NoteDeletes the note on a Measurable for one scorecard period.
Action
Delete Measurable ScoreDeletes the score on a Measurable for one scorecard period.
Action
Delete RockDeletes a Rock in Ninety by its ID. Returns the deleted Rock's ID along with the status Ninety returned.
Action
Delete To-DoDeletes a to-do in Ninety by its ID. Use it to remove a to-do that was created by mistake or is no longer needed.
Action
Find IssueSearches Ninety for issues matching the words you provide, optionally narrowed to one team or to short-term vs long-term issues. Returns the matching issues.
Action
Find MeasurableSearches Ninety's scorecard for measurables (KPIs) matching the words you provide, optionally limited to a tracking period like weekly or monthly. Returns the matching measurables.
Action
Find MilestoneSearches Ninety for milestones by title. Ninety carries milestones on their rocks, so this reads the rocks (optionally just one team's) and returns the milestones whose title matches, optionally limited to a single rock.
Action
Find RockSearches Ninety for rocks (quarterly goals) matching the words you provide, optionally narrowed to one team or one status. Returns the matching rocks.
Action
Find TeamReturns the teams in your Ninety company, optionally only those whose name contains the words you provide. Use it to get the team ID other Ninety actions need.
Action
Find To-DoSearches Ninety for to-dos matching the words you provide, optionally narrowed to one team, to personal to-dos, or to finished vs open ones. Returns the matching to-dos.
Action
Update IssueChanges an existing issue in Ninety — its title, detail, team, priority, short-term/long-term setting, or whether it is solved. Fields you leave blank are left as they are.
Action
Update Measurable NoteSaves the note on a Ninety scorecard measurable for one period, replacing any note already there.
Action
Update Measurable ScoreRecords the score on a Ninety scorecard measurable for one period, replacing any score already there.
Action
Update MilestoneChanges an existing milestone in Ninety — its title, detail, due date, owner, or whether it is finished. Fields you leave blank are left as they are.
Action
Update RockChanges an existing rock (quarterly goal) in Ninety — its title, detail, status, owner, team, quarter, due date, or whether it is archived. Fields you leave blank are left as they are.
Action
Update To-DoChanges an existing to-do in Ninety — its title, detail, due date, owner, team, repeat setting, or whether it is done or archived. Fields you leave blank are left as they are.
Trigger
Email SentFires when an email is sent from the mailbox (optionally filtered by query). Managed by Composio (server-side poll; ~15 min floor).
Trigger
New Gmail MessageFires when a new email arrives (optionally filtered by query/labels). Managed by Composio (server-side poll; ~15 min floor).
Action
Add Label To EmailAdds and/or removes specified gmail labels for a message; ensure `message id` and all `label ids` are valid (use 'listlabels' for custom label ids).
Action
Create Email DraftCreates a gmail email draft, supporting to/cc/bcc, subject, plain/html body (ensure `is html=true` for html), attachments, and threading.
Action
Create LabelCreates a new label with a unique name in the specified user's gmail account.
Action
Delete DraftPermanently deletes a specific gmail draft using its id; ensure the draft exists and the user has necessary permissions for the given `user id`.
Action
Delete MessagePermanently deletes a specific email message by its id from a gmail mailbox; for `user id`, use 'me' for the authenticated user or an email address to which the authenticated user has delegated access.
Action
Fetch EmailsFetches a list of email messages from a gmail account, supporting filtering, pagination, and optional full content retrieval.
Action
Fetch Message By Message IdFetches a specific email message by its id, provided the `message id` exists and is accessible to the authenticated `user id`.
Action
Fetch Message By Thread IdRetrieves messages from a gmail thread using its `thread id`, where the thread must be accessible by the specified `user id`.
Action
Get AttachmentRetrieves a specific attachment by id from a message in a user's gmail mailbox, requiring valid message and attachment ids.
Action
Get ContactsFetches contacts (connections) for the authenticated google account, allowing selection of specific data fields and pagination.
Action
Get PeopleRetrieves either a specific person's details (using `resource name`) or lists 'other contacts' (if `other contacts` is true), with `person fields` specifying the data to return.
Action
Get ProfileRetrieves key gmail profile information (email address, message/thread totals, history id) for a user.
Action
List DraftsRetrieves a paginated list of email drafts from a user's gmail account. use verbose=true to get full draft details including subject, body, sender, and timestamp.
Action
List LabelsRetrieves a list of all system and user-created labels for the specified gmail account.
Action
List ThreadsRetrieves a list of email threads from a gmail account, identified by `user id` (email address or 'me'), supporting filtering and pagination.
Action
Modify Thread LabelsAdds or removes specified existing label ids from a gmail thread, affecting all its messages; ensure the thread id is valid.
Action
Move To TrashMoves an existing, non-deleted email message to the trash for the specified user.
Action
Patch LabelPatches the specified label.
Action
Remove LabelPermanently deletes a specific, existing user-created gmail label by its id for a user; cannot delete system labels.
Action
Reply To ThreadSends a reply within a specific gmail thread using the original thread's subject, requiring a valid `thread id` and correctly formatted email addresses. supports attachments via the `attachment` parameter with valid `s3key`, `mimetype`, and `name`.
Action
Search PeopleSearches contacts by matching the query against names, nicknames, emails, phone numbers, and organizations, optionally including 'other contacts'.
Action
Send DraftSends the specified, existing draft to the recipients in the to, cc, and bcc headers.
Action
Send EmailSends an email via gmail api using the authenticated user's google profile display name, requiring `is html=true` if the body contains html and valid `s3key`, `mimetype`, `name` for any attachment.
No trigger or action matches that. Ask your agent to add it: it reads the API documentation and builds what you describe.
Each app on its own
Reviews