PartnerPage API
    • Introduction
    • Authentication
    • Object Overview
    • Verify and handle webhook deliveries
    • Directory webhook events and payloads
    • Partner lead webhook event
    • Directory
      • Forms
        • Get all custom forms
        • Get all currency field options
        • Get all contact request form
        • Get default contact request form
        • Create a cotact request custom form
        • Delete a contact request custom form
      • Callouts
        • Get all callouts
        • Get a callout
        • Create a new callout
        • Update a directory callout
        • Delete a directory callout
      • Badges
        • Get all badges
        • Get a badge
        • Create a badge
        • Update a badge
        • Delete a badge
      • Certifications
        • Get all certifications
        • Get a certification
        • Create a certification
        • Update a certification
        • Delete a certification
      • Filters
        • Filter Options
          • Get all filter options
          • Get a filter option
          • Create a filter option
          • Update a filter option
          • Deletes a filter option
        • Get all filters
        • Get a filter
        • Create a filter
        • Update a filter
        • Deletes a filter
        • Get all internal filters
        • Get all filters for external directory
      • Filter Maps
        • Get all filter option mappings
        • Get a filter option mapping
        • Create a new filter option mapping
        • Update a filter option mapping
        • Delete a filter option mapping
        • Get all filter option mappings for external directory
      • Matchmaking
        • Get all matchmaking requests
      • Tiers
        • Get all tiers
        • Get a tier
        • Create a tier
        • Update a tier
        • Delete a tier
        • Get all entries assigned to an specific tier
        • Assign or Unassign entries to an specific tier
      • Verifications
        • Get all verifications
        • Get a verification
        • Create a verification
        • Update a verification
        • Delete a verification
      • Settings
        • Retrieve the settings for a directory
        • Update the settings for a directory
      • List directories
        GET
      • Get a directory
        GET
      • Create a directory
        POST
      • Update a directory
        PATCH
    • Entry
      • App Entry
        • Callouts
          • Get all callouts
          • Get an entry callout
          • Create a new callout
          • Update a callout
          • Delete a callout
        • Get an app entry
        • Create new app entry
        • Update app entry
        • Delete a app entry
        • Update the recommended order of an app entry
      • Partner Entry
        • Badges
          • Get all badges
          • Get a badge
          • Create a badge
          • Update a badge
          • Delete a badge
        • Callouts
          • Get all callouts
          • Get a callout
          • Create a callout
          • Update a callout
          • Delete a callout
        • Certifications (General)
          • Get all certifications
          • Get a certification
          • Create a certification
          • Update a certification
          • Delete a certification
        • Certifications (Industry)
          • Get all industry certifications
          • Get an industry certification
          • Create an industry certification
          • Update an industry certification
          • Delete an industry certification
        • Certifications (Segment)
          • Get all segment certifications
          • Get a segment certification
          • Create a segment certification
          • Update a segment certification
          • Delete a segment certification
        • Client
          • Get all Clients
          • Get a client
          • Create a client
          • Update a client
          • Delete a client
        • Keywords
          • Get all keywords
          • Get a keyword
          • Create a keyword
          • Update keyword
          • Delete a keyword
        • Locations
          • Get all location
          • Get a location
          • Create a location
          • Update a location
          • Delete a location
        • Media
          • Get all media
          • Get a media
          • Create a media
          • Update a media
          • Delete a media
        • Resources
          • Internal
            • Get all Internal resources
            • Get an internal resource
            • Create an internal resource
            • Update an internal resource
            • Delete an internal resource
          • Get all resouces
          • Get a resource
          • Create a resource
          • Update a resource
          • Delete a resource
        • Special Offers
          • Get all special offer
          • Get a special offer
          • Create a special offer
          • Update a special offer
          • Delete a special offer
        • Testimonials
          • Internal
            • Get all internal testimonial
            • Get an internal testimonial
            • Create an internal testimonial
            • Update an internal testimonial
            • Delete an internal testimonial
          • Get all testimonials
          • Get a testimonial
          • Create a testimonial
          • Update a testimonial
          • Delete a testimonial
        • Use Cases
          • Internal
            • Get all internal use cases
            • Get an internal use cases
            • Create an internal use case
            • Update an internal use case
            • Delete an internal use case
          • Get all use cases
          • Get a use case details
          • Create a use case
          • Update a use case
          • Delete a use case
        • Verifications
          • Get all verifications
          • Get a verification
          • Create a verification
          • Update a verification
          • Delete a verification
        • Contact Information
          • Return entry contact information
        • Invite
          • Get organization matches for partner invite
          • Get partner entry owner organization invite
          • Get partner entry owner user invites
          • Invite organization to own partner entry
          • Invite users to partner entry ownership
        • Entry Edits Approval Flow
          • Partner Entry Submit Review
          • Partner Entry Approve Review
          • Partner Entry Reject Changes
          • Partner Entry Discard Review
        • Get all partner entry
        • Get a partner entry
        • Create a partner entry
        • Update a partner entry
        • Delete a partner entry
        • Bulk upsert partner entries
        • Update the recommended order of a partner entry
      • Get all entries
        GET
    • Contact Request
      • Attachment
        • List contact request attachments
        • Create contact request attachment
        • Delete contact request attachment
      • Get all contact requests
        GET
      • Get a contact request
        GET
      • Create a new partner contact request
        POST
    • Matchmaking
      • Get all matchmaking requests
      • Get a matchmaking request
      • Create a new matchmaking request for a directory
      • Get all partners assigned to matchmaking requests
      • Assign an owner to a matchmaking request
      • Set partners to a matchmaking request
    • Review
      • directory-review-list
      • directory-review-detail
      • directory-review-create
      • Update a review
      • Delete a review
      • reviewsDirectoryExportRetrieve
    • contact-requests
      • Close a contact request
      • Send a reminder to the partner about a contact request
    • directories
      • List contact request routing sources
      • Get the webhook signing secret
      • Rotate the webhook signing secret
    • entries
      • Cancel a pending partner contact invitation
    • matchmaking-requests
      • Close a matchmaking request
      • Reopen a matchmaking request
    • organizations
      • Get the organization's webhook
      • Create the organization's webhook
      • Update the organization's webhook
      • Delete the organization's webhook
      • List the organization's webhook deliveries
      • Get one webhook delivery
      • Rotate the organization's webhook signing secret

    Partner lead webhook event

    A partner organization's lead webhook sends one event, contact_request_created, each time a new lead is created on a profile the organization owns. This page describes that payload. For headers, the signature check and how to reply, see Verify and handle webhook deliveries.
    Directory owners receive a different, larger payload under the same event name. That one is described in Directory webhook events and payloads.

    When it is sent#

    One delivery for every new lead on any profile the organization owns, however it was created:
    a visitor submits the contact form on the partner's profile
    the directory's team assigns a matchmaking request to the partner
    the directory owner creates the lead through the API
    It is not sent when a lead changes later (accepted, declined, status updates). It is not sent for a directory whose owner has switched partner lead delivery off; it is on by default.

    Setting it up#

    A partner adds the webhook in the PartnerPage dashboard under Settings, then Developers, on the Lead webhook card. Each organization has one webhook and its own signing secret. The step-by-step guide is in the Help Center: Send new leads to your own tools with a webhook.
    The URL must:
    start with https://
    resolve to a public address (not localhost, .local, .internal or a private network)
    not contain a username or password
    be at most 255 characters
    be the final address: redirects are not followed

    Payload#

    FieldMeaning
    entry_idId of the partner profile that received the lead
    directory_idId of the directory it came from
    organization_idThe partner organization's id, the same Organization ID shown on the Developers page
    contact_request.idLead id
    contact_request.createdWhen the lead was created, in UTC, formatted YYYY-MM-DD HH:MM
    contact_request.statepending for a new lead
    contact_request.project_statusnull for a new lead
    contact_request.first_name, last_name, email, phoneThe lead's contact details
    contact_request.company_name, company_websiteThe lead's company
    contact_request.commentsThe message the lead wrote
    contact_request.utm_query_paramsUTM parameters captured on the page, or null
    contact_request.sourcecontact_request (submitted on the profile) or matchmaking (assigned from a matchmaking request)
    contact_request.decline_reason, decline_reason_detailnull for a new lead
    contact_request.entryThe profile: id, title and owner (the partner organization's id)
    contact_request.directoryThe directory: id and name
    custom_fieldsAnswers to the directory's custom form questions. Each item has export_label, internal_label and text_value
    partner_contact_request_urlLink to the lead in the partner's PartnerPage dashboard
    {
      "entry_id": "10c83cb2-ec23-49c5-b1c1-36ad2c5f5744",
      "directory_id": "a6736e4f-ad5b-4cc9-856b-9f3bf6688a79",
      "organization_id": "6ba56da9-a8ae-4d84-9337-cedabefdcdc6",
      "contact_request": {
        "id": "58e8eba8-ce91-4ab7-870a-0c33108b7101",
        "created": "2026-10-05 16:19",
        "state": "pending",
        "project_status": null,
        "first_name": "Jon",
        "last_name": "Smith",
        "email": "jon.smith@example.com",
        "phone": "8322787786",
        "company_name": "Example Manufacturing",
        "company_website": "https://www.example.com/",
        "comments": "We need help rolling out the product to 200 users.",
        "utm_query_params": null,
        "source": "contact_request",
        "decline_reason": null,
        "decline_reason_detail": null,
        "entry": {
          "id": "10c83cb2-ec23-49c5-b1c1-36ad2c5f5744",
          "title": "Northwind Consulting",
          "owner": "6ba56da9-a8ae-4d84-9337-cedabefdcdc6"
        },
        "directory": {
          "id": "a6736e4f-ad5b-4cc9-856b-9f3bf6688a79",
          "name": "Acme Partner Directory"
        }
      },
      "custom_fields": [
        {
          "export_label": "Desired timeline",
          "internal_label": "desired_timeline",
          "text_value": "Q2"
        }
      ],
      "partner_contact_request_url": "https://directory.partnerpage.io/profiles/solutions/a6736e4f-ad5b-4cc9-856b-9f3bf6688a79/partner/10c83cb2-ec23-49c5-b1c1-36ad2c5f5744/contact-requests/58e8eba8-ce91-4ab7-870a-0c33108b7101"
    }

    Differences from the directory owner's payload#

    If you build one receiver for both kinds of webhook, note what the partner payload leaves out. It carries what the partner sees on the lead in their dashboard, and nothing the directory owner keeps to itself.
    Directory owner's payloadPartner payload
    directory_contact_request_url (link into the owner's dashboard)Replaced by partner_contact_request_url
    contact_request.directory with org_id, org_name, contact_request_project_statuses_enabledOnly id and name
    terms, privacy, shareNot included
    custom_form_response_id, match_origin, routing_source, legacy_filter_responsesNot included
    close_reason, close_reason_detailNot included
    No organization_id at the top levelorganization_id included
    Modified at 2026-10-05 17:33:44
    Previous
    Directory webhook events and payloads
    Next
    Directory
    Built with