> For the complete documentation index, see [llms.txt](https://docs.kpnthings.com/kpn-things/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kpnthings.com/kpn-things/the-portal-explained/things-creator/destination-formats.md).

# Destination Formats

By default, KPN Things forwards ingested uplink data to your destinations (such as HTTPS, MQTT, AWS Lambda, or Google Cloud Functions) in standard [SenML](/kpn-things/building-blocks/data-processing/thingsml-and-senml/senml.md) format ([RFC 8428 - Sensor Measurement Lists](https://datatracker.ietf.org/doc/html/rfc8428)).

If your external systems or third-party applications require data in a specific or proprietary layout, you can create a custom Destination Format. This allows you to write a JavaScript script that automatically transforms the standard SenML payload into your desired format before it is sent.

### Creating a Custom Destination Format

Follow these steps to set up and configure a custom destination format:

#### Step 1: Create the Format Profile

1. In the Things Creator menu, click All Destination Formats.
2. Click Add new Destination Format.
3. Enter a Name and Description for your format.

   > Tip: Choose a clear, recognizable name. This name will appear in the "Destination Format" drop-down menu when you configure destinations within your projects.
4. Click Add Destination Format to save the profile.

#### Step 2: Write and Test Your Script

1. On the Destination Format details page that appears, locate the Script section and click Create.
2. A JavaScript editor will open, pre-populated with a placeholder example script to help you get started.&#x20;
3. Write your transformation logic. You can use the built-in testing tool to validate your script against a sample SenML input payload and preview the output. See [Destination Format Scripts](/kpn-things/the-portal-explained/things-creator/destination-formats/destination-format-scripts.md) for more details.
4. Once you are satisfied with the transformation results, click Create.

### Next Steps

Your new custom format is now ready for use. When adding a new destination or updating an existing one in any of your KPN Things projects, simply select your custom format from the Destination Format drop-down menu to apply the transformation.

{% hint style="info" %}
Tip: add a [Test Endpoint](/kpn-things/building-blocks/destinations/test-endpoint.md) with your new custom format to an existing flow to quickly verify your new format with real uplinks
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.kpnthings.com/kpn-things/the-portal-explained/things-creator/destination-formats.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
