Skip to content
Pushizo
Turkish version of this pageLog inStart free

Data from your API or CSV tables at send time.

Dynamic content and Data Feeds

Personalise messages at send time with up-to-date data from your own API or the tables you upload.

Data Feed · profile
Liquid template
{% if feed.profil %}
{{ user.first_name }}, {{ feed.profil.puan }}…
{% else %}…{% endif %}
Text resolved at send time

Emma, you have 1,250 points! Earn double points this week.

Cache 300 s · timeout 1.5 s
Sample data shown for illustration.

Dynamic content and Data Feeds with Pushizo

Pushizo Data Feeds call your API for each recipient while a message is being sent and make the response available in the Liquid template. Content tables insert data uploaded as CSV (such as a product catalogue or store list) into messages with the {% lookup %} tag. Requests are cached, and default content is shown when a source times out or fails.

  • Data Feeds

    Fetch data at send time from a URL built with user and subscription values.

  • Content tables

    Insert CSV data with {% lookup %}; update it through the API.

  • Safe requests

    SSRF checks, encrypted secret headers and a timeout of at most 2 seconds.

  • Resilience

    Caching, a circuit breaker and default content on failure.

All capabilities

The complete list of what you can use in this feature today.

  • URL templates from user.*, subscription.* and custom_data.* values with Liquid
  • GET and POST requests; JSON body template for POST
  • Secret headers stored with envelope encryption and never shown again
  • 0–86,400 s caching and 100–2,000 ms timeout
  • A circuit breaker shared across all workers
  • Default content on failure
  • A test endpoint that bypasses the cache, with JSON preview
  • CSV content tables (50 columns, 100,000 rows, 20 MB) and the {% lookup %} tag
  • Content table updates via the REST API

Key facts

  • A Data Feed request can be GET or POST; the timeout is between 100 and 2000 ms.
  • Content tables can have up to 50 columns, 100,000 rows and 20 MB.
  • For a feed that fails 5 times in a row, the circuit opens for 30 seconds and no requests are made.

How it works

  1. Define the feed

    Set the URL template, method, secret headers, cache duration and timeout; try it with a sample user.

  2. Use it in the template

    Place feed.name or {% lookup %} values into the message text with Liquid.

  3. Send

    Only feeds referenced in the template are fetched at send time; the same URL is requested once per send.

SDKs and integrations

SDKs and connection points you can use with this feature.

Frequently asked questions

When is a Data Feed called?

While a message is being sent, for each recipient; only feeds used in the template are fetched and responses are cached.

What if my API does not respond?

The request times out after at most 2 seconds and default content is used. After repeated failures the circuit breaker pauses requests temporarily.

Are my API keys safe?

Secret headers are stored with envelope encryption, and only their names are shown after saving.

What is a content table?

Data you upload as CSV; a message looks up a row with the {% lookup %} tag and uses its values.

Send your first message with Pushizo

Create your account, add the SDK and send your first notification to a test device. New organizations get a 14-day trial with Starter plan limits.