Vraag vroegtijdige toegang aan

Vul je voornaam en je zakelijke e-mailadres in. We sturen je een link om je aanvraag voor toegang tot Tajo te bevestigen.

Typeform-connector

Connectorstatus: Gepland Nog niet gebouwd. Tajo draait deze connector vandaag niet.

Illustratie · voorbeelddata

Voorbeeld van synchronisatie

Eén record controleren

Bron

Typeform

Connectorstatus: Gepland

Bestemming

Je andere tool

Connectorstatus: Eigen tool

BronveldDoelveldVoorbeeldwaarde
record.id source_id record_1042
record.updated_at updated_at 2026-10-18T08:00:00Z
record.value value sample_value
  1. Opstellen
  2. Eén record controleren
  3. Deze versie goedkeuren

Statussen gelden per connector en garanderen niet dat deze synchronisatie klaar is. De velden zijn illustratief. Controleer het echte schema en de rechten voordat een synchronisatie draait.

Verbind Typeform met Brevo via Tajo om formulier-responses automatisch te synchroniseren, leads vast te leggen vanuit conversationele formulieren en marketingautomatiseringen te triggeren op basis van survey-inzendingen en quizresultaten.

Overzicht

EigenschapWaarde
PlatformTypeform
CategorieForms & Surveys (Custom)
SetupcomplexiteitEenvoudig
Officiële integratieNee
Gesynchroniseerde dataResponses, Contacten, Events, Forms
Auth-methodeOAuth 2.0 / Personal Access Token

Functies

  • Realtime response-synchronisatie - Vang formulierinzendingen automatisch op via webhooks
  • Contact-aanmaak - Maak Brevo-contacten aan of update ze op basis van formulier-responses
  • Lead scoring - Gebruik quizscores en formulierdata voor leadkwalificatie
  • Hidden Fields - Geef klantdata door via Hidden Fields voor gepersonaliseerde formulieren
  • Voorwaardelijke mapping - Map verschillende formuliervelden op basis van response-logica
  • Multi-formulierondersteuning - Verbind meerdere typeforms aan verschillende Brevo-lijsten

Vereisten

Voordat je begint, zorg dat je beschikt over:

  1. Een Typeform-account (Basic-plan of hoger voor webhooks)
  2. Een Personal Access Token uit Typeform Account Settings
  3. Een Brevo-account met API-toegang
  4. Een Tajo-account met connector-rechten

Authenticatie

Personal Access Token

Terminal window
# Generate a token at https://admin.typeform.com/account#/section/tokens
export TYPEFORM_ACCESS_TOKEN=tfp_your_personal_access_token
export TAJO_API_KEY=your_tajo_api_key
export BREVO_API_KEY=your_brevo_api_key

OAuth 2.0

// OAuth 2.0 Authorization Flow
const authUrl = 'https://api.typeform.com/oauth/authorize?' +
new URLSearchParams({
client_id: process.env.TYPEFORM_CLIENT_ID,
redirect_uri: 'https://your-app.com/callback',
scope: 'forms:read responses:read webhooks:write accounts:read',
state: generateState()
});
// Exchange authorization code for access token
const tokenResponse = await fetch('https://api.typeform.com/oauth/token', {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: new URLSearchParams({
grant_type: 'authorization_code',
code: authorizationCode,
client_id: process.env.TYPEFORM_CLIENT_ID,
client_secret: process.env.TYPEFORM_CLIENT_SECRET,
redirect_uri: 'https://your-app.com/callback'
})
});

Configuratie

Basisinstelling

connectors:
typeform:
enabled: true
access_token: "${TYPEFORM_ACCESS_TOKEN}"
forms:
- form_id: "abc123"
list_id: 5
mapping:
email_field: "email"
name_field: "full_name"
- form_id: "xyz789"
list_id: 6
mapping:
email_field: "work_email"
sync:
responses: true
contacts: true
events: true
webhook:
enabled: true
secret: "${TYPEFORM_WEBHOOK_SECRET}"

Veldmapping

field_mapping:
# Map Typeform field references to Brevo attributes
email: email
name: FIRSTNAME
company: COMPANY
phone: SMS
score: LEAD_SCORE
quiz_result: QUIZ_SCORE
nps_rating: NPS_SCORE
feedback: LAST_FEEDBACK

API-endpoints

EndpointMethodBeschrijving
https://api.typeform.com/formsGETAlle forms opvragen
https://api.typeform.com/forms/{form_id}GETEen form ophalen
https://api.typeform.com/formsPOSTEen form aanmaken
https://api.typeform.com/forms/{form_id}PUTEen form bijwerken
https://api.typeform.com/forms/{form_id}/responsesGETResponses ophalen
https://api.typeform.com/forms/{form_id}/responsesDELETEResponses verwijderen
https://api.typeform.com/forms/{form_id}/webhooks/{tag}PUTWebhook aanmaken/bijwerken
https://api.typeform.com/forms/{form_id}/webhooks/{tag}GETWebhook ophalen
https://api.typeform.com/forms/{form_id}/webhooksGETWebhooks opvragen

