POST
your-webhook-endpoint
Lead Note Events
curl --request POST \
  --url https://app.journeybee.io/api/v1/your-webhook-endpoint \
  --header 'Authorization: Bearer <token>'
{
  "company_uuid": "<string>",
  "user_uuid": "<string>",
  "event_id": "<string>",
  "api_key": "<string>",
  "note": {
    "uuid": "<string>",
    "created_at": 123,
    "document": "<string>",
    "user_uuid": "<string>",
    "user_email": "<string>",
    "user_first_name": "<string>",
    "user_last_name": "<string>",
    "lead_uuid": "<string>"
  },
  "configuration": [
    {
      "id": "<string>",
      "selected": [
        {
          "id": "<string>",
          "value": "<string>"
        }
      ]
    }
  ]
}

Event Types

  • lead_note_created - Note added to lead
  • lead_note_updated - Lead note modified
  • lead_note_deleted - Note removed from lead

Webhook Details

Event IDs: lead_note_created, lead_note_updated, lead_note_deleted
Content-Type: application/json
Method: POST

Authentication

All webhooks include JWT authentication in the Authorization header:
const jwt = require('jsonwebtoken');

app.post('/webhook', (req, res) => {
  const token = req.headers.authorization?.split('Bearer ')[1];
  
  try {
    const decoded = jwt.verify(token, process.env.INTEGRATION_UUID);
    console.log('Event:', decoded.event_id); // 'lead_note_created'
    console.log('Company:', decoded.company_uuid);
    
    const { note, configuration } = req.body;
    // Process note data...
    
    res.status(200).send('OK');
  } catch (error) {
    res.status(401).send('Invalid token');
  }
});

JWT Token Payload

company_uuid
string
UUID of the company where the note was created
user_uuid
string
UUID of the user who created the note
event_id
string
Always lead_note_created for this event
api_key
string
Your integration’s API key

Webhook Payload Schema

note
object
The created note object
configuration
array
Integration configuration settings for field mapping

Example Payload

{
  "note": {
    "uuid": "note_98765432-2109-8765-4321-987654321098",
    "created_at": 1716214515227,
    "document": "Had a great call with Jane from Prospect Company. They're very interested in our enterprise solution and mentioned they have budget approved for Q2. Key requirements: integration with their existing CRM, support for 150+ users, and advanced reporting capabilities. Next steps: send proposal by Friday and schedule demo for next week.",
    "user_uuid": "user_12345678-1234-5678-9012-123456789abc",
    "user_email": "sales@company.com",
    "user_first_name": "Sales",
    "user_last_name": "Rep",
    "lead_uuid": "lead_5336ba48-2ee0-4565-bbf7-f938d51042c1"
  },
  "configuration": []
}

Notes

  • Webhook is sent when a note is added to a lead in JourneyBee
  • JWT token must be verified using your Integration UUID as the secret
  • Note content is converted from TipTap JSON format to plain text
  • Configuration array is typically empty for note events