API Entity Endpoints

Overview

Coordinate's REST api allows you to add, update and retrieve various entities in the system.

Projects

Endpoints

          POST /v1/projects
          POST /v1/projects/:project_id
          POST /v1/projects/:project_id/apply_playbook
          POST /v1/projects/:project_id/files/attach
           GET /v1/projects
           GET /v1/projects?last_modified_dt={iso8601 datetime}&sort={asc/desc}
           GET /v1/projects/:project_id
           GET /v1/projects/external_object_id/:external_object_id
        
The project object

{
   "customers": [],
   "entity_url": "https://app.coordinatehq.com/vendor/0ab37cf1-fc60-4d93-b72b-89335f759581/customer/b73b9bde-78ff-4796-bd1e-c7c743ae5c87/CUSTOMER/b73b9bde-78ff-4796-bd1e-c7c743ae5c87",
   "last_modified_dt": "2022-06-08T15:13:15.303225+00:00",
   "external_object_id": "somekey",
   "project_description": null,
   "project_estimated_effort": null,
   "project_estimated_end_date": null,
   "project_estimated_start_date": null,
   "project_id": "b73b9bde-78ff-4796-bd1e-c7c743ae5c87",
   "project_manager_email": "fixture_admin@dev.coordinate.net",
   "project_manager_full_name": "Fixture Admin",
   "project_name": "MyProject",
   "project_status": "Pre-Sale",
   "project_tags": [],
   "vendor_id": "0ab37cf1-fc60-4d93-b72b-89335f759581",
   "project_active": true,
   "custom_fields": {
      "FieldCheckbox": false,
      "FieldString": null
      "FieldString2": "Some string"
    }
}
        
Project Examples

Create project, load template, invite stakeholder, assign tasks

Optional parameter "suppress_invite_email": true will prevent the invite email from being sent out.


curl -X POST \
     -H "Content-Type: application/json" \
     -H "X_API_KEY: $API_KEY" \
     https://app.coordinatehq.com/api/v1/projects \
     -d '{"manager_email_address": "fixture_admin@dev.coordinate.net", "project_name": "MyProject", "external_object_id": "somekey", "playbook_name": "Template1", "stakeholder_email": "none@dev.coordinate.net", "stakeholder_task_assignment_list": ["Example Task"] }'
        

Update existing project status


curl -X POST \
     -H "Content-Type: application/json" \
     -H "X_API_KEY: $API_KEY" \
     https://app.coordinatehq.com/api/v1/projects/1d860eda-f1dd-4ad9-9293-c2fbb2f965a7 \
     -d '{"project_status": "Active"}'
        

Get all projects modified after a specific date sorting descending


curl -G \
     -H "Content-Type: application/json" \
     -H "X_API_KEY: $API_KEY" \
     -d 'last_modified_dt=2022-05-25T11:13:30.491756+00:00' \
     -d 'sort=desc' \
     https://app.coordinatehq.com/api/v1/projects
        

Apply a playbook to an existing project and assign tasks within to an existing stakeholder


curl -X POST \
     -H "Content-Type: application/json" \
     -H "X_API_KEY: $API_KEY" \
     https://app.coordinatehq.com/api/v1/projects/c6bd7776-a877-42b1-9fd5-cae6579a02a6/apply_playbook \
     -d '{"playbook_name": "T1", "playbook_date": "2022-04-08T16:44:48.792359+00:00", "playbook_date_title": "Task1", "stakeholder_id": "6981a3e5-c42c-4939-932b-0681b8b58593", "stakeholder_task_assignment_list": ["Task1"] }'
        

Update custom fields on a project


curl -X POST \
     -H "Content-Type: application/json" \
     -H "X_API_KEY: $API_KEY" \
     https://app.coordinatehq.com/api/v1/projects/baeed933-3605-43ca-9476-2631b4c4f478 \
     -d '{"custom_fields": {"Field1": true, "Field2": "string from the api" }}'
        

Upload files to a project


curl -H "Bearer: $API_KEY" \
     -F File=@example1.txt \
     -F File=@example2.txt \
     https://app.coordinatehq.com/api/v1/projects/054fcf73-d815-4618-99fd-c0c7871b2eba/files/attach
        

Project Pages

Endpoints

          POST /v1/projects/:project_id/pages/:page_name
           GET /v1/projects/:project_id/pages
           GET /v1/projects/:project_id/pages/:page_name
        
The project page object

{
   "page_name": "Extended Information",
   "page_private": False
   "page_content": "Escaped HTML Content/Etc",
}
        
Project Page Examples

Create project page


curl -X POST \
     -H "Content-Type: application/json" \
     -H "X_API_KEY: $API_KEY" \
     https://app.coordinatehq.com/api/v1/projects/pages/page%20test \
     -d '{"page_content": "HelloWorld", "page_private": true}'
        

Tasks

Endpoints

          POST /v1/projects/:project_id/task
          POST /v1/projects/:project_id/task/:task_id
          POST /v1/projects/:project_id/task/:task_id/files/attach
           GET /v1/projects/:project_id/task
           GET /v1/projects/:project_id/task?last_modified_dt={iso8601 datetime}&sort={asc/desc}
           GET /v1/projects/:project_id/task/:task_id
        
The Task object

