Skip to content
English
  • There are no suggestions because the search field is empty.

Configuring Webhooks in Ideawake

Use Ideawake webhooks to let tools like Jira, ServiceNow, or Zapier update idea stages and post comments into Ideawake on demand.

Overview:

Ideawake webhooks are inbound APIs. An external system (Jira, ServiceNow, Zapier, or custom middleware) sends a secure POST request into Ideawake to:

• Move an idea to a new workflow stage
• Add a comment on an idea

These endpoints do not push events out of Ideawake. To send Ideawake events to another app (for example, create a Jira issue when an idea reaches Implementation), use your existing Ideawake to Jira or Zapier integration, then use the webhooks below for the return sync.

Base URL: https://endpoint.ideawake.com

Before you start

  1. You need Community Admin (or equivalent) access.
  2. Enable webhook integration and copy your keys.
  3. Decide how you will map Ideawake idea IDs to external tickets (for example, store the Ideawake opportunity/idea ID on the Jira issue). Without that link, the webhook cannot update the correct idea.

Enable webhooks and get your keys

  1. Go to Settings → Community Basic & Sign In Settings.
  2. Enable Webhook Integration / Webhook Signature.
  3. Open Integrations → Webhooks.
  4. Copy: • Base URL • Signature Key used for the Generic webhook (X-Signature) • Webhook API Key used for Comment and Stage Change webhooks (Authorization: Bearer …)

Keep these keys private. Rotate the signature key from the same screen if it is ever exposed.

Which webhook should I use?

Stage Change Endpoint: /webhooks/stage-change Best for: Jira/ServiceNow status → Ideawake stage Auth: Bearer Webhook API Key

Comment Endpoint: /webhooks/comment Best for: External comment → Ideawake idea comment Auth: Bearer Webhook API Key

Generic Endpoint: /webhooks/receive Best for: One signed URL that can do either action Auth: HMAC-SHA256 + Community ID

Most customers should start with Stage Change and Comment. Use Generic only if your system can generate an HMAC signature and you prefer a single endpoint.

Stage Change webhook:

Moves an idea (opportunity) to a new stage when something happens outside Ideawake.

Common example: A Jira issue moves to Done → Ideawake idea moves to Implemented (or your mapped stage).

Request • Method: POST • URL: https://endpoint.ideawake.com/webhooks/stage-change • Headers: Authorization: Bearer Content-Type: application/json

Body: { "opportunityId": "692",
       "newStageId": "414",
       "source": "servicenow",
       "userId": 2,
       "workflowId": 2,
       "generateEmails": false,
       "generateActionItems": false,
       "linkStageFields": false
     }

Field guide:
• opportunityId Required. Ideawake idea/opportunity ID (as a string).
• newStageId Required. Target Ideawake stage ID (as a string).
• source Required. Integration source. Supported values today: servicenow, oneplan.
• userId Optional. Ideawake user associated with the change.
• workflowId Optional. Workflow ID, if applicable.
• generateEmails Optional. Whether to trigger stage emails.
• generateActionItems Optional. Whether to generate action items.
• linkStageFields Optional. Whether to link stage fields.

Quick test (cURL): curl -X POST "https://endpoint.ideawake.com/webhooks/stage-change"
-H "Authorization: Bearer YOUR_WEBHOOK_API_KEY"
-H "Content-Type: application/json"
-d '{ "opportunityId": "692", "newStageId": "414", "source": "servicenow", "generateEmails": false, "generateActionItems": false, "linkStageFields": false }'

Comment webhook:

Creates a comment on an Ideawake idea from an external system.

Common example: Someone comments on a linked Jira issue → that comment appears on the Ideawake idea.

Request • Method: POST • URL: https://endpoint.ideawake.com/webhooks/comment • Headers: Authorization: Bearer Content-Type: application/json

Body:    {

"userId": 123,
"message": "Engineering: verified in staging and ready for release.",
"community": 1,
"entityType": 1,
"entityObjectId": "456",
"anonymous": 0,
"tags": [],
"attachments": [],
"challengeId": 10,
"additionalSettings": {
                       "stageId": 414,
                       "commentVisibiltySettings": {}
                       }
}

Field guide:

