Skip to content

Add new Gotenberg Integration #3836

Description

@maxdswain

Summary and motivation

Add a Gotenberg integration for remotely converting Office, OpenDocument, HTML, Markdown, and other supported formats into PDFs for ingestion in Haystack pipelines.

This provides a production-friendly alternative to the LibreOffice integration, allowing document conversion to be deployed and scaled as a separate service.

Adoption signals

Every integration we merge has to be maintained, tested nightly, and released, so we prioritise integrations for
technologies with a healthy and growing user base. Please share adoption signals for the software you want to integrate with. The more info you provide, the easier it is for us to decide.

  • GitHub stars of the main repository: 12.9k
  • PyPI downloads in the last 30 days of the Python client/SDK (see pypistats.org): N/A as gotenburg is a docker container - ~7.7 million pulls per month
  • Release activity: date of the latest release and rough release cadence: v8.36.0 released in August 2026; releases are frequent, typically every few weeks.
  • Maintenance: Actively maintained, with regular releases, commits, issue activity, and security fixes.
  • Haystack community demand: links to Discord threads, GitHub issues, or other requests asking for this
    integration: This is the first issue.
  • Anything else that shows adoption (enterprise usage, conference talks, blog posts, comparable integrations in
    other frameworks): Gotenberg reports 82M+ Docker pulls and states that it is used in production by thousands of companies.

Detailed design

Introduce a GotenbergFileConverter component configured with a Gotenberg endpoint.

The component should accept Haystack-compatible Path and ByteStream sources and:

  • Send supported Office/OpenDocument files to Gotenberg's LibreOffice conversion endpoint.
  • Support Chromium conversion for formats such as HTML and Markdown where appropriate.
  • Parse the resulting PDF into Haystack Document objects using Haystack's existing PDF conversion functionality.
  • Preserve source metadata and support both run and run_async.

Checklist

If the request is accepted, ensure the following checklist is complete before closing this issue.
Follow the instructions in https://github.com/deepset-ai/haystack-core-integrations/blob/main/CONTRIBUTING.md#create-a-new-integration and use our scaffolding script for the implementation.

Tasks

  • The code is documented with docstrings and was merged in the main branch
  • Docs are published at https://docs.haystack.deepset.ai/
  • There is a Github workflow running the tests for the integration nightly and at every PR
  • A new label named like integration:<your integration name> has been added to the list of labels for this repository
  • The labeler.yml file has been updated
  • The package has been released on PyPI
  • An integration tile with a usage example has been added to https://github.com/deepset-ai/haystack-integrations
  • The integration has been listed in the Inventory section of this repo README
  • The feature was announced through social media

Metadata

Metadata

Assignees

Labels

new integrationDiscuss the creation of a new integration in Core

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions