HubSpot Integration
There’s no DeckExtract app in the HubSpot marketplace — the integration is the DeckExtract API plus HubSpot’s own APIs. Convert the deck once, upload it to Files, attach it to the Deal, and set Deal properties from the analysis.
The flow: deck link → DeckExtract API → PDF → HubSpot Files → Note (with attachment) associated to the Deal, plus Deal properties from analysis.
1. Extract the deck
curl -X POST https://deckextract.com/api/v2/extract \
-H "Content-Type: application/json" \
-H "Authorization: Bearer dk_your_api_key" \
-d '{ "url": "https://docsend.com/view/abc123", "analyze": true }' Download the PDF from download.url; the analysis object (Pro-only) gives you the property values.
2. Attach it to the Deal
# 1) Upload the PDF (downloaded from download.url) to HubSpot Files
curl -X POST https://api.hubapi.com/files/v3/files \
-H "Authorization: Bearer HUBSPOT_PRIVATE_APP_TOKEN" \
-F "file=@deck.pdf" \
-F 'folderPath=/decks' \
-F 'options={"access":"PRIVATE"}'
# 2) Create a Note with the file attached, associated to the Deal
curl -X POST https://api.hubapi.com/crm/v3/objects/notes \
-H "Authorization: Bearer HUBSPOT_PRIVATE_APP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"properties": {
"hs_note_body": "Pitch deck archived. Stage: seed | Ask: $5M | ARR: $1.2M",
"hs_attachment_ids": "FILE_ID"
},
"associations": [{
"to": { "id": "DEAL_ID" },
"types": [{ "associationCategory": "HUBSPOT_DEFINED", "associationTypeId": 214 }]
}]
}'Then write the structured fields onto the Deal (create the custom properties once in HubSpot settings):
# Set Deal properties from the analysis object
PATCH https://api.hubapi.com/crm/v3/objects/deals/DEAL_ID
{
"properties": {
"round_stage": "{{ analysis.round.stage }}",
"raise_amount": "{{ analysis.round.amount.value }}",
"arr": "{{ analysis.metrics.arr.value }}"
}
} Use a private app token with the files, crm.objects.deals.write scopes. The note↔deal associationTypeId and property internal names depend on your portal — confirm against your own schema.
The no-code path
Wire it in an automation tool — each has a HubSpot connector:
Related
The same pattern applies to Salesforce, Attio, Affinity, and Notion. See the Integrations index and API docs.