{
  "entity_type": "Task",
  "entity_url": "https://app.coordinatehq.com/vendor/0ab37cf1-fc60-4d93-b72b-89335f759581/customer/1d860eda-f1dd-4ad9-9293-c2fbb2f965a7/TASK/b8dc8b2a-6e10-4cef-9a92-53fc90f7cbdb",
  "external_object_id": "somekey",
  "last_modified_dt": "2022-06-08T15:13:15.303225+00:00",
  "group_id": null,
  "project_id": "1d860eda-f1dd-4ad9-9293-c2fbb2f965a7",
  "project_name": "MyProject",
  "task_assignee_stakeholder_email_address": null,
  "task_assignee_stakeholder_full_name": null,
  "task_assignee_stakeholder_id": null,
  "task_completed_by_email": null,
  "task_completed_by_name": null,
  "task_completed_dt": null,
  "task_description": null,
  "task_due_date": null,
  "task_group_title": null,
  "task_id": "b8dc8b2a-6e10-4cef-9a92-53fc90f7cbdb",
  "task_status_current": null,
  "task_tags": ['Tag1', 'Tag2'],
  "task_status_current_dt": null,
  "task_title": "Task Example",
  "time_tracking": [
    {
      "budget": false,
      "entry_dt": "2023-11-09T18:17:12.329000+00:00",
      "entry_id": "53482702-6c16-41dd-88e6-35475edf4c2a",
      "hours": "5",
      "note": "Example Entry",
      "stakeholder_email": "none@dev.coordinate.net",
      "stakeholder_full_name": "Example User",
      "stakeholder_id": "f25030b7-5db0-44d5-ae76-4d310ef24e08"
    },
    {
      "budget": true,
      "entry_dt": "2023-11-09T18:17:19.081000+00:00",
      "entry_id": "342f801a-70ad-477f-b0ca-c27727174ce6",
      "hours": "10",
      "note": "Example of a time budget entry",
      "stakeholder_email": "none@dev.coordinate.net",
      "stakeholder_full_name": "Example User",
      "stakeholder_id": "f25030b7-5db0-44d5-ae76-4d310ef24e08"
    }
  ],
  "form_data": {
    "completed_by": {
      "completed_dt": "2024-01-19T16:59:02.249067+00:00",
      "email": "example@dev.coordinate.net",
      "full_name": "Example Name",
      "is_user": true,
      "user_stakeholder_id": "f25030b7-5db0-44d5-ae76-4d310ef24e08"
    },
    "form_name": "Form",
    "results": {
      "Checkbox Field Example": true,
      "Select Field Example": "first",
      "Text Field Example": "great"
    }
  },
  "vendor_id": "0ab37cf1-fc60-4d93-b72b-89335f759581",
}
        
Task Examples

Create Task


curl -X POST \
     -H "Content-Type: application/json" \
     -H "X_API_KEY: $API_KEY" \
     https://app.coordinatehq.com/api/v1/projects/1d860eda-f1dd-4ad9-9293-c2fbb2f965a7/task \
     -d '{"task_title": "Task Example"}'
        

Update existing Task


curl -X POST \
     -H "Content-Type: application/json" \
     -H "X_API_KEY: $API_KEY" \
     https://app.coordinatehq.com/api/v1/projects/1d860eda-f1dd-4ad9-9293-c2fbb2f965a7/task/b8dc8b2a-6e10-4cef-9a92-53fc90f7cbdb \
     -d '{"group_id": "4f32a96a-bc69-4e3f-a6a2-57644fa5bcb4"}'
        

Attach files to a Task


curl -H "Bearer: $API_KEY" \
     -F File=@example1.txt \
     -F File=@example2.txt \
     https://app.coordinatehq.com/api/v1/projects/d09b37fd-c144-400c-b381-c0ab29d7413b/task/9d6d028d-4adc-45a6-a19f-bfe15ad427f8/files/attach
        

Get all tasks for a project modified after a specific date sorting descending


curl -G \
     -H "X_API_KEY: $API_KEY" \
     -d 'last_modified_dt=2022-05-25T11:13:30.491756+00:00' \
     -d 'sort=asc' \
     http://app.coordinatehq.com/api/v1/projects/0a456b97-eac4-4300-8a21-46092f3707f0/task
        

Create a task in a specific status


curl -X post -H "Bearer: $API_KEY" \
     -H "Content-Type: application/json" \
     -d '{"task_title": "TEST1", "task_status_current": "blocked"}' \
     http://local.coordinatehq.com:5000/api/v1/projects/143b1cc8-48e0-40a1-91f5-922433ffe7bc/task
        
Additional Parameters


{
   "task_status_current": "not_complete|information|in_progress|dependency_wait|blocked|complete"
}
        

Groups

Endpoints

          POST /v1/projects/:project_id/group
          POST /v1/projects/:project_id/group/:group_id
           GET /v1/projects/:project_id/group
           GET /v1/projects/:project_id/group?last_modified_dt={iso8601 datetime}&sort={asc/desc}
           GET /v1/projects/:project_id/group/:group_id
        
The Group object

{
   "entity_type": "Group"
   "last_modified_dt": "2022-06-08T15:13:15.303225+00:00",
   "entity_url": "https://app.coordinatehq.com/vendor/0ab37cf1-fc60-4d93-b72b-89335f759581/customer/1d860eda-f1dd-4ad9-9293-c2fbb2f965a7/CUSTOMER/1d860eda-f1dd-4ad9-9293-c2fbb2f965a7",
   "group_completed_dt": null,
   "group_id": "4f32a96a-bc69-4e3f-a6a2-57644fa5bcb4",
   "group_target_date": null,
   "group_title": "Group Example",
   "project_id": "1d860eda-f1dd-4ad9-9293-c2fbb2f965a7",
   "project_name": "MyProject",
   "vendor_id": "0ab37cf1-fc60-4d93-b72b-89335f759581"
}
        
Group Examples

Create Group


curl -X POST \
     -H "Content-Type: application/json" \
     -H "X_API_KEY: $API_KEY" \
     https://app.coordinatehq.com/api/v1/projects/1d860eda-f1dd-4ad9-9293-c2fbb2f965a7/group \
     -d '{"group_title": "Group Example"}'
        

Update existing Group