Codevoorbeelden

Connector initialiseren

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
await tajo.connectors.connect('typeform', {
accessToken: process.env.TYPEFORM_ACCESS_TOKEN,
forms: ['abc123', 'xyz789']
});

Formulier-responses ophalen

// Fetch responses using the Responses API
const response = await fetch(
'https://api.typeform.com/forms/abc123/responses?' +
new URLSearchParams({
page_size: 25,
since: '2024-01-01T00:00:00Z',
completed: 'true'
}),
{
headers: {
'Authorization': `Bearer ${process.env.TYPEFORM_ACCESS_TOKEN}`
}
}
);
const data = await response.json();
// Sync each response to Brevo
for (const item of data.items) {
const answers = item.answers;
const email = answers.find(a => a.field.ref === 'email')?.email;
if (email) {
await tajo.contacts.sync({
email,
attributes: {
FIRSTNAME: answers.find(a => a.field.ref === 'name')?.text,
LEAD_SCORE: item.calculated?.score || 0
},
listIds: [5]
});
}
}

Webhooks instellen

// Register a webhook for real-time response notifications
await fetch(
'https://api.typeform.com/forms/abc123/webhooks/tajo-sync',
{
method: 'PUT',
headers: {
'Authorization': `Bearer ${process.env.TYPEFORM_ACCESS_TOKEN}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
url: 'https://api.example.com/webhooks/typeform',
enabled: true,
secret: process.env.TYPEFORM_WEBHOOK_SECRET
})
}
);

Caution

Het example.com-adres hierboven is een placeholder totdat het Tajo-endpoint beschikbaar is.

Webhook-events afhandelen

app.post('/webhooks/typeform', async (req, res) => {
// Verify webhook signature
const signature = req.headers['typeform-signature'];
const isValid = verifyTypeformSignature(
req.rawBody, signature, process.env.TYPEFORM_WEBHOOK_SECRET
);
if (!isValid) return res.status(401).send('Unauthorized');
const { form_response } = req.body;
await tajo.connectors.handleWebhook('typeform', {
topic: 'form_response',
payload: form_response
});
res.status(200).send('OK');
});

Rate limits

EndpointRate LimitOpmerkingen
Create API2 requests/secAanmaken en bijwerken van forms
Responses API2 requests/secOphalen van responses
Webhooks API2 requests/secWebhookbeheer
Alle endpoints120 requests/minGlobale rate limit

Response-paginering

De Responses API retourneert maximaal 1.000 responses per request. Gebruik de before- of after-cursorparameters voor paginering bij grotere response-sets.

Probleemoplossing

ProbleemOorzaakOplossing
Webhook niet ontvangenWebhook uitgeschakeldSchakel webhook in via Typeform-dashboard
Ontbrekende responsesFilter toegepastControleer since/until en completed-parameters
Auth-fout 401Token verlopenGenereer nieuw Personal Access Token
Rate limit 429Te veel requestsImplementeer request-throttling
Lege antwoordenOptionele veldenBehandel null/undefined-antwoordwaarden

Debugmodus

connectors:
typeform:
debug: true
log_level: verbose
log_webhooks: true
log_responses: true

Best practices

  1. Gebruik webhooks - Geef voorkeur aan webhooks boven polling voor realtime response-capture
  2. Valideer signatures - Verifieer altijd webhook-signatures voor de veiligheid
  3. Gebruik Hidden Fields - Vul bekende klantdata vooraf in formulieren in
  4. Map veldreferenties - Gebruik stabiele veld-ref-waarden in plaats van veld-ID’s
  5. Behandel partiële responses - Houd rekening met optionele en overgeslagen vragen
  6. Stel retry-logica in - Implementeer idempotente webhook-verwerking

Beveiliging

  • OAuth 2.0 - Gescoopte token-gebaseerde authenticatie
  • Webhook-signatures - SHA-256 HMAC-signatureverificatie
  • Alleen HTTPS - Alle API-endpoints vereisen TLS
  • Token-scoping - Vraag minimaal vereiste OAuth-scopes aan
  • Secret-beheer - Sla tokens op in environment variables of secret managers
  • GDPR-compliance - Gebruik de Delete Responses API voor verwijderingsverzoeken

Gerelateerde bronnen

Vraag vroegtijdige toegang aan

Vul je voornaam en je zakelijke e-mailadres in. We sturen je een link om je aanvraag voor toegang tot Tajo te bevestigen.

AI-assistent

Hallo! Stel me vragen over de documentatie.

Deze pagina als Markdown: typeform.md

Markdown laden…
Openen in Claude Openen in ChatGPT