• message Required. Comment text.
• community Required. Your Ideawake community ID.
• entityType Required. Entity type for the idea (typically 1 for opportunities/ideas).
• entityObjectId Required. Ideawake idea/opportunity ID.
• userId Required. Ideawake user ID that will appear as the comment author (often a dedicated Integration user).
• anonymous Optional. 0 = named, 1 = anonymous.
• tags / attachments Optional. Extra metadata.
• challengeId Optional. Related challenge ID.
• commentThread Optional. Existing thread ID, if replying in a thread.
• additionalSettings Optional. Stage/visibility settings.
• source Optional. If sent, must be servicenow or oneplan.

Quick test (cURL): curl -X POST "https://endpoint.ideawake.com/webhooks/comment"
-H "Authorization: Bearer YOUR_WEBHOOK_API_KEY"
-H "Content-Type: application/json"
-d '{ "userId": 123, "message": "Synced from Jira", "community": 1, "entityType": 1, "entityObjectId": "456", "anonymous": 0 }'

Generic webhook (advanced):

One endpoint that can handle either a stage change or a comment, based on eventType. Prefer this when your system supports HMAC request signing and you want a single URL.

Request • Method: POST • URL: https://endpoint.ideawake.com/webhooks/receive • Headers: X-Community-Id: X-Signature: Content-Type: application/json

Body shape: { "eventType":
            "opportunity.stage.changed",
            "data": {
                     "opportunityId": "692",
                     "newStageId": "414",
                     "source": "servicenow",
                     "userId": 2,
                     "workflowId": 2,
                     "generateEmails": false,
                     "generateActionItems": false,
                     "linkStageFields": false
                    },
           "metadata":
                    { "timestamp": "2024-01-01T00:00:00Z",
                       "source": "ideawake"
                    }
         }

For comments: • Use eventType: comment.created • Put the comment fields inside data

Supported eventType values: • opportunity.stage.changed • comment.created

Playbook 1: Jira status → Ideawake stage

Goal: When a linked Jira issue is marked Done, move the Ideawake idea to the matching stage.

Recommended flow

  1. Idea reaches an Implementation-type stage in Ideawake.
  2. Your Ideawake → Jira integration (or Zap) creates the Jira issue and stores the Ideawake opportunityId on the issue (custom field recommended).
  3. Work completes in Jira; issue transitions to Done.
  4. Jira Automation (or Zapier) calls the Stage Change webhook.
  5. Ideawake updates the idea stage.

Setup checklist

  1. Create/use a Jira custom field such as Ideawake Opportunity ID.
  2. In Ideawake, note the target stage ID for the status you want (for example, Implemented).
  3. In Jira Automation: • Trigger: Issue transitioned → Done • Action: Send web request • URL: https://endpoint.ideawake.com/webhooks/stage-change • Headers: Authorization: Bearer , Content-Type: application/json • Body: Stage Change JSON, with opportunityId from the custom field and your Ideawake newStageId
  4. Test with one known idea ↔ issue pair.

Playbook 2: Jira comment → Ideawake comment

Goal: When someone comments on the linked Jira issue, post that comment on the Ideawake idea.

Setup checklist

  1. Use the same Ideawake Opportunity ID custom field from Playbook 1.
  2. Create (or choose) an Ideawake user that will own synced comments (for example, “Jira Integration”). Note that user’s userId.
  3. In Jira Automation: • Trigger: Comment added • Action: Send web request to https://endpoint.ideawake.com/webhooks/comment • Body: include message (Jira comment text), entityObjectId (from custom field), community, entityType, and userId
  4. Confirm the comment appears on the idea in Ideawake.

Where do I find the IDs?

• Community ID: Community settings / Integrations webhook screen
• Opportunity / Idea ID: Idea URL or idea details in Ideawake
• Stage ID: Workflow / stage configuration in Ideawake
• User ID: User profile / admin user management (use a dedicated integration user for synced comments)
• Webhook API Key / Signature Key: Integrations → Webhooks (after enabling in Basic Settings)

Troubleshooting

401 Unauthorized Likely cause: Missing or invalid Bearer token or signature What to try: Recopy Webhook API Key; for Generic, verify HMAC over the raw body and X-Community-Id

400 Bad Request Likely cause: Missing required fields or invalid IDs What to try: Confirm opportunityId, newStageId, entityObjectId, userId, and source

Wrong idea updated / no comment Likely cause: Bad ID mapping What to try: Confirm the external ticket stores the correct Ideawake opportunity ID

Signature failures (Generic only) Likely cause: Body changed after signing, or wrong key What to try: Sign the exact raw JSON body; use current Signature Key; rotate only after updating all callers