curl -X POST \
     -H "Content-Type: application/json" \
     -H "X_API_KEY: $API_KEY" \
     https://app.coordinatehq.com/api/v1/projects/1d860eda-f1dd-4ad9-9293-c2fbb2f965a7/group/4f32a96a-bc69-4e3f-a6a2-57644fa5bcb4 \
     -d '{"group_title": "Group Example Update"}'
        

Stakeholders

Endpoints

          POST /v1/projects/:project_id/stakeholder
           GET /v1/projects/:project_id/stakeholder
           GET /v1/projects/:project_id/stakeholder/:stakeholder_id
        
The Stakeholder object

{
   "entity_type": "Stakeholder",
   "stakeholder_id": "a6a584ff-ea46-4793-9679-5a0256367c2f",
   "last_modified_dt": "2022-05-08T15:13:15.303225+00:00",
   "external_object_id": null,
   "stakeholder_full_name": null,
   "stakeholder_phone": null,
   "stakeholder_project_id": "1d860eda-f1dd-4ad9-9293-c2fbb2f965a7",
   "stakeholder_related_org_id": null,
   "stakeholder_title": null,
   "stakeholder_roles": ['Client Agent'],
   "vendor_id": "0ab37cf1-fc60-4d93-b72b-89335f759581"
}
        
Additional Parameters


POST /v1/projects/:project_id/stakeholder

{
   "stakeholder_invite_message": "Welcome to this project!"
   "stakeholder_role": "Client Agent"
}
        
Stakeholder Examples

Create Stakeholder


curl -X POST \
     -H "Content-Type: application/json" \
     -H "X_API_KEY: $API_KEY" \
     https://app.coordinatehq.com/api/v1/projects/1d860eda-f1dd-4ad9-9293-c2fbb2f965a7/stakeholder \
     -d '{"stakeholder_email_address": "example@dev.coordinate.net"}'
        

Create Stakeholder without full plan access


curl -X POST \
     -H "Content-Type: application/json" \
     -H "X_API_KEY: $API_KEY" \
     https://app.coordinatehq.com/api/v1/projects/1d860eda-f1dd-4ad9-9293-c2fbb2f965a7/stakeholder \
     -d '{"stakeholder_email_address": "example@dev.coordinate.net", "full_plan_access": false}'
        

Goals

Endpoints

          POST /v1/projects/:project_id/goal
          POST /v1/projects/:project_id/goal/:goal_id
           GET /v1/projects/:project_id/goal
           GET /v1/projects/:project_id/goal?last_modified_dt={iso8601 datetime}&sort={asc/desc}
           GET /v1/projects/:project_id/goal/:goal_id
        
The Goal object

{
  "customers": [],
  "entity_type": "Goal",
  "entity_url": "https://app.coordinatehq.com:5000/vendor/0ab37cf1-fc60-4d93-b72b-89335f759581/customer/1d860eda-f1dd-4ad9-9293-c2fbb2f965a7/GOAL/7d286d68-15f3-4289-8cd5-62edbe7fd728",
  "external_object_id": "somekey",
  "goal_completed_by_email": null,
  "goal_completed_by_name": null,
  "goal_completed_dt": null,
  "goal_description": null,
  "goal_id": "7d286d68-15f3-4289-8cd5-62edbe7fd728",
  "goal_sponsor_name": null,
  "goal_target_date": null,
  "goal_title": "Target Goal",
  "project_id": "1d860eda-f1dd-4ad9-9293-c2fbb2f965a7",
  "project_name": "MyProject",
  "vendor_id": "0ab37cf1-fc60-4d93-b72b-89335f759581"
}
        
Goal Examples

Create Goal


curl -X POST \
     -H "Content-Type: application/json" \
     -H "X_API_KEY: $API_KEY" \
     https://app.coordinatehq.com/api/v1/projects/1494ade6-5183-4fa2-ba3c-9c999aff2be6/goal \
     -d '{"goal_title": "Target Goal"}'
        

Update existing Goal


curl -X POST \
     -H "Content-Type: application/json" \
     -H "X_API_KEY: $API_KEY" \
     https://app.coordinatehq.com/api/v1/projects/1494ade6-5183-4fa2-ba3c-9c999aff2be6/goal/fde8622f-e526-452d-aca2-b043f28c3afa \
     -d '{"goal_target_date": "2022-01-02"}'
        

Progress Reports

Endpoints

          GET /v1/projects/:project_id/progress_report
          GET /v1/projects/:project_id/progress_report?last_modified_dt={iso8601 datetime}&sort={asc/desc}
          GET /v1/projects/:project_id/progress_report/:progress_report_id
        
The Progress Report object

{
  "entity_type": "ProgressReport",
  "external_object_id": null,
  "last_modified_dt": "2022-06-08T15:29:43.550210+00:00",
  "progress_report_date": "2022-06-08",
  "progress_report_description": "Explain progress here",
  "progress_report_id": "ea73f008-12c9-4e86-a1a5-3da9ae9c9d70",
  "progress_report_next_steps": "Example Steps",
  "progress_report_project_status": "Pre-Deployment",
  "progress_report_reporter_email": "fixture_admin@dev.coordinate.net",
  "progress_report_reporter_full_name": "Fixture Admin",
  "progress_report_user_id": "f25030b7-5db0-44d5-ae76-4d310ef24e08",
  "project_id": "0a456b97-eac4-4300-8a21-46092f3707f0",
  "vendor_id": "0ab37cf1-fc60-4d93-b72b-89335f759581"
}
        

Discussion Entry (Comments)

