Guidance Needed for Custom HubSpot Destination Implementation

Summary

User is developing a custom destination for HubSpot with Airbyte CDK and is facing issues related to HTTP 500 errors during testing in the Airbyte UI. Seeking advice on debugging logs, validation steps, and best practices for Dockerfile configuration.


Question

Hi everyone,
I’m building a custom destination for HubSpot using the Airbyte CDK, but I’ve hit a wall and could really use some guidance.
What I’ve Done:

  1. Created a custom destination (DestinationHubspot) with check() and write() methods implemented in Python. It sends data to the HubSpot Contacts API.
  2. Built a Dockerfile for the connector:
    FROM python:3.9.11

WORKDIR /airbyte/integration_code
RUN apt-get update && apt-get -y upgrade && pip install --upgrade pip && pip install requests airbyte-cdk
COPY main.py ./
COPY destination_hubspot ./destination_hubspot
ENTRYPOINT [“python”, “/airbyte/integration_code/main.py”]
LABEL io.airbyte.version=“0.1.0”
LABEL io.airbyte.name=“destination-hubspot”

  1. Tested locally with docker build and docker run, which executes without obvious errors.
  2. Tried adding the custom destination in the Airbyte UI, but it fails with a generic HTTP 500 error when I attempt to test or use it.
    Problems:
    • The logs are not providing detailed information about what’s failing. I suspect an issue in the interaction between the write() method and HubSpot’s API, or perhaps a misconfiguration of the Docker image.
    • When I test the connector with a valid config using docker run, it seems to hang or fail silently.
    Questions:
  3. How can I get more detailed logs or debugging information from the Airbyte platform about what’s going wrong?
  4. Are there specific steps to validate a custom destination before adding it to the Airbyte UI?
  5. Does my Dockerfile or implementation look correct for an Airbyte destination?
    I’d appreciate any insights or advice on debugging this further. Thank you in advance for your help!


This topic has been created from a Slack thread to give it more visibility.
It will be on Read-Only mode here. Click here if you want
to access the original thread.

Join the conversation on Slack

['custom-destination', 'hubspot', 'airbyte-cdk', 'docker', 'http-500-error']