← All action domains

Teamwork

32 operations. Call each with POST https://app.chirply.io/api/v1/actions/<name> and a bearer token; the response is { "data": { "action", "summary", "result" } }. A read badge means the operation changes nothing; write requires the credential’s write scope.

Search archive

teamwork.archive_listreadadmin only

Reads 25 archived records and their original JSON, including captured source IDs and timestamps. Archives remain available after disconnecting. File metadata does not include downloaded file bytes.

Parameters

FieldTypeRequiredDescription
resource"projects" | "tasks" | "tasklists" | "people" | "companies" | "milestones" | … 11 morerequiredResource key from teamwork.catalog.
pageintegeroptionalOne-based page. Read next_page to continue; a page is not a complete export. Default: 1
querystringoptionalCase-insensitive title search within this resource. Default: ""

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.archive_list \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "resource": "projects"
  }'
Test with your API key

Over MCP the same operation is the tool teamwork_archive_list at https://app.chirply.io/api/mcp, same bearer token, same input.

Browse Teamwork

teamwork.browsereadadmin only

Reads one page of Teamwork Projects or Chat data using the account-shared account. Follow next_page. Chat only includes accessible conversations; no record is imported or edited. Consumes Teamwork read quota.

Parameters

FieldTypeRequiredDescription
resource"projects" | "tasks" | "tasklists" | "people" | "companies" | "milestones" | … 11 morerequiredResource key from teamwork.catalog.
parent_idstringoptionalRequired source task, project, workflow or conversation ID for a parent-scoped resource. Default: ""
pageintegeroptionalOne-based page. Read next_page to continue; a page is not a complete export. Default: 1

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.browse \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "resource": "projects"
  }'
Test with your API key

Over MCP the same operation is the tool teamwork_browse at https://app.chirply.io/api/mcp, same bearer token, same input.

API coverage

teamwork.catalogreadadmin only

Returns supported reads, write examples, task field mappings and migration limits. Does not contact Teamwork. Examples require replacing sample IDs and may send real messages when executed with teamwork.write.

Parameters

No parameters — POST an empty body.

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.catalog \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
Test with your API key

Over MCP the same operation is the tool teamwork_catalog at https://app.chirply.io/api/mcp, same bearer token, same input.

Refresh chat import

teamwork.chat_import_statusreadadmin only

Reads native Teamwork chat migration cursors, imported message counts and errors for this account. Does not send messages.

Parameters

No parameters — POST an empty body.

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.chat_import_status \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
Test with your API key

Over MCP the same operation is the tool teamwork_chat_import_status at https://app.chirply.io/api/mcp, same bearer token, same input.

Save sync settings

teamwork.configure_syncwriteconfirmadmin only

Chooses coexistence or migration mode. Enabling sync authorizes background changes to explicitly paired tasks on both platforms and may trigger Teamwork automation. Migration mode permits only reads from Teamwork. No deletions are synchronized.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

FieldTypeRequiredDescription
mode"coexist" | "migrate"requiredcoexist uses both; migrate prevents outbound Teamwork writes.
enabledbooleanrequiredEnable automatic paired-task sync. Must be false in migration mode.

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.configure_sync \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "coexist",
    "enabled": true
  }'
Test with your API key

Over MCP the same operation is the tool teamwork_configure_sync at https://app.chirply.io/api/mcp, same bearer token, same input.

Connect Teamwork

teamwork.connectwriteconfirmadmin only

Verifies and encrypts a Teamwork token shared with account administrators. Grants them access within that Teamwork account's permissions. Connecting disables automatic sync and changes no Teamwork data.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

FieldTypeRequiredDescription
site_urlstringrequiredHTTPS Teamwork tenant origin, e.g. https://example.teamwork.com; EU tenant origins supported.
api_tokenstringrequiredTeamwork API token or OAuth bearer token. Encrypted at rest and never returned.
auth_type"api_key" | "bearer"optionalAPI key uses HTTP Basic authentication; bearer accepts an already-issued OAuth token. Default: "api_key"
mode"coexist" | "migrate"optionalcoexist uses both platforms; migrate prepares a one-way move. Connecting alone starts no sync. Default: "coexist"

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.connect \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "site_url": "https://example.com",
    "api_token": "example"
  }'