Endpoints

          GET /v1/projects/:project_id/discussion_entry
          GET /v1/projects/:project_id/discussion_entry?last_modified_dt={iso8601 datetime}&sort={asc/desc}
          GET /v1/projects/:project_id/task/:task_id/discussion_entry
          GET /v1/projects/:project_id/task/:task_id/discussion_entry?last_modified_dt={iso8601 datetime}&sort={asc/desc}
          GET /v1/projects/:project_id/goal/:goal_id/discussion_entry
          GET /v1/projects/:project_id/goal/:goal_id/discussion_entry?last_modified_dt={iso8601 datetime}&sort={asc/desc}
        
The DiscussionEntry object

{
  "customers": [],
  "discussion_author_name": "Fixture Admin",
  "discussion_comment": "This is an example comment.",
  "discussion_timestamp_dt": "2022-06-08T16:00:54.701622+00:00",
  "discussion_entry_internal": false,
  "entity_type": "DiscussionEntry",
  "entity_url": "http://app.coordinatehq.com/vendor/0ab37cf1-fc60-4d93-b72b-89335f759581/customer/0a456b97-eac4-4300-8a21-46092f3707f0/TASK/9c013e76-301d-4f95-b52d-c12b6b890ce7",
  "last_modified_dt": "2022-06-08T16:00:54.701622+00:00",
  "project_id": "0a456b97-eac4-4300-8a21-46092f3707f0",
  "project_name": "Example",
  "target_entity_title": "Task Title",
  "target_entity_type": "Task",
  "target_entity_id": "9c013e76-301d-4f95-b52d-c12b6b890ce7"
}
        

JSON Storage

Endpoints

This endpoint allows you to get and set a single JSON object to assit with integration work. Suggested uses might storing last update time, last highest ID sync'd etc. 300KB limit.


          POST /v1/json_storage
          GET /v1/json_storage
        

All Entity

Endpoints

          GET /v1/entity
          GET /v1/entity?last_modified_dt={iso8601 datetime}&sort={asc/desc}
        

Webhook API

Overview

Coordinate's webhook API pushes information to a target external URL allowing applications to receive updates as they happen. Most of our customers choose to use Zapier to make it easy to integrate with thousands of applications.

The webhook API is available to all paid Coordinate subscriptions.

Manually Configuring endpoints

Before configuring an endpoint in Coordinate, you must know the target URL for the webhook to send events. If you plan to use Zapier to ingest and process trigger events, see Using Zapier w/ Webhooks. If you are building your own integration, then you will need to know the target url before proceeding.

To add a new endpoint to Coordinate:

  1. Navigate to Settings > Integrations (must be an Administrator to access Integrations)
  2. Next to Webhooks click + Add Endpoint
  3. Enter the Endpoint URL
  4. Optionally include a Nickname (e.g. Send comments to chat)
  5. Click Add Endpoint
And that's it! Coordinate is now sending all update events to the target URL. Read on to learn about the different events and see examples of the data structures included.

Configuring endpoints via the API

To programatically set up a webhook endpoint, you can use our subscription API endpoints. This is also the method Zapier users when adding a new Zap. To make a subscription request you first need to have generated an API key. If you don't yet have an API key follow these steps to create one:

  1. Navigate to Settings > Integrations
  2. Next to "API Keys" click "+ Add API Key" - provide a nickname for the key
  3. Once created, click "reveal key" and copy the key (Do not share this key)
Now that you have a key you can subscribe to or unsubscribe from Coordinate's webhook events using the API calls detailed below.

Add a webhoook subscription

To create a new webhook endpoint via the API, use the webhook_subscribe endpoint.

API call example:

$ curl -H "Content-Type: application/json" \
       -H "X-API-KEY: your_api_key \
       -X POST "https://app.coordinatehq.com/api/v1/webhook_subscribe?hookUrl=your_hook_url
          
Note in the above that you would substitute in your api key and destination webhook target URL. The return value is a JSON containing an id value which is necessary when making an unsubscribe call.
Example reponse body (json):

{
  id: unique_id_for_endpoint
}
          
Remove a webhoook subscription

To remove a webhook endpoint via the API, make a delete call to the webhook_subscribe endpoint while specifying the id of the webhook endpoint to remove.

API call example:

            $ curl -H "Content-Type: application/json" \
                   -H "X-API-KEY: your_api_key \
                   -X DELETE "https://app.coordinatehq.com/api/v1/webhook_subscribe/endpoint_id
          
Note in the above that you would substitute in your api key and endpoint id to remove.

Webhook Events

This section lists all possible webhook events along with examples of the JSON output for each.

All events output a payload in JSON format including the following standard components:

  • entitiy
    Object containing all current values for the entity properties. The available properties differ by type.
  • entity_type
    Property declaring the type of entity in the event
  • entity_action
    The action that triggered the event. Can be "create" or "update"
  • entity_previous_values (update actions only)
    Object containing the values for all entity properties prior to the update action.
  • entity_update_values (update actions only)
    Object containing boolean flags for all entity properties. A true value means that the property was updated during this action.
When processing the output of an update action, you will need to consider property values to interpret the event. For example, if a project status was updated from Active to Complete, the entity_updated_values.project_status flag would be true, the new status would be found in the entity.project_status value, and the previous status would be in the entity_previous_values.project_status value.

Project Created/Updated

Triggered whenever a Project is created or updated.

Event Properties
  • entity
  • Parent object containing current property values.
    • vendor_id
    • Unique ID for the Coordinate parent account. Usually not needed.
    • project_id
    • Unique ID for the Project.
    • project_name
    • Name of the Project.
    • project_description
    • Description of the Project. Contains HTML tags, so may need to be stripped/converted depending on the destination.
    • project_status
    • Status of the Project.
    • project_manager_full_name
    • Assigned users's name.
    • project_manager_email
    • Email of the assigned user.
    • project_tags
    • List of tags applied to the Project.
    • entity_url
    • URL to the project. This is the shareable URL that may be used by both Users and Stakeholders.
    • customers
    • List of Customer organizations associated with the Project. Each entry has the fields listed below.
      • customer_name
      • Name of the associated Customer organization.
      • customer_id
      • Unique ID of the associated Customer organization.
    • entity_type
    • Type of object for the event. In this case the value will be Project.
    • entity_action
    • The action triggering the event. The value will be create for new Projects or update for changes to existing Projects.
    • entity_previous_values
    • Parent object listing previous property values before the current action. Only present for update actions. See entity above for available properties in this object.
    • entity_updated_values
    • Parent object containing boolean flags (true/false) for each property indicating which have been updated. Only present for update actions. See entity above for available properties in this object.
