Tool · Zapier

Connect Testivora with Zapier

Catch Testivora events with 'Webhooks by Zapier' and trigger any of Zapier's 6,000+ apps: Slack, Google Sheets, your CRM, anything. No code.

Read time · ~5 min
How it works
Testivora sends a POST to a URL when something happens (new, approved, or deleted testimonial). Zapier catches that POST with a Catch Hook and from there you chain whatever action you want.
01

Create a Zap with 'Webhooks by Zapier'

In Zapier create a new Zap. For the trigger pick the 'Webhooks by Zapier' app and the 'Catch Hook' event. Zapier gives you a 'Custom Webhook URL' — copy it. Webhooks by Zapier requires a paid Zapier plan.

02

Register the URL in Testivora

In Testivora go to Settings → Webhooks → New endpoint. Paste the Zapier Custom Webhook URL, pick the events you care about (testimonial.created, testimonial.approved, testimonial.deleted) and save.

03

Send a test and capture the sample

From Testivora hit 'Send test' on your endpoint. Back in Zapier, on the trigger step use 'Test trigger' — Zapier captures the sample and shows you the fields. Here's the payload shape; the testimonial lives under data:

json
{
  "id": "evt_3hF2bQ...",
  "object": "event",
  "event": "testimonial.approved",
  "version": "1.0",
  "created": "2026-06-03T01:00:00.000Z",
  "attempt": 1,
  "data": {
    "id": "j97...",
    "type": "text",
    "status": "approved",
    "rating": 5,
    "text": "Cerré 3 clientes en una semana.",
    "author": { "name": "Ana López", "company": "Acme" }
  }
}
The id is stable across retries: use it to dedupe.
04

Map the fields in your action

Zapier flattens nested JSON with double underscores, so the field picker exposes paths like these. Use them in the action that follows:

text
event                    // testimonial.approved
data__author__name       // Ana López
data__author__company    // Acme
data__text               // el testimonio
data__rating             // 5
id                       // evt_3hF2bQ... (estable entre reintentos)
For testimonial.deleted, data = { id, space_id, deleted: true } — no author or text.
05

Add the action (Slack, Sheets, your CRM…)

Add whatever action step you want and drag the trigger fields into its fields: author name into the column or message, text into the body, rating into a label. Turn the Zap on and you're done.

Avoid duplicates
If an event is retried, it arrives with the same id. To avoid duplicates, filter or dedupe on that id (use a Filter step or Storage by Zapier). Check the ready-made recipes at /docs/automate.