Test with your API key

Over MCP the same operation is the tool teamwork_connect at https://app.chirply.io/api/mcp, same bearer token, same input.

Connect with Teamwork

teamwork.connect_oauthwriteconfirmadmin only

Creates a ten-minute browser connection link for this account. An authenticated account administrator must approve access in Teamwork; the resulting encrypted token is shared with account admins. Connecting disables automatic sync, imports no records and changes no Teamwork data. Development access is limited to enabled accounts.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

FieldTypeRequiredDescription
mode"coexist" | "migrate"requiredcoexist supports paired task sync; migrate prevents outgoing Teamwork writes.

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.connect_oauth \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "coexist"
  }'
Test with your API key

Over MCP the same operation is the tool teamwork_connect_oauth at https://app.chirply.io/api/mcp, same bearer token, same input.

Pause or resume extraction

teamwork.control_jobwriteadmin only

Pauses or resumes a saved extraction cursor. Resume consumes provider reads. An in-flight page may finish; repeated source IDs update existing archive records.

Parameters

FieldTypeRequiredDescription
idstring (uuid)requiredID of the record in this Chirply workspace.
action"pause" | "resume"requiredPause future work or resume from the saved page.

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.control_job \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11",
    "action": "pause"
  }'
Test with your API key

Over MCP the same operation is the tool teamwork_control_job at https://app.chirply.io/api/mcp, same bearer token, same input.

Preview direct message merge

teamwork.direct_message_planreadadmin only

Lists the imported Teamwork one-to-one conversations that would become native direct messages, and which rooms would be folded together. Reads only; changes nothing. A pair with several untitled Teamwork conversations merges into one thread, because Chirply keeps exactly one direct message per pair of people.

Parameters

No parameters — POST an empty body.

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.direct_message_plan \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
Test with your API key

Over MCP the same operation is the tool teamwork_direct_message_plan at https://app.chirply.io/api/mcp, same bearer token, same input.

Disconnect Teamwork

teamwork.disconnectwriteconfirmadmin only

Removes the saved credential, disables task sync and pauses extraction. Retains archived records and native tasks. An already-running request can finish; does not cancel your Teamwork subscription.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

No parameters — POST an empty body.

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.disconnect \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
Test with your API key

Over MCP the same operation is the tool teamwork_disconnect at https://app.chirply.io/api/mcp, same bearer token, same input.

Find active projects

teamwork.discover_projectsreadadmin only

List Teamwork projects with activity since a chosen date. Reads the connected Teamwork site without modifying it.

Parameters

FieldTypeRequiredDescription
sincestring (date)requiredInclude projects active on or after this date, YYYY-MM-DD.
pageintegeroptionalPage of 100 source projects. Default: 1

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.discover_projects \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "since": "2026-09-17"
  }'
Test with your API key

Over MCP the same operation is the tool teamwork_discover_projects at https://app.chirply.io/api/mcp, same bearer token, same input.

Import next chat batch

teamwork.import_chat_batchwriteconfirmadmin only

Copies up to three saved conversations’ next history pages into native Team Chat, preserving source dates and bylines without sending push notifications. Skips conversations marked membership only. Uses Teamwork API reads and stores message data; file bytes are not copied.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

No parameters — POST an empty body.

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.import_chat_batch \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
Test with your API key

Over MCP the same operation is the tool teamwork_import_chat_batch at https://app.chirply.io/api/mcp, same bearer token, same input.

Copy profile images

teamwork.import_profile_imageswriteconfirmadmin only

Copies current Teamwork users’ public profile photos to Chirply storage. Matches existing members by email and preserves their chosen Chirply photos. Saves photos for pending invitees to apply on verified acceptance. Uses provider reads and storage; sends no invitations.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

No parameters — POST an empty body.

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.import_profile_images \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
Test with your API key