Example Event

The below example is an update event for a Project where the status was updated from Pre-Sale to Active.


{
  "entity": {
    "vendor_id": "53220b7f-4c1d-4de1-a176-fe1617a278e7",
    "project_id": "49d2a4be-6dde-4672-a1ba-950ee59a6ee1",
    "project_name": "Example New Project",
    "project_description": "<p>Example description:</p><ul><li>List item 1</li><li>List item 2</li></ul><p><a href=\"http://www.coodinatehq.com\" rel=\"noopener noreferrer\" target=\"_blank\">Link to another site</a></p><p><br></p>",
    "project_status": "Active",
    "project_manager_full_name": "Jon Allen",
    "project_manager_email": "jon@yourco.com",
    "project_tags": [
      "Example Tag"
    ],
    "entity_url": "https://app.coordinatehq.com/vendor/53220b7f-4c1d-4de1-a176-fe1617a278e7/customer/49d2a4be-6dde-4672-a1ba-950ee59a6ee1/CUSTOMER/49d2a4be-6dde-4672-a1ba-950ee59a6ee1",
    "customers": [
      {
        "customer_name": "Example Customer Org",
        "customer_id": "e9a2c959-4bb5-4033-8e8c-9d0d9568dfb4"
      }
    ],
    "entity_type": "Project",
    "entity_action": "update",
    "entity_previous_values": {
      "vendor_id": "53220b7f-4c1d-4de1-a176-fe1617a278e7",
      "project_id": "49d2a4be-6dde-4672-a1ba-950ee59a6ee1",
      "project_name": "Example New Project",
      "project_description": "<p>Example description:</p><ul><li>List item 1</li><li>List item 2</li></ul><p><a href=\"http://www.coodinatehq.com\" rel=\"noopener noreferrer\" target=\"_blank\">Link to another site</a></p><p><br></p>",
      "project_status": "Pre-Sale",
      "project_manager_full_name": "Jon Allen",
      "project_manager_email": "jon@yourco.com",
      "project_tags": [
        "Example Tag"
      ],
      "entity_url": "https://app.coordinatehq.com/vendor/53220b7f-4c1d-4de1-a176-fe1617a278e7/customer/49d2a4be-6dde-4672-a1ba-950ee59a6ee1/CUSTOMER/49d2a4be-6dde-4672-a1ba-950ee59a6ee1",
      "customers": [
        {
          "customer_name": "Example Customer Org",
          "customer_id": "e9a2c959-4bb5-4033-8e8c-9d0d9568dfb4"
        }
      ]
    },
    "entity_updated_values": {
      "vendor_id": false,
      "project_id": false,
      "project_name": false,
      "project_description": false,
      "project_status": true,
      "project_manager_full_name": false,
      "project_manager_email": false,
      "project_tags": false,
      "entity_url": false,
      "customers": false
    }
  }
}
          
Task Created/Updated

Triggered whenever a Task is created or updated.

Event Properties
  • entity
  • Parent object containing current property values.
    • vendor_id
    • Unique ID for the Coordinate parent account. Usually not needed.
    • project_id
    • Unique ID for the Project.
    • project_name
    • Name of the Project.
    • customers
    • List of Customer organizations associated with the Project. Each entry has the fields listed below.
      • customer_name
      • Name of the associated Customer organization.
      • customer_id
      • Unique ID of the associated Customer organization.
    • task_id
    • Unique ID of the Task.
    • task_title
    • Title of the Task.
    • task_description
    • Description of the Task. Contains HTML tags, so may need to be stripped/converted depending on the destination.
    • task_due_date
    • Task due date in YYYY-MM-DD format. Will be null if there is no due date.
    • task_completed_dt
    • Timestamp when the Task was completed. Timestamp is in ISO 8601 format w/ Timezone information. For example 2021-12-17T17:47:05.796370+00:00. Will be null if task is not completed.
    • task_completed_by_name
    • Name of the User or Stakeholder that marked the Task as complete. Will be null if the task is not completed.
    • task_completed_by_email
    • Email of the User or Stakeholder that marked the Task as complete. Will be null if the task is not completed.
    • task_status_current
    • Status of the Task.
    • task_status_current_dt
    • Timestamp when the current status was set. Timestamp is in ISO 8601 format w/ Timezone information. For example 2021-12-17T17:47:05.796370+00:00
    • group_id
    • Unique ID of the parent Task Group if applicable. Will be null if the Task is not in a Task Group.
    • task_group_title
    • Name of the parent Task Group if applicable. Will be null if the Task is not in a Task Group.
    • task_assignee_stakeholder_email_address
    • Email address of the assigned User or Stakeholder. Will be null if Task is unassigned.
    • task_assignee_stakeholder_id
    • Unique ID of the assigned User or Stakeholder. Will be null if Task is unassigned.
    • task_assignee_stakeholder_full_name
    • Name of the assigned User or Stakeholder. Will be null if Task is unassigned.
    • entity_url
    • URL to the Project. This is the shareable URL that may be used by both Users and Stakeholders.
    • entity_type
    • Type of object for the event. In this case the value will be Task.
    • entity_action
    • The action triggering the event. The value will be create for new Tasks or update for changes to existing Tasks.
    • entity_previous_values
    • Parent object listing previous property values before the current action. Only present for update actions. See entity above for available properties in this object.
    • entity_updated_values
    • Parent object containing boolean flags (true/false) for each property indicating which have been updated. Only present for update actions. See entity above for available properties in this object.
