Intempt Docs
Developer DocsAPI Reference

Source and destination reference

Every source Intempt can read from and every destination it can write to: 12 of each, with what each one carries and how delivery is metered.

Overview

Intempt reads from sources and writes to destinations. This page lists every one of both, including those that do not yet have a Connect button in the console.

For how to connect one, see Sources, Destinations and the Integration catalog. This page is what exists, not how to wire it.

Sources

Twelve source types. Each one provisions its own event collections when connected — see Event reference.

SourceType keyKindProvisioned collections
Web (JavaScript)webSDK7 web_*
iOSiosSDK8 ios_*
AndroidandroidSDK14 named collections, no android_* event set
React Nativereact_nativeSDKnone of its own
Node.jsnodejsServer SDKnone of its own
PHPphpServer SDKnone of its own
PythonpythonServer SDKnone of its own
HTTP APIapiDirectnone — you define the events
URI feeduri_feedScheduled pullnone — you define the events
ShopifyshopifyPlatform9 shopify_*
StripestripePlatform17 stripe_*
HubSpothubspotPlatform7 hubspot_*

📘 "No provisioned collections" is not "cannot send events"

React Native, Node.js, PHP, Python and the HTTP API all send events through the same ingestion endpoint. They simply have no pre-defined collection set, so their events land in collections you define. Web, iOS, Shopify, Stripe and HubSpot arrive with a shape already agreed.

Destinations

Twelve destination types. The journey node column is the block you place on a journey canvas to reach that destination.

Messaging

DestinationType keyJourney nodeCarries
SendGridsendgridsend-emailEmail
Intempt SESintempt_sesBundled email. Created automatically, nothing to connect
Amazon SESses_emailsend-ses-emailEmail through your own verified SES domain
Gmailgmailgmail-emailEmail, through a connected Google Workspace account
Twiliotwiliosend-smsSMS
Firebase Cloud Messagingfirebase_cloud_messagingsend-push-notificationMobile push
SlackslackslackA message to a channel or user

Data and systems

DestinationType keyJourney nodeCarries
Kafkakafkakafka-publishEnriched records onto a topic you own
Amazon S3s3s3-exportEnriched records written to a bucket you own
WebhookwebhookwebhookAn HTTP POST to any endpoint
HubSpothubspotWrite-back to HubSpot. Reached through Workflows, not journeys
Freshdeskfreshdesksend-ticketA support ticket

📘 Two destinations have no journey node, for two different reasons

Intempt SES is bundled email. It is a system destination: isSystem is true and it is created for every project automatically, with no integration to connect and nothing to configure. It is the sender used when you have not brought your own. Bring your own domain and you are using ses_email instead, which is a destination you connect and which does have a journey node.

HubSpot write-back is locked to Workflows. Its three actions — create a task, update a property, add to a list — are workflow actions, not journey blocks. Pushing data back to HubSpot is done from a workflow. Everything else in both tables is reachable as a journey block.

Delivery modes

The two data destinations differ in when records arrive, not in what they contain.

ModeDestinationWhen records arrive
StreamingKafkaEach event is published as it happens
BatchS3The same events, written on a window

Both count the same unit — events delivered. The delivery mode sets the rate, not what is counted, so the same event costs differently depending on how quickly you need it. You choose per destination, which means you can stream to the topic your systems watch and batch to the bucket your warehouse reads.

Messaging destinations are metered per send, per channel: email, SMS and push are counted separately.

Use cases

  1. Confirm a destination exists before designing a journey around it — Kafka and S3 are not in the console's Add Integration panel but are real destination types.
  2. Check whether a source provisions collections before planning a tracking plan; an API or React Native source needs you to define events first.
  3. Pick a delivery mode per destination rather than for the whole account, so latency is paid for only where it is needed.
  4. Look up the journey node name when building a journey through the API rather than the canvas.

Where to go next

On this page