Hey everyone,
I’m trying to find an association between a ticket and a conversation by using the code below. My included property is the Ticket ID. Unfortunately I get the log that no associations were found. I tested it for multiple tickets that have an associated conversation.
import os
import requests
def main(event):
# Extract dynamic variables from the event object
hs_ticket_id = event["inputFields"]["hs_ticket_id"]
# Extract the API key or access token from the secrets manager
HUBSPOT_API_KEY = os.environ.get("Authorization")
# Construct the URL
url = f"https://api.hubapi.com/crm/v4/objects/tickets/{hs_ticket_id}/associations/conversations"
# Set headers, including the API key or access token
headers = {
"Content-Type": "application/json",
"Authorization": HUBSPOT_API_KEY
}
# Make the GET request
response = requests.get(url, headers=headers)
# Prepare the output fields for HubSpot
outputFields = {"association_id": None, "error": None}
# Check the response
if response.status_code == 200:
print("Request successful!")
# Parse the response as JSON
response_data = response.json()
print("Response Data:", response_data) # Debugging statement to inspect structure
# Check if associations exist in the response
associations = response_data.get("associations", {})
if "pxxxxxxxxx_ticket" in associations:
ticket_associations = associations["pxxxxxxxxx_ticket"]["results"]
if ticket_associations:
first_association = ticket_associations[0]
association_id = first_association.get("toObjectID")
# Store the association id in outputFields
outputFields["association_id"] = association_id
print(f"Association ID: {association_id}")
else:
print("No associations found.")
outputFields["association_id"] = None
else:
print("No associations key found in the response.")
outputFields["association_id"] = None
else:
print(f"Failed to retrieve object: {response.status_code} - {response.text}")
outputFields["error"] = f"Failed with status code {response.status_code}"
# Return the outputFields dictionary to HubSpot
return {"outputFields": outputFields}