Example Event

The below example is an update event for a Task where the status was changed from in_progress to complete.


{
  "entity": {
    "vendor_id": "53220b7f-4c1d-4de1-a176-fe1617a278e7",
    "project_id": "49d2a4be-6dde-4672-a1ba-950ee59a6ee1",
    "project_name": "Example New Project",
    "customers": [
      {
        "customer_name": "Example Customer Org",
        "customer_id": "e9a2c959-4bb5-4033-8e8c-9d0d9568dfb4"
      }
    ],
    "task_id": "20294d22-afde-46da-950c-c21826f5982a",
    "group_id": "24180029-87d0-47a3-a4cc-cac92e4db2c8",
    "task_title": "Example Task",
    "task_description": "<p>Example description:</p><ul><li>List item 1</li><li>List item 2</li></ul>",
    "task_due_date": "2021-12-23",
    "task_completed_dt": "2021-12-17T17:47:05.796370+00:00",
    "task_completed_by_name": "Jon Allen",
    "task_completed_by_email": "jon@yourco.com",
    "task_status_current": "complete",
    "task_status_current_dt": "2021-12-17T17:47:05.796370+00:00",
    "task_group_title": "Example Task Group",
    "entity_url": "https://app.coordinatehq.com/vendor/53220b7f-4c1d-4de1-a176-fe1617a278e7/customer/49d2a4be-6dde-4672-a1ba-950ee59a6ee1/TASK/20294d22-afde-46da-950c-c21826f5982a",
    "task_assignee_stakeholder_email_address": "jon@yourco.com",
    "task_assignee_stakeholder_id": "4d6278f9-3654-4da7-854d-c539783bda5b",
    "task_assignee_stakeholder_full_name": "Jon Allen",
    "entity_type": "Task",
    "entity_action": "update",
    "entity_previous_values": {
      "vendor_id": "53220b7f-4c1d-4de1-a176-fe1617a278e7",
      "project_id": "49d2a4be-6dde-4672-a1ba-950ee59a6ee1",
      "project_name": "Example New Project",
      "customers": [
        {
          "customer_name": "Example Customer Org",
          "customer_id": "e9a2c959-4bb5-4033-8e8c-9d0d9568dfb4"
        }
      ],
      "task_id": "20294d22-afde-46da-950c-c21826f5982a",
      "group_id": "24180029-87d0-47a3-a4cc-cac92e4db2c8",
      "task_title": "Example Task",
      "task_description": "<p>Example description:</p><ul><li>List item 1</li><li>List item 2</li></ul>",
      "task_due_date": "2021-12-23",
      "task_completed_dt": null,
      "task_completed_by_name": null,
      "task_completed_by_email": null,
      "task_status_current": "in_progress",
      "task_status_current_dt": "2021-12-17T17:46:46.212951+00:00",
      "task_group_title": "Example Task Group",
      "entity_url": "https://app.coordinatehq.com/vendor/53220b7f-4c1d-4de1-a176-fe1617a278e7/customer/49d2a4be-6dde-4672-a1ba-950ee59a6ee1/TASK/20294d22-afde-46da-950c-c21826f5982a",
      "task_assignee_stakeholder_email_address": "jon@yourco.com",
      "task_assignee_stakeholder_id": "4d6278f9-3654-4da7-854d-c539783bda5b",
      "task_assignee_stakeholder_full_name": "Jon Allen"
    },
    "entity_updated_values": {
      "vendor_id": false,
      "project_id": false,
      "project_name": false,
      "customers": false,
      "task_id": false,
      "group_id": false,
      "task_title": false,
      "task_description": false,
      "task_due_date": false,
      "task_completed_dt": true,
      "task_completed_by_name": true,
      "task_completed_by_email": true,
      "task_status_current": true,
      "task_status_current_dt": true,
      "task_group_title": false,
      "entity_url": false,
      "task_assignee_stakeholder_email_address": false,
      "task_assignee_stakeholder_id": false,
      "task_assignee_stakeholder_full_name": false
    }
  }
}
          
Task Group Created/Updated

Triggered whenever a Task Group is created or updated.

Event Properties
  • entity
  • Parent object containing current property values.
    • vendor_id
    • Unique ID for the Coordinate parent account. Usually not needed.
    • project_id
    • Unique ID for the Project.
    • project_name
    • Name of the Project.
    • customers
    • List of Customer organizations associated with the Project. Each entry has the fields listed below.
      • customer_name
      • Name of the associated Customer organization.
      • customer_id
      • Unique ID of the associated Customer organization.
    • group_id
    • Unique ID of the Task Group.
    • group_title
    • Name of the Task Group.
    • group_target_date
    • Target completion date for the Task Group in YYYY-MM-DD format.
    • group_completed_dt
    • Timestamp when the Task Group was completed. Timestamp is in ISO 8601 format w/ Timezone information. For example 2021-12-17T17:47:05.796370+00:00. Will be null if if not completed.
    • entity_url
    • URL to the Group. This is the shareable URL that may be used by both Users and Stakeholders.
    • entity_type
    • Type of object for the event. In this case the value will be Group.
    • entity_action
    • The action triggering the event. The value will be create for new Task Groups or update for changes to existing Task Groups.
    • entity_previous_values
    • Parent object listing previous property values before the current action. Only present for update actions. See entity above for available properties in this object.
    • entity_updated_values
    • Parent object containing boolean flags (true/false) for each property indicating which have been updated. Only present for update actions. See entity above for available properties in this object.
Example Event

