Skip to main content

Overview

The Webhook (Custom) provider lets you connect Permutive to your own content classification system. Permutive calls an HTTPS endpoint you control to retrieve classifications and taxonomy definitions, giving you full flexibility to use an in-house or third-party classification system that is not available as a native provider.
Prerequisites:
  • Access to the Permutive Dashboard with admin permissions
  • A publicly reachable HTTPS endpoint that implements the two request types described below
  • The Webhook (Custom) provider enabled for your workspace (contact your Customer Success Manager)

How It Works

Permutive calls your endpoint with two types of POST request:
  • Classifications request — sent each time Permutive needs to classify a URL. Your endpoint returns the classification results for that URL.
  • Taxonomies request — sent to retrieve the structure of any custom taxonomies your classifications reference. Only required if you use custom (non-standard) taxonomies.
Both requests are sent to the same endpoint URL you configure in the dashboard.

Enabling and Configuring the Provider

1

Navigate to Catalog

In the Permutive Dashboard, go to Contextual > Catalog.
2

Locate the Webhook (Custom) provider

Find the Webhook (Custom) provider in the catalog. If it is not visible, contact your Customer Success Manager to have it enabled for your workspace.
3

Enable the provider

Toggle the provider on to enable it.
4

Configure provider settings

Set the following provider-specific fields:
SettingDescription
EndpointThe URL Permutive will call to request classifications and taxonomies. Must be a publicly reachable HTTPS URL.
Standard TaxonomiesThe standard taxonomies your endpoint may return in classification responses. Select any combination of IAB 2.0, IAB 2.2, and IAB 3.0. Leave empty if you use only custom taxonomies.
5

Save your configuration

Save the provider settings. Permutive will begin calling your endpoint when pages are classified.
Optimizing quota usage: Use the Selective Classifications Threshold in the provider settings to restrict classification calls to high-traffic URLs. This reduces unnecessary calls to your endpoint and focuses your classifications where they have the most impact.

Endpoint Contract — Classification Requests

When Permutive needs to classify a URL, it sends the following POST request to your endpoint:
{
  "type": "classify",
  "url": "http://example.com"
}
Your endpoint must respond with a JSON object in this format:
{
  "classifications": [
    {
      "value": "201",
      "type": "categories",
      "confidence": 0.72,
      "taxonomy": "iab_2.0"
    }
  ]
}

Response Fields

FieldTypeRequiredDescription
classificationsArray of objectsYesList containing all classifications for the current URL.
classifications[#].valueStringYesThe classification value. If the type is categories and you use a standard taxonomy, this must exactly match the IAB category ID.
classifications[#].typeStringYesMust be one of: categories, keywords, entities, sentiment, emotion, concepts.
classifications[#].confidenceNumber between 0 and 1NoInclude this if you have a confidence rating for your classification.
classifications[#].taxonomyStringOnly for categoriesOnly include if the type is categories. If you selected Standard Taxonomies in the dashboard, this must match iab_2.0, iab_2.2, or iab_3.0. Otherwise it should match the ID of your custom taxonomy.
Supported dimension types: The Webhook provider supports all dimension types — categories, keywords, entities, concepts, sentiment, and emotion — but the types actually available in Permutive depend on what your endpoint returns.

Endpoint Contract — Taxonomy Requests

When Permutive encounters a taxonomy value in a classification response that does not match a standard taxonomy, it calls your endpoint to retrieve the taxonomy definition:
{
  "type": "taxonomies"
}
Your endpoint must respond with an array of taxonomy objects. If you do not use any custom taxonomies, return an empty array ([]).
[
  {
    "id": "my_custom_taxonomy",
    "name": "My Custom Taxonomy",
    "url": "http://example.com",
    "values": [
      {
        "id": "10",
        "name": "Books",
        "parent": null
      },
      {
        "id": "123",
        "name": "Comic Books",
        "parent": "10"
      }
    ]
  }
]

Response Fields

FieldTypeRequiredDescription
idStringYesA unique identifier for your taxonomy. This must match the taxonomy value you return in classification responses for categories.
nameStringYesDisplay name of your taxonomy.
urlStringNoOptional; a URL with more information on your taxonomy.
valuesArray of objectsYesThe list of entries in your taxonomy.
values.idStringYesThe ID of an entry in your taxonomy. This must match the value you return for categories.
values.nameStringYesThe display name of the category — this is what will be shown in the dashboard.
values.parentStringNoOptional; if this is a sub-category, the id of the parent category.

Custom Classifications

You can use the Webhook provider to import custom content classifications into Permutive. If you need to discuss your classification requirements or explore alternative approaches, contact your Customer Success Manager.

Next Steps

Enabling Classification Providers

Configure general provider settings such as domains and quota

Previewing Classifications

Test how your webhook endpoint classifies content

Creating Contextual Cohorts

Build audience segments using your custom classifications

Back to Contextual Cohorts

Return to product overview