Over MCP the same operation is the tool teamwork_import_profile_images at https://app.chirply.io/api/mcp, same bearer token, same input.

Import task

teamwork.import_taskwriteconfirmadmin only

Creates an account-visible native Chirply Task from a Teamwork task, preserving mapped fields and a private original JSON archive. Repeated imports return the same mapping. Does not copy assignees, subtasks or attachments. Enabled coexistence sync can subsequently write changes back.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

FieldTypeRequiredDescription
source_idstringrequiredNumeric Teamwork task ID visible to the connected account.

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.import_task \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "source_id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool teamwork_import_task at https://app.chirply.io/api/mcp, same bearer token, same input.

Browse extraction jobs

teamwork.list_jobsreadadmin only

Reads 30 extraction jobs with saved cursors, error details and optional status filter. Follow next_page to inspect every resource in a migration, including older failures. Changes no provider data.

Parameters

FieldTypeRequiredDescription
pageintegeroptionalOne-based results page. Default: 1
status"queued" | "running" | "completed" | "failed" | "paused"optionalOptional job status; omit to include every status.

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.list_jobs \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "page": 1,
    "status": "queued"
  }'
Test with your API key

Over MCP the same operation is the tool teamwork_list_jobs at https://app.chirply.io/api/mcp, same bearer token, same input.

Browse all paired tasks

teamwork.list_pairsreadadmin only

Reads 30 paired tasks with source IDs, last shared fields and sync errors. Follow next_page to inspect older pairs and resolve conflicts beyond the recent status view. Makes no Teamwork request or changes.

Parameters

FieldTypeRequiredDescription
pageintegeroptionalOne-based paired-task results page, ordered by stable mapping ID. Default: 1

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.list_pairs \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "page": 1
  }'
Test with your API key

Over MCP the same operation is the tool teamwork_list_pairs at https://app.chirply.io/api/mcp, same bearer token, same input.

Merge direct messages

teamwork.merge_direct_messageswriteconfirmadmin only

Turns imported Teamwork one-to-one conversations into native Chirply direct messages, moving their history into a single thread per pair of people and deleting the emptied rooms. Existing direct messages are merged into, never replaced. Titled rooms, group rooms, and one-to-ones with someone who has no Chirply account are left as channels. Rewrites message ownership rows and removes channels, so preview it first; it sends nothing and notifies nobody.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

No parameters — POST an empty body.

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.merge_direct_messages \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
Test with your API key

Over MCP the same operation is the tool teamwork_merge_direct_messages at https://app.chirply.io/api/mcp, same bearer token, same input.

Pair existing tasks

teamwork.pair_taskwriteconfirmadmin only

Pairs a native Chirply task with an existing Teamwork task only when all mapped fields match. Does not create duplicates or change either task now. Enabled sync subsequently transfers edits in either direction; assignees and non-mapped fields stay independent.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

FieldTypeRequiredDescription
task_idstring (uuid)requiredExisting Chirply task ID in this account.
source_idstringrequiredNumeric Teamwork task ID visible to the connected account.

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.pair_task \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "task_id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11",
    "source_id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool teamwork_pair_task at https://app.chirply.io/api/mcp, same bearer token, same input.

Review task versions

teamwork.preview_taskreadadmin only

Reads the current mapped task fields from Chirply and Teamwork alongside the last shared baseline. Changes no task; consumes one Teamwork read. Review again if either platform changes before resolving a conflict.

Parameters

FieldTypeRequiredDescription
idstring (uuid)requiredID of the record in this Chirply workspace.

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.preview_task \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool teamwork_preview_task at https://app.chirply.io/api/mcp, same bearer token, same input.

Migration progress

teamwork.project_import_statusreadadmin only

Read saved project migration progress and errors. Includes counts, selected content and native project links; does not expose notebook bodies.

Parameters

No parameters — POST an empty body.

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.project_import_status \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
Test with your API key

Over MCP the same operation is the tool teamwork_project_import_status at https://app.chirply.io/api/mcp, same bearer token, same input.

Create active chats