The below example is an update event for a Task Group where the target date was delayed a week from 12/14 to 12/31.


{
  "entity": {
    "vendor_id": "53220b7f-4c1d-4de1-a176-fe1617a278e7",
    "project_id": "49d2a4be-6dde-4672-a1ba-950ee59a6ee1",
    "project_name": "Example New Project",
    "customers": [
      {
        "customer_name": "Example Customer Org",
        "customer_id": "e9a2c959-4bb5-4033-8e8c-9d0d9568dfb4"
      }
    ],
    "group_id": "24180029-87d0-47a3-a4cc-cac92e4db2c8",
    "group_title": "Example Task Group",
    "group_target_date": "2021-12-31",
    "group_completed_dt": null,
    "entity_url": "https://app.coordinatehq.com/vendor/53220b7f-4c1d-4de1-a176-fe1617a278e7/customer/49d2a4be-6dde-4672-a1ba-950ee59a6ee1/CUSTOMER/49d2a4be-6dde-4672-a1ba-950ee59a6ee1",
    "entity_type": "Group",
    "entity_action": "update",
    "entity_previous_values": {
      "vendor_id": "53220b7f-4c1d-4de1-a176-fe1617a278e7",
      "project_id": "49d2a4be-6dde-4672-a1ba-950ee59a6ee1",
      "project_name": "Example New Project",
      "customers": [
        {
          "customer_name": "Example Customer Org",
          "customer_id": "e9a2c959-4bb5-4033-8e8c-9d0d9568dfb4"
        }
      ],
      "group_id": "24180029-87d0-47a3-a4cc-cac92e4db2c8",
      "group_title": "Example Task Group",
      "group_target_date": "2021-12-24",
      "group_completed_dt": null,
      "entity_url": "https://app.coordinatehq.com/vendor/53220b7f-4c1d-4de1-a176-fe1617a278e7/customer/49d2a4be-6dde-4672-a1ba-950ee59a6ee1/CUSTOMER/49d2a4be-6dde-4672-a1ba-950ee59a6ee1"
    },
    "entity_updated_values": {
      "vendor_id": false,
      "project_id": false,
      "project_name": false,
      "customers": false,
      "group_id": false,
      "group_title": false,
      "group_target_date": true,
      "group_completed_dt": false,
      "entity_url": false
    }
  }
}
          
Goal Created/Updated

Triggered whenever a Goal is created or updated.

Event Properties
  • entity
  • Parent object containing current property values.
    • vendor_id
    • Unique ID for the Coordinate parent account. Usually not needed.
    • project_id
    • Unique ID for the Project.
    • project_name
    • Name of the Project.
    • customers
    • List of Customer organizations associated with the Project. Each entry has the fields listed below.
      • customer_name
      • Name of the associated Customer organization.
      • customer_id
      • Unique ID of the associated Customer organization.
    • goal_id
    • Unique ID of the Goal.
    • goal_title
    • Name of the Goal.
    • goal_description
    • Description of the Goal. Contains HTML tags, so may need to be stripped/converted depending on the destination.
    • goal_target_date
    • Target date for achievement of the Goal in YYYY-MM-DD format. Will be null if Goal has no target date.
    • goal_completed_dt
    • Timestamp when the Goal was completed. Timestamp is in ISO 8601 format w/ Timezone information. For example 2021-12-17T17:47:05.796370+00:00. Will be null if the Goal is not complete.
    • entity_url
    • URL to the Goal. This is the shareable URL that may be used by both Users and Stakeholders.
    • entity_type
    • Type of object for the event. In this case the value will be Goal.
    • entity_action
    • The action triggering the event. The value will be create for new Goals or update for changes to existing Goals.
    • entity_previous_values
    • Parent object listing previous property values before the current action. Only present for update actions. See entity above for available properties in this object.
    • entity_updated_values
    • Parent object containing boolean flags (true/false) for each property indicating which have been updated. Only present for update actions. See entity above for available properties in this object.
Example Event

The below example is an update event for a Goal where the Goal has been achieved.


{
  "entity": {
    "vendor_id": "53220b7f-4c1d-4de1-a176-fe1617a278e7",
    "project_id": "49d2a4be-6dde-4672-a1ba-950ee59a6ee1",
    "project_name": "Example New Project",
    "customers": [
      {
        "customer_name": "Example Customer Org",
        "customer_id": "e9a2c959-4bb5-4033-8e8c-9d0d9568dfb4"
      }
    ],
    "goal_id": "5f25c893-f497-4785-9624-07da4b7b2b4d",
    "goal_sponsor_name": "Sue Vespa",
    "goal_completed_dt": "2021-12-17T18:23:35.860163+00:00",
    "goal_completed_by_email": "jon@yourco.com",
    "goal_completed_by_name": "Jon Allen",
    "goal_title": "Example Goal",
    "goal_description": "<p>Example Goal description</p><ul><li>List Item 1</li><li>List Item 2</li></ul>",
    "goal_target_date": "2022-02-23",
    "entity_url": "https://app.coordinatehq.com/vendor/53220b7f-4c1d-4de1-a176-fe1617a278e7/customer/49d2a4be-6dde-4672-a1ba-950ee59a6ee1/GOAL/5f25c893-f497-4785-9624-07da4b7b2b4d",
    "entity_type": "Goal",
    "entity_action": "update",
    "entity_previous_values": {
      "vendor_id": "53220b7f-4c1d-4de1-a176-fe1617a278e7",
      "project_id": "49d2a4be-6dde-4672-a1ba-950ee59a6ee1",
      "project_name": "Example New Project",
      "customers": [
        {
          "customer_name": "Example Customer Org",
          "customer_id": "e9a2c959-4bb5-4033-8e8c-9d0d9568dfb4"
        }
      ],
      "goal_id": "5f25c893-f497-4785-9624-07da4b7b2b4d",
      "goal_sponsor_name": "Sue Vespa",
      "goal_completed_dt": null,
      "goal_completed_by_email": null,
      "goal_completed_by_name": null,
      "goal_title": "Example Goal",
      "goal_description": "<p>Example Goal description</p><ul><li>List Item 1</li><li>List Item 2</li></ul>",
      "goal_target_date": "2022-02-23",
      "entity_url": "https://app.coordinatehq.com/vendor/53220b7f-4c1d-4de1-a176-fe1617a278e7/customer/49d2a4be-6dde-4672-a1ba-950ee59a6ee1/GOAL/5f25c893-f497-4785-9624-07da4b7b2b4d"
    },
    "entity_updated_values": {
      "vendor_id": false,
      "project_id": false,
      "project_name": false,
      "customers": false,
      "goal_id": false,
      "goal_sponsor_name": false,
      "goal_completed_dt": true,
      "goal_completed_by_email": true,
      "goal_completed_by_name": true,
      "goal_title": false,
      "goal_description": false,
      "goal_target_date": false,
      "entity_url": false
    }
  }
}
          
