---
title: Schickler Drive Integration
slug: editorial/schickler-drive-integration
docTags: 
createdAt: 2025-04-08T12:17:09.744Z
---

Automatically transmit article data to DRIVE when articles are published or updated in Purple Publishing.

# What is Schickler Drive?

DRIVE is a content analysis and optimization platform developed by Schickler that helps publishers understand and improve their content performance.

# Prerequisites

Before setup, you must have:

- Active DRIVE account with Schickler
- API token from Schickler
- Publisher ID from Schickler
- DRIVE API URL (typically `https://api.drive-news.de/api/v2/articles`)

# Configuration

## Publication Property Setup

Access Purple Manager and add a custom property to your publication:

- **Name:** `drive_config`
- **Type:** JSON

### Configuration Parameters

| Parameter                          | Type             | Required | Description                                                                                                                                                                                                                                                          |
| ---------------------------------- | ---------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `token`                            | string           | Yes      | API token from Schickler                                                                                                                                                                                                                                             |
| `url`                              | string           | Yes      | DRIVE API endpoint                                                                                                                                                                                                                                                   |
| `publisher`                        | string           | Yes      | Publisher ID assigned by Schickler                                                                                                                                                                                                                                   |
| `userNeedPropertyNames`            | array of strings | No       | Content property names used to populate user needs                                                                                                                                                                                                                   |
| `extraProperties`                  | object           | No       | Maps content property keys to additional Drive fields                                                                                                                                                                                                                |
| `includeModifiedTime`              | boolean          | No       | Send the article's last modified timestamp as `update_timestamp`. Defaults to `false`. Only enable if your DRIVE version supports this field.                                                                                                                        |
| `articleSegmentsEditorialCategory` | string           | No       | When set, maps article categories to `editorial_article_segment` in the Drive payload. The value is used as the `editorial_category` for each segment entry (e.g. `"ressort"`, `"geo"`, `"audience"`, `"other"`).                                                    |
| `excludedPostTypes`                | array of strings | No       | List of post types to exclude from Drive sync. Articles whose post type matches any entry in this list are silently skipped and not sent to Drive.                                                                                                                   |
| `stripScriptsAndIframes`           | boolean          | No       | When `true`, removes all `<script>` and `<iframe>` elements (and their contents) from the article HTML (`article_text`) before it is sent to Drive. Defaults to `false`. Enable when the Drive endpoint rejects article HTML that contains inline scripts or embeds. |

### Minimal Example

```json
{
  "token": "your-api-token",
  "url": "https://api.drive-news.de/api/v2/articles",
  "publisher": "your-publisher-id"
}
```

### Full Example

```json
{
  "token": "your-api-token",
  "url": "https://api.drive-news.de/api/v2/articles",
  "publisher": "your-publisher-id",
  "userNeedPropertyNames": ["drive_userneeds"],
  "extraProperties": {
    "my_cms_property": "drive_field_name"
  },
  "includeModifiedTime": true,
  "articleSegmentsEditorialCategory": "ressort",
  "excludedPostTypes": ["page"],
  "stripScriptsAndIframes": true
}
```

## User Needs Setup (Optional)

To enable user need categorization:

1. Create an Advanced Custom Field (ACF) named `drive_userneeds`
2. Set field type to Dropdown
3. Configure options (e.g. Inspiration, Lösung, Unterhaltung, Alltagshilfe, Neuigkeit, Hintergrund)
4. Apply the ACF to your content templates
5. Add `"drive_userneeds"` to `userNeedPropertyNames` in your `drive_config`

The ACF name must match the value in `userNeedPropertyNames`.

## Post Type Filter (Optional)

When `excludedPostTypes` is configured, articles whose post type matches any entry in the list are not sent to Drive. The article is silently skipped — no error is raised and no data is transmitted.

This is useful when certain content types should not be analyzed by Drive, for example pages that are not editorially relevant articles.

```json
{
  "token": "your-api-token",
  "url": "https://api.drive-news.de/api/v2/articles",
  "publisher": "your-publisher-id",
  "excludedPostTypes": ["page"]
}
```

The filter only applies when the article has a post type set. Articles without a post type are always processed normally.

## Category Segment Mapping (Optional)

When `articleSegmentsEditorialCategory` is configured, the integration maps article categories from the taxonomy to the `editorial_article_segment` field in the Drive payload. Each category produces one segment entry with the category name as `level_1`.

**Example segment output:**

```json
"editorial_article_segment": [
  {
    "level_1": "Graubünden",
    "editorial_category": "ressort"
  }
]
```

The field is omitted entirely from the payload when `articleSegmentsEditorialCategory` is not set, ensuring compatibility with older Drive versions.

## Script and Iframe Stripping (Optional)

When `stripScriptsAndIframes` is set to `true`, all `<script>` and `<iframe>` elements — together with their contents — are removed from the article HTML (`article_text`) before the article is sent to Drive. When the flag is `false` (the default), the content is sent unchanged.

Enable this flag when the configured Drive endpoint rejects article HTML that contains inline `<script>` or `<iframe>` embeds. Stripping these elements lets the article be accepted.

```json
{
  "token": "your-api-token",
  "url": "https://api.drive-news.de/api/v2/articles",
  "publisher": "your-publisher-id",
  "stripScriptsAndIframes": true
}
```

Note the trade-off: interactive embeds such as charts and videos are removed from the Drive copy of the article. The flag is opt-in per publication — existing publications are unaffected unless they set it.

# How It Works

## New Articles

Once configured, the integration automatically:

1. Detects article publication or updates
2. Extracts article data, user needs, and category taxonomies
3. Formats the data per DRIVE API specifications
4. Transmits it securely to DRIVE
5. Logs the result in the system

## Historical Articles

To send previously published content, contact your Purple support team.

## Example Payload

```json
{
  "article_id": "abc123",
  "article_title": "Graubünden: Neue Massnahmen angekündigt",
  "article_teaser": "Der Kanton Graubünden hat heute neue Massnahmen bekannt gegeben.",
  "article_text": "Der Kanton Graubünden...",
  "authors": ["Max Mustermann"],
  "publish_timestamp": "2024-03-15T13:00:00",
  "update_timestamp": "2024-03-15T12:00:00.000Z",
  "tags": {
    "tags": ["politik", "graubünden"],
    "categories": ["Graubünden"]
  },
  "extra_info": {},
  "publisher": "purple",
  "article_user_need_publisher": ["Neuigkeit"],
  "editorial_article_segment": [
    {
      "level_1": "Graubünden",
      "editorial_category": "ressort"
    }
  ]
}
```

# Deactivating the Integration

1. Log in to Purple Manager
2. Navigate to your publication settings
3. Remove the `drive_config` custom property
4. Optionally deactivate the `drive_userneeds` ACF
