graph8 Developer API, rendered from the frozen contract.
The full REST surface below is generated from the release bundle (v1.0.0, OpenAPI 3.1.0). Try calls, read every field, and generate a client. For a higher-level map, see the capability catalog.
Looking for machine-readable API discovery? The canonical apis.json and llms.txt discovery manifests live on graph8.com and are maintained as the single source of truth. This page references them rather than duplicating them here.
Webhook event catalog.
graph8 pushes these events to your registered endpoint as work happens on the platform: campaigns launch, emails get replies, meetings get booked, enrichment finishes. Subscribe once and react in real time instead of polling the API.
Deliveries are signed with HMAC-SHA256
(X-Studio-Signature, X-Studio-Timestamp)
and retried with backoff. 37 of 38 event types are
active (a production code path dispatches them). The rest are
planned: defined in the catalog, not yet emitted. Check the
lifecycle before you build on an event.
- active
engagement.call_connectedA dialer call connected to a live person. - active
engagement.call_dispatchedA call task was dispatched to the dialer. - active
engagement.call_gradedA dialer call was graded, including its overall and per-category scores. - active
engagement.email_bouncedAn email to a contact bounced. - active
engagement.email_repliedA contact replied to an email. - active
engagement.email_sentAn email was sent to a contact. - active
engagement.email_skippedAn email step was skipped for a contact. - active
engagement.linkedin_connection_acceptedA LinkedIn connection request was accepted. - active
engagement.linkedin_connection_sentA LinkedIn connection request was sent. - active
engagement.linkedin_inmail_sentA LinkedIn InMail was sent. - active
engagement.linkedin_message_sentA LinkedIn message was sent. - active
engagement.linkedin_reply_receivedA LinkedIn reply was received from a contact. - active
engagement.sms_repliedA contact replied to an SMS. - active
engagement.sms_sentAn SMS was sent to a contact. - active
engagement.whatsapp_sentA WhatsApp message was sent to a contact.
- active
campaign.completedA campaign finished all of its steps. - active
campaign.createdA campaign was created. - active
campaign.deletedA campaign was deleted. - active
campaign.launchedA campaign was launched and is now sending. - active
campaign.pausedA campaign was paused. - active
campaign.status_changedA campaign's status changed. - planned
campaign.updatedA campaign's configuration was updated. NOT YET EMITTED: this event type is defined but no production code path dispatches it. Do not build on it until it is marked active.
- active
sequence.completedA sequence completed all steps for a contact. - active
sequence.draft_createdA campaign created a Sequencer draft. - active
sequence.pausedA sequence was paused. - active
sequence.startedA sequence started running for a contact.
- active
campaign.content_readyAll content for a campaign is ready. - active
document.failedA campaign document failed to generate. - active
document.generatedA campaign document finished generating.
- active
meeting.bookedA meeting was booked. - active
meeting.cancelledA booked meeting was cancelled. - active
meeting.rescheduledA booked meeting was rescheduled.
- active
audience.failedAn audience failed to build. - active
audience.readyAn audience finished building and is ready to use.
- active
company_intelligence.completedCompany intelligence gathering completed. - active
company.enrichedA company record was enriched.
- active
intelligence.completedAn intelligence/research run completed. - active
intelligence.failedAn intelligence/research run failed.
Signal to Qualified Meeting.
Build an audience, enrich it, launch outreach, and book a meeting.
The developer-facing reference outcome. Each step resolves to a public operationId in the graph8 release contract; outputs chain into later steps.
Inputs
-
search_queryobjectSearch filter for the candidate contacts (search/contacts body).
-
audience_titlestring requiredTitle for the audience/list to create.
-
campaign_namestring requiredName for the outreach campaign.
-
event_type_idstringEvent type to book the qualified meeting against.
Steps
- 1 find-candidates Search POST
/search/contactsWP5.2 - find the candidate contacts to work.
- 2 create-audience Lists POST
/listsWP5.3 - create the audience/list that scopes the run.
- 3 add-to-audience Lists POST
/lists/{list_id}/contactsWP5.4 - add the found contacts to the audience.
- 4 enrich-audience Enrichment POST
/enrichment/enrichWP5.5 - enrich the audience so outreach has real data.
- 5 verify-deliverability Enrichment POST
/enrichment/verify-emailWP5.7 - verify email deliverability before sending.
- 6 create-campaign GTM Campaigns POST
/campaignsWP5.8 - create the outreach campaign against the audience.
- 7 launch-campaign GTM Campaigns POST
/campaigns/{campaign_id}/launchWP5.9 - launch outreach.
- 8 book-meeting Appointments POST
/appointments/bookingsWP5.11 - book the qualified meeting.
Outputs
list_idcampaign_idbooking_id