# How to integrate TagoIO with Chirpstack LoRaWAN

**URL:** <https://community.tago.io/t/how-to-integrate-tagoio-with-chirpstack-lorawan/1017>\
**Category:** Tutorials\
**Tags:** tutorials\
**Created:** [January 22, 2022, 7:45pm UTC](https://community.tago.io/t/how-to-integrate-tagoio-with-chirpstack-lorawan/1017 "2022-01-22T19:45:50Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![system](https://yyz2.discourse-cdn.com/flex034/user_avatar/community.tago.io/system/32/24_2.png) [@system](https://community.tago.io/u/system)\
**Post date:** [January 22, 2022, 7:45pm UTC](https://community.tago.io/t/how-to-integrate-tagoio-with-chirpstack-lorawan/1017/1 "2022-01-22T19:45:50Z")

</div>

This tutorial provides a step-by-step guide to integrate Chirpstack v3/v4 with the TagoIO Platform. By following these instructions, you will enable uplink and downlink operations, allowing data exchange between your LoRaWAN devices and the TagoIO application.

## Prerequisites

Before you begin, ensure you have the following:

- Chirpstack server: A deployed Chirpstack instance locally or in the cloud
- LoRaWAN Device: Ensure your device is connect to Chirpstack and transmitting data.

## 

* * *

## Step 1: Create Authorization in TagoIO

1. Access Authorizations
  - Go to Devices.
  - Click on **[Authorizations](https://admin.tago.io/devices/authorization)** at the top of the page.

2. Create a New Authorization:
  - Click the Create Authorization button.

  - Provide a meaningful **name** for the authorization (e.g., Chirpstack-Integration).

  - (Optional) Enter your Downlink URL and Bearer Token from Chirpstack into the **Additional Parameters** section.

**Example:** [https://mychirpstack.io](https://mychirpstack.io);eyJhbGciOiJIUzI1NiIsInR…
  - Click Save.

3. Copy the Authorization Token:
  - After creation, copy the authorization token. You will need this in later steps.

> **Note** : You only need to create one Authorization for all your Chirpstack devices.

## 

* * *

## Step 2: Setup Integration in Chirpstack

Go to the Chirpstack website and create a new HTTP integration. You can create the integration by going to **Application** \> **Choose your Application** \> **Integration** , click on **create** , and select **HTTP** as an option.

Configure the Integration:

| 
Field  

 | 
Description
 |
| 
Integration Kind
 | 
Select HTTP Integration
 |
| Headers | 
You will need to setup two headers for this integration:  

  

| 
**Header Key**
 | 
**Header Value**
 |
| 
Authorization
 | 
Set its value to the authorization token you copied in Step 1.
 |
| 
Content-Type
 | 
application-json
 |

  

 |
| 
Uplink data URL
 | 

Use the endpoint format https://chirpstack.middleware.REGION.tago.io/uplink. Replace **REGION** with your deployment region (e.g., us-e1, eu-w1).

For a list of available regions, visit [TagoIO Network Integration](https://help.tago.io/portal/en/kb/articles/125-network-integration).

 |

 ![chirpstack integration](https://canada1.discourse-cdn.com/flex034/uploads/tagoio1/original/2X/1/1caff67367e33e8878fd6e5408b123f9fd24dc1b.png)

> ℹ The endpoint [https://chirpstack.middleware.tago.io/uplink](https://chirpstack.middleware.tago.io/uplink) points to the USA region. As we are committed to continuing support for this endpoint, we recommend that users in the USA region update their webhooks to [https://chirpstack.middleware.us-e1.tago.io/uplink](https://chirpstack.middleware.us-e1.tago.io/uplink)

* * *

## Step 3: Add Device in TagoIO

To integrate your device with the TagoIO Platform, follow these guidelines:

1. **Ensure Device EUI Consistency:**

2. **Select the Appropriate Network and Device Type:**

3. **Add Device Support via Connectors (If Necessary):**

For detailed instructions on adding devices, visit the [Adding Devices](https://help.tago.io/portal/en/kb/articles/3-devices#Adding_devices) page.

* * *

## Finalizing Setup

1. **Power On Your Devices:**

2. **Verify Data Reception:**

With data successfully flowing into TagoIO, you can start creating Dashboards, Analyses, and Actions to visualize and manage your device data effectively.

---

<div class="post-metadata">

**Author:** ![system](https://yyz2.discourse-cdn.com/flex034/user_avatar/community.tago.io/system/32/24_2.png) [@system](https://community.tago.io/u/system)\
**Post date:** [January 22, 2022, 7:45pm UTC](https://community.tago.io/t/how-to-integrate-tagoio-with-chirpstack-lorawan/1017/2 "2022-01-22T19:45:51Z")

</div>

@jura maksimov

Downlink support not appearing?

---

<div class="post-metadata">

**Author:** ![ischacht](https://avatars.discourse-cdn.com/v4/letter/i/ee7513/32.png) [@ischacht](https://community.tago.io/u/ischacht)\
**Post date:** [May 8, 2023, 8:21pm UTC](https://community.tago.io/t/how-to-integrate-tagoio-with-chirpstack-lorawan/1017/3 "2023-05-08T20:21:46Z")

</div>

Hi, is this guide updated to ChirpStack v4?

---

<div class="post-metadata">

**Author:** ![vitorfdl](https://yyz2.discourse-cdn.com/flex034/user_avatar/community.tago.io/vitorfdl/32/1728_2.png) [@vitorfdl](https://community.tago.io/u/vitorfdl)\
**Post date:** [July 5, 2023, 2:57pm UTC](https://community.tago.io/t/how-to-integrate-tagoio-with-chirpstack-lorawan/1017/4 "2023-07-05T14:57:20Z")

</div>

I don’t see any breaking changes on v4 that would change this documentation. So it’s supposed to work.

Let us know if you find any difficulty.

---

<div class="post-metadata">

**Author:** ![vitorfdl](https://yyz2.discourse-cdn.com/flex034/user_avatar/community.tago.io/vitorfdl/32/1728_2.png) [@vitorfdl](https://community.tago.io/u/vitorfdl)\
**Post date:** [July 5, 2023, 2:57pm UTC](https://community.tago.io/t/how-to-integrate-tagoio-with-chirpstack-lorawan/1017/5 "2023-07-05T14:57:42Z")

</div>

The documentation had been updated to include the Downlink settings needed in order to use TagoIO downlink features.

---

<div class="post-metadata">

**Author:** ![jfrankert](https://avatars.discourse-cdn.com/v4/letter/j/919ad9/32.png) [@jfrankert](https://community.tago.io/u/jfrankert)\
**Post date:** [August 3, 2023, 10:45pm UTC](https://community.tago.io/t/how-to-integrate-tagoio-with-chirpstack-lorawan/1017/6 "2023-08-03T22:45:54Z")

</div>

I can not get the information to pass using Chirpstackv4.

---

<div class="post-metadata">

**Author:** ![zhangquan](https://avatars.discourse-cdn.com/v4/letter/z/2bfe46/32.png) [@zhangquan](https://community.tago.io/u/zhangquan)\
**Post date:** [January 29, 2024, 7:21am UTC](https://community.tago.io/t/how-to-integrate-tagoio-with-chirpstack-lorawan/1017/7 "2024-01-29T07:21:20Z")

</div>

Chirpstack-v4 JSON data object field cannot be parsed correctly.

---

<div class="post-metadata">

**Author:** ![freddy.minuzzi](https://yyz2.discourse-cdn.com/flex034/user_avatar/community.tago.io/freddy.minuzzi/32/415_2.png) [@freddy.minuzzi](https://community.tago.io/u/freddy.minuzzi)\
**Post date:** [January 29, 2024, 8:06pm UTC](https://community.tago.io/t/how-to-integrate-tagoio-with-chirpstack-lorawan/1017/8 "2024-01-29T20:06:32Z")

</div>

Hi Justin and Zhangequin,

Are you attempting to send already decoded data over to TagoIO?  
Our Middleware currently does not support the jsonObject key within the uplink ChirpStack v4 sends.

I’d suggest you send the decoded data over through the device payload and add the code you used to decoded the data on to a [connector](https://help.tago.io/portal/en/kb/articles/466-connector-overview#Creating_a_connector).

---

<div class="post-metadata">

**Author:** ![htxr1kqi](https://avatars.discourse-cdn.com/v4/letter/h/9dc877/32.png) [@htxr1kqi](https://community.tago.io/u/htxr1kqi)\
**Post date:** [May 29, 2024, 11:12pm UTC](https://community.tago.io/t/how-to-integrate-tagoio-with-chirpstack-lorawan/1017/9 "2024-05-29T23:12:55Z")

</div>

Can you clarify this? Are you saying that currently your Chirpstack integration is currently broken?

---

<div class="post-metadata">

**Author:** ![markosplit](https://avatars.discourse-cdn.com/v4/letter/m/898d66/32.png) [@markosplit](https://community.tago.io/u/markosplit)\
**Post date:** [May 10, 2024, 7:13am UTC](https://community.tago.io/t/how-to-integrate-tagoio-with-chirpstack-lorawan/1017/10 "2024-05-10T07:13:55Z")

</div>

Hi,

I am on [https://console.helium-iot.xyz/](https://console.helium-iot.xyz/) (ChripStack) and have Dragino LSN50v2 end device.

No payload Codec on console (None).

On TagoIO, I created Connector (LoRaWAN ChirpStack), data is updated in Live inspector but Payload parser doesn’t work.

For a test, I tried LSN50V2\_v1.8.0\_Decoder\_ChirpstackV4.txt on LNS and data was decoded correctly, also I tried

LSN50V2\_v1.8.0\_Decoder\_TTN.txt on Legacy Helium console, also decoded correctly (both from official Dragino).

What is right way to implement Payload parser to decode correctly RAW payload on TagoIO?

---

<div class="post-metadata">

**Author:** ![wrselbig](https://avatars.discourse-cdn.com/v4/letter/w/a8b319/32.png) [@wrselbig](https://community.tago.io/u/wrselbig)\
**Post date:** [September 17, 2024, 8:24pm UTC](https://community.tago.io/t/how-to-integrate-tagoio-with-chirpstack-lorawan/1017/11 "2024-09-17T20:24:44Z")

</div>

I am experiencing this exact same problem. I am also testing the LSN50 V2 with the Chirpstack v4 decoder from Dragino. The raw payload coming from Chirpstack has all of the information needed but only a portion of that information is parsed correctly. The remainder is omitted in Tago. Please provide a solution to properly parse the payload coming from Chirpstack

---

<div class="post-metadata">

**Author:** ![a.kasyanenko](https://avatars.discourse-cdn.com/v4/letter/a/c67d28/32.png) [@a.kasyanenko](https://community.tago.io/u/a.kasyanenko)\
**Post date:** [September 20, 2024, 9:42am UTC](https://community.tago.io/t/how-to-integrate-tagoio-with-chirpstack-lorawan/1017/12 "2024-09-20T09:42:23Z")

</div>

Hi

Same for me

tago receive already decoded data from Chirpstak v4 in raw\_payload i can see those data but pasrer dos not parcse any of fields

---

<div class="post-metadata">

**Author:** ![vitorfdl](https://yyz2.discourse-cdn.com/flex034/user_avatar/community.tago.io/vitorfdl/32/1728_2.png) [@vitorfdl](https://community.tago.io/u/vitorfdl)\
**Post date:** [October 24, 2024, 5:57pm UTC](https://community.tago.io/t/how-to-integrate-tagoio-with-chirpstack-lorawan/1017/13 "2024-10-24T17:57:33Z")

</div>

Hi markosplit, Bill Selbig, and a.kasyanenko,

I apologize for the delayed response to your inquiries about Chirpstack V4 compatibility with TagoIO.

We’ve recently completed an update to ensure full compatibility with Chirpstack V4. Here are the key points:

1. Both Uplink and Downlink should now be fully functional with Chirpstack V4.
2. Our update is backwards compatible with Chirpstack V3.
3. The TagoIO documentation has been updated to reflect these changes.
4. Downlink support for Chirpstack V4 from TagoIO is now available.
5. Our Network Payload Parser has been updated to support parsed data from Chirpstack V4.

For situations where our default support doesn’t recognize new parameters from newer versions, you can always access the original parameters through the raw\_payload in the Payload Parser. This ensures you have full access to all data, even as protocols evolve.

If you’re still experiencing any issues with payload parsing or data decoding, please don’t hesitate to reach out to our support team. We’re here to help ensure your devices are working smoothly with TagoIO.

Thank you for your patience and for bringing this to our attention. Your feedback helps us improve our service.

---

<div class="post-metadata">

**Author:** ![julihermes.melo](https://yyz2.discourse-cdn.com/flex034/user_avatar/community.tago.io/julihermes.melo/32/1625_2.png) [@julihermes.melo](https://community.tago.io/u/julihermes.melo)\
**Post date:** [October 24, 2024, 6:47pm UTC](https://community.tago.io/t/how-to-integrate-tagoio-with-chirpstack-lorawan/1017/14 "2024-10-24T18:47:46Z")

</div>

Just in time, I will start use chirpstack in my company!

Thanks for the update!

---

<div class="post-metadata">

**Author:** ![julihermes.melo](https://yyz2.discourse-cdn.com/flex034/user_avatar/community.tago.io/julihermes.melo/32/1625_2.png) [@julihermes.melo](https://community.tago.io/u/julihermes.melo)\
**Post date:** [November 22, 2024, 3:10pm UTC](https://community.tago.io/t/how-to-integrate-tagoio-with-chirpstack-lorawan/1017/15 "2024-11-22T15:10:27Z")

</div>

Looks like the Utils.sendDownlink() function not work with Chirpstack.

Can you guys look this?

---

<div class="post-metadata">

**Author:** ![freddy.minuzzi](https://yyz2.discourse-cdn.com/flex034/user_avatar/community.tago.io/freddy.minuzzi/32/415_2.png) [@freddy.minuzzi](https://community.tago.io/u/freddy.minuzzi)\
**Post date:** [November 22, 2024, 5:15pm UTC](https://community.tago.io/t/how-to-integrate-tagoio-with-chirpstack-lorawan/1017/16 "2024-11-22T17:15:13Z")

</div>

Hi zsu[@user:10037272163]zsu can you send us what your console is returning?

---

<div class="post-metadata">

**Author:** ![julihermes.melo](https://yyz2.discourse-cdn.com/flex034/user_avatar/community.tago.io/julihermes.melo/32/1625_2.png) [@julihermes.melo](https://community.tago.io/u/julihermes.melo)\
**Post date:** [November 22, 2024, 7:09pm UTC](https://community.tago.io/t/how-to-integrate-tagoio-with-chirpstack-lorawan/1017/17 "2024-11-22T19:09:37Z")

</div>

I get this return:

```auto
Downlinkfailed with status 400:{"message":"{\"code\":3,\"message\":\"Validation error: FPort must bebetween 1 -255\",\"details\":[]}","url":"https://chirpstack-api.voltsolution.com.br","status":400}

```

I have tried with “port”, “fPort” and “FPort”, but not works.

I put this in additional parameter of the token “[https://chirpstack-api.voltsolution.com.br](https://chirpstack-api.voltsolution.com.br);[TOKEN]”.

---

<div class="post-metadata">

**Author:** ![vitor](https://yyz2.discourse-cdn.com/flex034/user_avatar/community.tago.io/vitor/32/12_2.png) [@vitor](https://community.tago.io/u/vitor)\
**Post date:** [November 22, 2024, 7:26pm UTC](https://community.tago.io/t/how-to-integrate-tagoio-with-chirpstack-lorawan/1017/18 "2024-11-22T19:26:26Z")

</div>

Hi Julhiermes,

Thank you for providing the detailed report. I’ve implemented a fix for the FPort parameter issue. Previously, we were forwarding it to ChirpStack as “fPort,” which appears to be incompatible with ChirpStack v4.

Please note that the Utils.sendDownlink expects only port, we do all the job to send in the correct schema for Chirpstack.

Could you please verify if the integration is now functioning as expected with this change?

---

<div class="post-metadata">

**Author:** ![julihermes.melo](https://yyz2.discourse-cdn.com/flex034/user_avatar/community.tago.io/julihermes.melo/32/1625_2.png) [@julihermes.melo](https://community.tago.io/u/julihermes.melo)\
**Post date:** [November 22, 2024, 7:42pm UTC](https://community.tago.io/t/how-to-integrate-tagoio-with-chirpstack-lorawan/1017/19 "2024-11-22T19:42:48Z")

</div>

Hi, Vitor.

The return is the same error.

I will wait some time to test again.

[UPDATE]

The error persists.

---

<div class="post-metadata">

**Author:** ![julihermes.melo](https://yyz2.discourse-cdn.com/flex034/user_avatar/community.tago.io/julihermes.melo/32/1625_2.png) [@julihermes.melo](https://community.tago.io/u/julihermes.melo)\
**Post date:** [November 22, 2024, 7:54pm UTC](https://community.tago.io/t/how-to-integrate-tagoio-with-chirpstack-lorawan/1017/20 "2024-11-22T19:54:30Z")

</div>

some details of my code:

const resources = new Resources(context.token);

await Utils.sendDownlink(resources, data.device, {

payload: command,

port: 16,

confirmed: true,

})

.then((r) =\> console.log(r))

.catch((err) =\> console.log(err));

Another thing, this code is updated? [https://github.com/tago-io/sdk-js/blob/bbde8464e773ca2ca5e4dca8481942bcf228c612/src/modules/Utils/sendDownlink.ts](https://github.com/tago-io/sdk-js/blob/bbde8464e773ca2ca5e4dca8481942bcf228c612/src/modules/Utils/sendDownlink.ts)

[Next page](https://community.tago.io/t/how-to-integrate-tagoio-with-chirpstack-lorawan/1017.md?page=2)
