Nubu
  • Features
  • How it works
  • Pricing
  • Integrations
  • FAQ
  • Contact
  • Docs
  • Blog
  • Log in
  • Log inSign up
    Nubu

    Creative automation for teams that ship campaigns, not busywork.

    Try for free
    Product
    FeaturesHow it worksPricingIntegrationsFAQ
    Company
    AboutContactDocsBlogLog in
    Legal
    Privacy policyTerms of serviceData deletion
    © 2026 Bear Studios · Nubu
    Introduction
    Templates overviewInstalling Nubu BuilderAdding template compsAdding propertiesAdding footageSetting defaultsExporting your templateUploading a template
    Flows overviewAvailable nodesAdding a nodeConnecting nodesWorking with dataTemplates and outputsUsing AI nodesBuilding a creative
    CampaignsTemplatesAssetsGlossariesRendersSettings
    Connecting Meta AdsConnecting Google AdsConnecting OpenAIConnecting Gemini AI StudioConnecting Anthropic
    AI Assistant overviewPrompt examplesAssistant settings and controls
    All docs
    Guides
    / Flows

    Working with data

    Drive whole campaigns from a spreadsheet with the CSV and If / Else nodes.

    The CSV node turns a spreadsheet into flow data: each selected column becomes an output you can pipe anywhere a list node's rows would go. Paired with If / Else, one file can drive every market, language and copy variant in a campaign.

    Upload a CSV#

    1. Add a CSV node and click Upload a CSV (or drop the file straight onto the node).
    2. The node uploads (with a progress bar) and then reads the file.
    3. Columns appear as tick-boxes, each with the type Nubu inferred: text, number, boolean, colour, url, image or video.
    4. Tick the columns you want to use; each becomes an output handle.

    The node previews the first rows inline so you can check the data landed correctly. Files must be .csv and within the size limit; the node tells you if a file is the wrong type or too large.

    Pipe columns into nodes#

    Drag a column output into the data input of a list node (Market, Language, Text and friends). The node generates its rows from the column's unique values and locks them: they show the actual values with a count badge, and they update if you re-upload the file.

    With Auto-pair generated subitems on (the default, in the editor settings gear), nodes generated from the same CSV stay paired row-by-row, so row three's market, language and headline travel together instead of multiplying against each other.

    Route rows with If / Else#

    1. Add an If / Else node and pipe a CSV column into its input.
    2. Add one or more conditions. Each tests a column against a value with an operator: =, !=, >, <, >=, <=, contains, not contains, starts with or ends with.
    3. All conditions must pass (they combine with AND). Rows that pass leave through the true branch; the rest, including rows that can't be evaluated, leave through false.
    4. Pipe each branch onwards exactly like a CSV column.

    When fully wired, the node shows live counts of the rows travelling down each branch.

    Builds stay honest#

    At build time, combinations your data doesn't contain are pruned automatically, so a forty-row file yields the creatives the rows describe rather than every theoretical cross-product. Very large files are capped per build, and the build tells you if you hit the ceiling.