Savvy Docs
  • Welcome
  • Guides
    • Intro to the builder
    • Designer Card
    • Options Card
    • Working with Logic
  • How-To's
    • General How-To's
      • ✔️How to select a container when I can’t click over it on the screen
      • 👁️How to hide a global component on a specific page
      • 📊How to calculate statistical significance from split test
      • 🅰️How to install a Google font.
      • 🗒️How to use "Logs" for debugging
      • ↩️How to change pages order
      • 🌒How to select components that are behind the Embeddables card
      • 📄How to clone a page
      • ➕How to add new components to a page
      • 📄How to select the whole page
      • 💻How to view your flow on different screen sizes
      • ⛵How to move between pages while editing your flow
    • Design How-To's
      • 🖋️How to style a specific component element (E.g. buttons image)
      • ⭕How to style individual buttons (by button key) in Options Selectors
      • 🧿How to style a rounded bullet-like checkbox for options buttons
      • 🔲How to get rid of the default input outline
      • 🖼️How to style a background image
      • 🦚How to style components (basics)
      • ↪️How to change a component's location
      • ⬆️How to upload and apply images to your design
      • 🔘How to style hover, selected, disabled button states
      • 🪶How to style CSS properties that are not there in the designer card (custom properties)
      • 📱How to make my flow responsive
    • Logic How-To's
      • 👁️How to set show/hide conditions
      • 📺How to display a value previously entered by the user
      • ✖️How to add a “Deselect All” button in a Multi-Select
      • 🔨How to use a computed field in a condition
      • 👁️How to hide a global component on a specific page
  • Other useful docs
    • Useful Docs
      • 🚦Conditions
      • 👩‍💻Computed Fields
      • 🔖Tags
    • WORK IN PROGRESS
      • ◻️Pending
        • Work in Progress: How the New Rendering Engine Works
        • Work in Progress: How to create a new Split test
        • Work in Progress: Preloading images
        • Work in Progress: How to show “loading…” while fetching or processing data
        • Work in Progress: How to send data to Tiktok
        • Work in Progress: How to send data to Postcript
        • Work in Progress: How to send data to Klaviyo
        • Work in Progress: How to send data to Google Tag
        • Work in Progress: How to send data to Google Analytics
        • Work in Progress: How to Fetch User Location Data to use in your Flow
        • Work in Progress: How to fetch job offers from Lever’s API
        • Work in Progress: How to fetch data and display the results as options in a dropdown
        • Work in Progress: How to create a new split test with 3 variants
        • Work in Progress: How to Duplicate a Container with All its Content
        • Work in Progress: How to add Chart.js to your flow
        • Work in Progress: How to Create Repeatable Button Components, Fetching from a Database
        • Work in Progress: How to Create a Global Column
        • Work in Progress: How to Clone a Flow
        • Work in Progress: How to Create and Style a Carousel
        • Work in Progress: How to Add Default User Data
        • Work in Progress: How to Show Validation Messages on Required Fields
        • Work in Progress: How to create an Option Selector Results Page
        • Work in Progress: How to create a combined Option Selector + Input component
        • Work in Progress: How to Add an Info Box Popup
        • Work in Progress: How to set up a Micro-Product as a Popup on your Site
        • Work in Progress: How to make a Full-Page Flow
        • Work in Progress: How to Use Custom Selectors
        • Work in Progress: How to Add a Video/GIF Placeholder to a Video Component
        • Work in Progress: How to Style Buttons
        • Work in Progress: How to Center Components
        • Work in Progress: How to Bring Data from Airtable
        • Work in Progress: How to add a custom font from a website:
        • Work in Progress: How to Create Computed Fields
        • Work in Progress: How to Ping an API
        • Work in Progress: How to Store a Password
        • Work in Progress: How to Bring Data from Google Sheet
        • Work in Progress: How to Fetch Safely from Savvy
        • Work in Progress: How To Fetch Data from a specific row in Airtable in a Computed Field
Powered by GitBook
On this page
  • As a Computed Field:
  • As an Action:
  • Step 1: Create the Data Output
  • Step 2: Write your Code
  • Step 3: Trigger it!
  1. Other useful docs
  2. WORK IN PROGRESS
  3. Pending

Work in Progress: How to Ping an API

PreviousWork in Progress: How to Create Computed FieldsNextWork in Progress: How to Store a Password

Last updated 1 year ago

This can be done in a Computed Field if you want to fetch from the API when the Flow gets loaded or you can do it as an Action if you want to trigger the fetch at some specific point or points of the Flow.

As a Computed Field:

  1. Create a Computed Field (learn how to in the "" doc).

  2. Write your code. It should look something like this:

return fetch('https://example.com/api', {
  method: 'POST', // or 'GET'
  headers: {
    'Content-Type': 'application/json' // Common example of a header
  },
  body: JSON.stringify({ key: 'value' }), // For sending some data
})
  .then(response => response.json()) // This just turns the response into JSON data
  .then(data => { /* Do something with data */ })

As an Action:

Step 1: Create the Data Output

  • Go to the "All" Tab on the Left Sidebar

  • Scroll to the bottom where you can find the Data Outputs area, and click on "Create New"

  • On the Options Tab of the Right Sidebar select "Custom" as an output

  • Check the "Manual Trigger Only" box

Step 2: Write your Code

  • Click on "Generate Sample Code" below the code editor, on the Options Tab of the Right Sidebar

  • Write your code inside the created function. It should look something like this:

fetch('https://example.com/api', { 
  method: 'POST', // or 'GET'
  headers: {
    'Content-Type': 'application/json' // Common example of a header
  },
  body: JSON.stringify({ key: 'value' }), // For sending some data
})
  .then(response => response.json()) // This just turns the response into JSON data
  .then(data => { /* Do something with data */ })

Step 3: Trigger it!

  • Select the page or component where you want to ping the API

  • Go to the Triggers Tab on the Right Sidebar

  • Choose to trigger on page load, on page complete, on click, on success, etc.

  • Select the Data Output you want to trigger

  • Done!

◻️
How to Create Computed Fields