All articles

How to Pull Your Linear Data Into Invero

Add additional insights into Invero by pulling in your Linear tickets

Karl Jones

Your Linear workspace is a goldmine of organisational knowledge โ€” capturing the real-world decisions, solutions, and insights your teams generate every day. By bringing this rich context into Invero, you can unlock a more powerful, informed AI assistant that goes beyond your documentation to deliver answers that truly reflect how your organisation works.

You can find the code for the exporter that we are going to be discussing on our GitHub: /community/

Getting started

You'll need a few things to get started:

  • A Linear API key

  • A Linear Team ID

  • An S3 bucket (with any provider)

  • A Invero account, with permissions to create a new data source

Pulling data from Linear

Step 1 is getting your data into Invero is pulling this data from Linear. We want to grab this data from the Linear API, get the fields that are important to us, and then output this in a format that we can later get ingested into your Invero project.

In our project, we use the linear_fetcher to pull in the last 180 days of tickets from a team within our Linear instance and output this as a json file for the next stage of the process. You'll need to create a .env file that contains your Linear keys, for example:

LINEAR_TEAM_ID=xxxxxxxxx
LINEAR_API_KEY

LINEAR_TEAM_ID=xxxxxxxxx
LINEAR_API_KEY

LINEAR_TEAM_ID=xxxxxxxxx
LINEAR_API_KEY

LINEAR_TEAM_ID=xxxxxxxxx
LINEAR_API_KEY

This will then be read into the linear_fetcher.py file when run. Once this script has been run, you will receive a json file containing your Linear ticket data:

  • linear_closed_tickets_<timestamp>_<timestamp>.json

Note, this will only retrieve completed and canceled tickets by default, to update this filter, modify line 105 of linear_fetcher.py to include new types:

"type": {"in": ["completed", "canceled"]}
"type": {"in": ["completed", "canceled"]}
"type": {"in": ["completed", "canceled"]}
"type": {"in": ["completed", "canceled"]}

Converting the data for Invero

Now that we have the data from the Linear API, we need to convert this into a format that Invero will understand. Using our linear_to_invero.py file as a reference, we want to convert these files from the JSON format that we've saved them in in the step above into a directory of markdown files that can be uploaded to an S3 bucket that can then be ingested into Invero. Two things will come out of this step:

  1. A directory of markdown files ready to upload to an S3 bucket.

  2. An index.json file that can be used to link back to the source files.

As Invero can ingest markdown files, we are in a good place to continue to the next step of getting this data into Invero itself.

Adding your content to Invero

Now that you have a directory of markdown files, you'll want to make these accessible to Invero by uploading them to an S3 bucket and connecting it to your Invero project as a data source. Once uploaded, make a note of your credentials and the location within the bucket where the directory lives โ€” you'll need these when configuring things on Invero's side. You'll also want to place the index.json file in the same folder as the directory of markdown files containing your ticket information.

Next, head over to Invero and create a new data source, selecting "S3 Bucket" as the type. Enter your credentials along with the bucket details to complete the setup. Once saved, the initial ingestion will begin and Invero will start pulling in your Linear tickets.

Putting it all together

Now that you can fetch and ingest your data into Invero, your Linear tickets should be accessible within your project. We recommend keeping this limited to internal projects to prevent ticket data from being exposed to external users โ€” unless that fits your use case!

Ingesting your Linear tickets into Invero is a great way to bring organisational knowledge into your project โ€” your agents' responses can surface valuable troubleshooting information or solutions that haven't yet made it into your documentation. The process is straightforward and only requires a few steps, though you'll want to re-run it every 30 days or so to ensure you're working with the most up-to-date information.

We'd love to hear how you're using your Linear ticket data within Invero โ€” feel free to share with the Invero team!







Turn your companyโ€™s knowledge into AI agents