teamwork.provision_chatswriteconfirmadmin only

Creates native channels for accessible Teamwork conversations active since the selected date and maps original participants by email. Private conversations remain private channels. Pending members join on verified invitation acceptance. Does not send invitations or messages; subsequent batches import history. Review aliases and existing channel mappings carefully.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

FieldTypeRequiredDescription
sincestring (date-time)requiredInclude conversations with activity on or after this timestamp.
aliasesmap of string → string (uuid)optionalReviewed Teamwork person ID to existing Chirply user ID aliases. Empty uses email matching. Default: {}
existingmap of string → string (uuid)optionalReviewed Teamwork conversation ID to existing Chirply channel ID mappings; empty creates new rooms. Default: {}
skip_historystring[]optionalTeamwork conversation IDs whose participants should transfer without importing messages. Default: []

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.provision_chats \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "since": "2026-09-17T15:00:00Z"
  }'
Test with your API key

Over MCP the same operation is the tool teamwork_provision_chats at https://app.chirply.io/api/mcp, same bearer token, same input.

Retry migration

teamwork.resume_project_importwriteadmin only

Resume a failed project import from its saved page. Existing imported items are retained and deduplicated; does not overwrite Chirply edits or send messages.

Parameters

FieldTypeRequiredDescription
idstring (uuid)requiredFailed project migration ID.

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.resume_project_import \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool teamwork_resume_project_import at https://app.chirply.io/api/mcp, same bearer token, same input.

Run next batch

teamwork.run_batchwriteconfirmadmin only

Advances a bounded batch of this account's queued extractions and enabled paired-task syncs. Enabled syncs can update real Teamwork tasks and trigger provider automation. Durable cursors retain unfinished work.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

No parameters — POST an empty body.

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.run_batch \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
Test with your API key

Over MCP the same operation is the tool teamwork_run_batch at https://app.chirply.io/api/mcp, same bearer token, same input.

Continue migration

teamwork.run_project_importwriteadmin only

Process one saved project migration page for this account. Reads Teamwork and writes native Chirply project data. Safe to retry after an interruption; no source writes or messages.

Parameters

No parameters — POST an empty body.

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.run_project_import \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
Test with your API key

Over MCP the same operation is the tool teamwork_run_project_import at https://app.chirply.io/api/mcp, same bearer token, same input.

Archive all pages

teamwork.start_archivewriteconfirmadmin only

Queues a resumable extraction of every accessible page for one selected resource and parent. Saves original JSON visible to account admins; does not convert it to native projects or chat, download files, or delete Teamwork data. Consumes API reads in the background.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

FieldTypeRequiredDescription
resource"projects" | "tasks" | "tasklists" | "people" | "companies" | "milestones" | … 11 morerequiredResource key from teamwork.catalog.
parent_idstringoptionalRequired source task, project, workflow or conversation ID for a parent-scoped resource. Default: ""

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.start_archive \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "resource": "projects"
  }'
Test with your API key

Over MCP the same operation is the tool teamwork_start_archive at https://app.chirply.io/api/mcp, same bearer token, same input.

Capture Projects and Chat

teamwork.start_migrationwriteconfirmadmin only

Queues all supported root resources and discovers project files/messages/boards, task comments, board columns and Chat message history. Saves admin-only original JSON, with per-resource errors and resumable cursors. Does not download file bytes or create native projects/chat; import tasks separately. Consumes Teamwork reads and never cancels a subscription.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

No parameters — POST an empty body.

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.start_migration \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
Test with your API key

Over MCP the same operation is the tool teamwork_start_migration at https://app.chirply.io/api/mcp, same bearer token, same input.

Migrate selected projects

teamwork.start_project_importwriteconfirmadmin only

Recreates selected Teamwork projects with their existing project members, task lists, board stages, and selected tasks and notebooks. Grants Projects access to matched existing members and pending invitations while preserving other feature limits. Private items retain restrictions. Background reads resume from saved pages; existing imported records and Chirply edits are preserved on retries. Sends no invitations, changes no Teamwork data and cancels no subscription.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

