Webhook

Gocious webhook uses OAuth to securely authenticate users and generate access tokens for making authorized API calls. This document provides instructions on how to create and use Gocious webhooks.

Webhook Registration

To register webhook in your workspace, Login to your Gocious workspace and Navigate to Tools->Integrations->Custom Webhook

Click on Custom Webhook and enter the custom webhook details mentioned below.

Name: Name of the custom webhook

Event Trigger: Select the Event trigger from the dropdown (Currently only one event is supported that is for Plan with start date)

Url : your webhook URL where you want to receive the webhook events.

Headers: if your webhook URL is expecting any header other than OAuth credentials those headers you can add it here.

OAuth Details: Enter the Client Id, Client Secret and the Token endpoint in this section, this will be used to get the access token, and add it as Authorization header while calling your webhook URL.

Webhook Payload

{

"milestone": <milestone>,

"requestedModifications": <requestedModification>,

"transactionId": unique identifier for the transaction

"errors" : array of error details

}

webhook payload details:

  • milestone: Details about the modified milestone. In the webhook context, milestone is equivalent to plan within the Gocious workspace.

    • eventDate: The milestone event date.

    • milestoneVersionId: Unique identifier for the milestone version.

    • milestoneId: Unique identifier for the milestone.

    • productline: Details about the product line associated with the milestone.

      • categories: Categories associated with the product line.

        • categoryLevelId: Unique identifier for the category level.

        • id: Unique identifier for the category.

        • name: Name of the category.

      • color: Color code representing the product line.

      • createDate: Date the product line was created.

      • createdBy: User ID of the creator of the product line.

      • status: Status of the product line, possible values are 10 and 20, 10 is active and 20 is inactive

      • thumbnailRefId: Reference ID for the thumbnail image of the product line.

      • id: Unique identifier for the product line.

      • name: Name of the product line.

    • version: Version of the milestone.

    • type: Type of the entity, possible values are 5, which is milestone

    • kpi: Key performance indicators associated with the milestone.

      • abbreviation: Abbreviation for the KPI.

      • thumbnailRefId: Reference ID for the thumbnail image of the KPI.

      • id: Unique identifier for the KPI.

      • name: Name of the KPI.

    • buildableMarketDivisions: Array of market divisions where the milestone is buildable.

    • financials: Financial details associated with the milestone.

      • marketDivisionIds: IDs of market divisions associated with the financials.

      • value: Numeric value of the financial that is associated with the market divisions of marketDivisionIds.

      • unitOfMeasure: Unit of measure for the financial value.

      • id: Unique identifier for the financial.

      • name: Name of the financial.

    • planGroups: Plan groups associated with the milestone. In the webhook context, planGroups are equivalent to plan attributes within the Gocious workspace.

      • id: Unique identifier for the plan group.

      • name: Name of the plan group.

      • abbreviation: Abbreviation for the plan group.

      • color: Color code representing the plan group.

      • planGroupCategoryRef: Reference to the plan group category.

        • id: Unique identifier for the plan group category.

        • name: Name of the plan group category.

        • planGroupCategoryAbbreviation: Abbreviation for the plan group category.

    • published: Boolean value that Indicates whether the milestone is published.

    • workgroupId: Unique identifier for the workgroup associated with the milestone.

    • createDate: Date the milestone was created.

    • createdBy: User ID of the creator of the milestone.

    • updateDate: Date the milestone was last updated.

    • updatedBy: User ID of the user who last updated the milestone.

    • status: Status of the milestone, possible values are 10 and 20, 10 is active and 20 is inactive

    • partitionKey: Partition key of the milestone.

    • id: Unique identifier for the milestone.

    • name: Name of the milestone.

    • featureSet: Features, Products and Market Divisions associated with the milestone.

      • features: List of features.

        • PublishStatus: Publish status of the feature.

        • featureType: Type of the feature.

          • isKey: Indicates whether the feature is a key feature.

          • category: Category of the feature, possible values are 10, 20 and 50. 10 is feature, 20 is product, 50 is market division

          • id: Unique identifier for the feature type.

          • name: Name of the feature type.

        • changeScope: Change scope of the feature, possible values are 0, 1, 2. 0 is unchanged, 1 is new, 2 is changed

        • code: Code of the feature.

        • id: Unique identifier for the feature.

        • name: Name of the feature.

    • stage: Stage of the milestone.

      • abbreviation: Abbreviation for the stage.

      • status: Status of the stage, possible values are 10 and 20, 10 is active and 20 is inactive

      • color: Color code representing the stage.

      • id: Unique identifier for the stage.

      • name: Name of the stage.

  • requestedModifications:

    • entityType: Type of entity being modified, possible values are "Milestone", "Productline"

    • requestPayload: Details of the modification request.

      • <dynamic field>: Original request payload that modified the milestone

      • version: Version of the milestone being modified.

      • milestoneVersionId: ID of the milestone version being modified.

      • milestoneId: ID of the milestone being modified.

  • transactionId: Unique identifier for the transaction.

  • errors: An array containing details about the error encountered. This field is only sent if there is any errors while the milestone was modified.

    • code: The HTTP status code associated with the error.

    • message: A descriptive message explaining the error.