Customer Created/Updated

Triggered whenever a Customer organization is created or updated.

Event Properties
  • entity
  • Parent object containing current property values.
    • vendor_id
    • Unique ID for the Coordinate parent account. Usually not needed.
    • customer_id
    • Unique ID for the Customer.
    • customer_name
    • Name of the Customer.
    • customer_description
    • Description of the Customer. Contains HTML tags, so may need to be stripped/converted depending on the destination.
    • entity_type
    • Type of object for the event. In this case the value will be Customer.
    • entity_action
    • The action triggering the event. The value will be create for new Customers or update for changes to existing Customers.
    • entity_previous_values
    • Parent object listing previous property values before the current action. Only present for update actions. See entity above for available properties in this object.
    • entity_updated_values
    • Parent object containing boolean flags (true/false) for each property indicating which have been updated. Only present for update actions. See entity above for available properties in this object.
Example Event

The below example is an update event for a Customer where the description has been changed adding a third item to a bulleted list.


{
  "entity": {
    "vendor_id": "53220b7f-4c1d-4de1-a176-fe1617a278e7",
    "customer_id": "e9a2c959-4bb5-4033-8e8c-9d0d9568dfb4",
    "customer_name": "Example Customer Org",
    "customer_description": "<p>Example description</p><ul><li>List item 1</li><li>List item 2</li><li>List item 3</li></ul>",
    "entity_type": "Customer",
    "entity_action": "update",
    "entity_previous_values": {
      "vendor_id": "53220b7f-4c1d-4de1-a176-fe1617a278e7",
      "customer_id": "e9a2c959-4bb5-4033-8e8c-9d0d9568dfb4",
      "customer_name": "Example Customer Org",
      "customer_description": "<p>Example description</p><ul><li>List item 1</li><li>List item 2</li></ul>"
    },
    "entity_updated_values": {
      "vendor_id": false,
      "customer_id": false,
      "customer_name": false,
      "customer_description": true
    }
  }
}
          
Comment Added

Triggered whenever a new comment is added to a Task, Goal, or Project.

Event Properties
  • entity
  • Parent object containing current property values.
    • project_id
    • Unique ID for the Project.
    • project_name
    • Name of the Project.
    • customers
    • List of Customer organizations associated with the Project. Each entry has the fields listed below.
      • customer_name
      • Name of the associated Customer organization.
      • customer_id
      • Unique ID of the associated Customer organization.
    • target_entity_type
    • Type of object the comment is on.
    • target_entity_title
    • Name of the object the comment is on.
    • discussion_author_name
    • Name of the User or Stakeholder that wrote the comment.
    • discussion_timestamp_dt
    • Timestamp when the comment was added. Timestamp is in ISO 8601 format w/ Timezone information. For example 2021-12-17T17:47:05.796370+00:00.
    • discussion_comment
    • The comment itself. Contains HTML tags, so may need to be stripped/converted depending on the destination.
    • entity_url
    • URL to the target entity. This is the shareable URL that may be used by both Users and Stakeholders.
    • entity_type
    • Type of object for the event. In this case the value will be DiscussionEntry.
    • entity_action
    • The action triggering the event. For new comments this value will always be create.
Example Event

The below example is an create event for a Comment on a Task.


{
  "entity": {
    "target_entity_type": "Task",
    "target_entity_title": "Example Task",
    "project_id": "49d2a4be-6dde-4672-a1ba-950ee59a6ee1",
    "project_name": "Example New Project",
    "customers": [
      {
        "customer_name": "Example Customer Org",
        "customer_id": "e9a2c959-4bb5-4033-8e8c-9d0d9568dfb4"
      }
    ],
    "discussion_author_name": "Jon Allen",
    "discussion_comment": "<p><strong>@sue</strong> Example of a new comment to sue.</p>",
    "discussion_timestamp_dt": "2021-12-17T18:46:48.307980+00:00",
    "entity_url": "https://app.coordinatehq.com/vendor/53220b7f-4c1d-4de1-a176-fe1617a278e7/customer/49d2a4be-6dde-4672-a1ba-950ee59a6ee1/TASK/20294d22-afde-46da-950c-c21826f5982a",
    "entity_type": "DiscussionEntry",
    "entity_action": "create"
  }
}
          

Using Zapier w/ Webhooks

Zapier has easy-to-use tools to capture and process Coordinate's webhook events to then sync information or trigger workflows in thousands of other applications. Most of our customer choose to use Zapier when utilizing our webhook API for its simplicity and wide support with other platforms.

You can find our Zapier app page here: https://zapier.com/apps/coordinate/integrations

Don't see what you're looking for? Tell us about your integration needs and we'll help you get set up!