FieldTypeRequiredDescription
project_idsstring[]requiredProjects selected from the source preview.
tasksbooleanoptionalCopy all project tasks, including completed tasks, with assignments and task lists. Default: true
notebooksbooleanoptionalCopy project notebook content and descriptions. Default: true

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.start_project_import \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "project_ids": [
      "example"
    ]
  }'
Test with your API key

Over MCP the same operation is the tool teamwork_start_project_import at https://app.chirply.io/api/mcp, same bearer token, same input.

Refresh status

teamwork.statusreadadmin only

Reads this account's connection, latest 30 extraction jobs and 100 task mappings with durable errors. Returns no credential and changes no provider data.

Parameters

No parameters — POST an empty body.

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.status \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
Test with your API key

Over MCP the same operation is the tool teamwork_status at https://app.chirply.io/api/mcp, same bearer token, same input.

Sync new messages

teamwork.sync_chat_messageswriteconfirmadmin only

Reads the newest messages in each connected Teamwork conversation and posts anything said since the last check into its linked Team Chat channel, where it appears under the original author’s name and is badged as coming from Teamwork. New messages raise unread badges and send the usual Team Chat notifications to the people in that channel. Conversations imported without history receive only messages written after they were set up. Reads Teamwork only — nothing is written back to Teamwork. This runs automatically every minute; use this to check immediately.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

No parameters — POST an empty body.

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.sync_chat_messages \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
Test with your API key

Over MCP the same operation is the tool teamwork_sync_chat_messages at https://app.chirply.io/api/mcp, same bearer token, same input.

Sync task

teamwork.sync_taskwriteconfirmadmin only

Reconciles mapped fields of one paired task. Stops if both sides changed unless an explicit resolution selects the winning platform. A push overwrites Teamwork mapped fields and may trigger notifications or automation. Teamwork has no atomic conditional write; avoid concurrent editing during this operation.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

FieldTypeRequiredDescription
idstring (uuid)requiredID of the record in this Chirply workspace.
resolution"pull" | "push"optionalFor a reviewed conflict, pull keeps Teamwork fields and push keeps Chirply fields. Omit for normal three-way comparison.

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.sync_task \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool teamwork_sync_task at https://app.chirply.io/api/mcp, same bearer token, same input.

Test connection

teamwork.testwriteadmin only

Checks saved credentials against Teamwork and saves a connection result. Consumes one API read; changes no Teamwork data.

Parameters

No parameters — POST an empty body.

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.test \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
Test with your API key

Over MCP the same operation is the tool teamwork_test at https://app.chirply.io/api/mcp, same bearer token, same input.

Send to Teamwork

teamwork.writewriteconfirmadmin only

Immediately executes one allowlisted Teamwork write in coexistence mode. Can create or update real projects, tasks, boards, comments or send a real Chat message, with provider notifications and automation. Reuse request_id after uncertain outcomes; pending/uncertain requests are held to prevent duplicate delivery. No automatic reverse mapping is created.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

FieldTypeRequiredDescription
request_idstring (uuid)requiredUnique ID for this logical write. Reuse the same ID on retries; uncertain writes are held for review rather than repeated.
method"POST" | "PUT" | "PATCH"requiredTeamwork HTTP write method from its endpoint documentation.
pathstringrequiredAllowlisted relative Teamwork API path without host or query, e.g. /tasks/123.json.
bodymap of string → objectrequiredJSON payload defined by the Teamwork endpoint. Writes affect real Teamwork data and may trigger Teamwork notifications or automation.

Example

curl -X POST https://app.chirply.io/api/v1/actions/teamwork.write \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "request_id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11",
    "method": "POST",
    "path": "example",
    "body": {}
  }'
Test with your API key

Over MCP the same operation is the tool teamwork_write at https://app.chirply.io/api/mcp, same bearer token, same input.

The machine-readable version of this page is GET https://app.chirply.io/api/v1/actions?domain=teamwork — same operations, with full JSON Schemas. Authentication, errors and rate limits are covered in the API documentation home.