Last updated on October 23, 2026
Read records: pull
Read records from an end customer's HubSpot, one page at a time.
What pull does
pull returns one page of records and a marker for the next. The marker is empty on the last page: null in TypeScript, nil in Ruby, None in Python.
pull works on HubSpot only for now.
This reads every contact, a page at a time:
let after;
do {
const page = await appnigma.pull({ endCustomerId: "lawfirm-123", platform: "hubspot", object: "contact", limit: 100, after });
for (const contact of page.records) {
console.log(contact.id, contact.properties.email);
}
after = page.next ?? undefined;
} while (after);after = nil
loop do
page = client.pull(end_customer_id: "lawfirm-123", platform: "hubspot", object: "contact", limit: 100, after: after)
page[:records].each { |contact| puts "#{contact[:id]} #{contact[:properties]["email"]}" }
after = page[:next]
break if after.nil?
endafter = None
while True:
page = client.pull(end_customer_id="lawfirm-123", platform="hubspot", object="contact", limit=100, after=after)
for contact in page["records"]:
print(contact["id"], contact["properties"]["email"])
after = page["next"]
if after is None:
breakWhat you send
Names are shown as in TypeScript. Ruby and Python use the same names in snake case: end_customer_id.
Your own id for your customer. 1 to 100 characters of letters, digits, dot, dash or underscore.
Only hubspot for now.
contact, company or deal.
How many records in one page, from 1 to 100.
The next marker from the previous page. Leave it out for the first page.
What you get back
The records in this page. Each one has an id and its properties, by the platform's own property names. A property's value is text, or null when it is empty.
The marker to pass as after for the next page. Empty on the last page.
When it fails
pull is tried again only when that is safe: the API could not be reached, it answered with a server error, or it said to slow down. By default it is made up to three times. See Retries and time limits.
The failures you are most likely to see here:
END_CUSTOMER_NOT_FOUND: that end customer has not connected HubSpot yet. See Connecting an end customer.CONNECTION_NEEDS_RECONNECT: the end customer has to approve again. Send them a new connect link.
Every code is on Errors.