Appfarm Documentation
Getting startedDocumentationCommunityAppfarm Create
  • Overview
  • Getting Started
    • What is Appfarm?
    • Key concepts
    • Quickstart
      • Speed intro
      • Step-by-step guide
    • Appfarm Showroom
    • FAQ
  • Appcademy
    • Learning paths
    • Appfarm Fundamentals
      • Intro Course
        • 1. Intro to No-Code and Appfarm
        • 2. Navigation in Appfarm Create
        • 3. What is Apps?
        • 4. Intro to UI Editor
        • 5. Data Model
        • 6. App Data
        • 7. Actions
        • 8. Tips and Tricks
        • 9. Intro to practical walkthrough
        • 10. Create a details view of a Project
        • 11. Create a Custom List
        • 12. Swipe and Delete
        • 13. Functionality for simple Create of Data
        • 14. Upload and Download Photos
        • 15. Input Dialog with Validation and Save
        • 16. Dashboard
        • 17. Summary
        • Quiz
      • User Interface Fundamentals
        • Container - Sectioning, Styling and Repeating
        • Conditional Styles
        • Motions
        • Responsive Design
        • Step-by-step workflow
        • Featured UI Components
        • Quiz
      • App Data Fundamentals
        • Data Source Filtering
        • App Variables and Runtime Properties
        • URL Parameters
        • Quiz
      • Actions & Logic Fundamentals
        • Event Handlers
        • Featured Action Nodes
        • Context Parameters
        • Quiz
      • Services Fundamentals
        • Introduction to Services
        • Setting up a Service
        • Scheduling a Service
      • Integration Fundamentals
        • The web request action node
        • Fetch data from an endpoint
        • Map data to a data source
        • Modify the response
        • Nested data mapping
        • Path parameters
        • Authentication
        • Send data to an endpoint
        • Quiz
      • User handling and permissions
        • Users and roles
        • Permissions
        • Creating users
        • Extending the User object class
        • Updating and deleting users
        • Unauthenticated access
        • Quiz
    • Appfarm Professional
      • User Interfaces
        • Featured UI Components
        • Concepts and Use Cases
      • Data Structures & Data Handling
        • Data Features
        • Search & Filters
        • Featured Action Nodes
        • GraphQL
      • Logic & Flow
        • Logical Concepts
        • Date and Time Handling
        • Featured Action Nodes
        • Exception Handling
      • Login & Configuration
        • Login and Authentication
        • Settings, Configuration and Languages
      • Security & Operations
        • Security and Permissions
        • Deployment
        • Schedules and Logs
        • Debugging and App Health
      • Performance & Optimization
        • Optimizing Performance
        • Enhancing Functionality
    • Appfarm Sales Representative
    • Appfarm Developer Forum
      • Session 1: Data Modeling in Appfarm Create
      • Session 2: App Data in Appfarm Create
      • Session 3: Services in Appfarm Create
      • Session 4: Optimizing Performance
    • Background
      • Databases
        • Data modeling 101
        • Database normalization
  • Library
    • UI components
      • Advanced bar chart
      • Advanced bubble chart
      • Advanced combined chart
      • Advanced gantt chart
      • Advanced heatmap chart
      • Advanced line/area chart
      • Advanced pie chart
      • Advanced scatter plot chart
      • Advanced solid gauge chart
      • Animated component
      • Avatar
      • Avatar group
      • Basic bar chart
      • Basic gauge chart
      • Basic line chart
      • Basic pie chart
      • Bottom navigation
      • Button
      • Checkbox
      • Chip group
      • Circular progress
      • Coded component
      • Container
      • Date & time picker
      • Drawable canvas
      • Floating action button
      • Icon
      • Icon button
      • Iframe
      • Image
      • Linear progress
      • List
      • Map
      • Menu list
      • Multi select
      • PDF reader
      • Popover
      • Radio buttons
      • Rich text editor
      • Rich text
      • Select
      • Slider
      • Speed dial
      • Switch
      • Table
      • Tabs
      • Text
      • Text edit
      • View container
      • Visibility group
    • Action nodes
      • Aggregate data
      • Advanced search
      • Auth operations
      • Block
      • Catch exception
      • Copy to clipboard
      • Create file archive
      • Create file object
      • Create object
      • Create user account
      • Delete objects
      • Delete user account
      • Duplicate objects
      • End execution
      • Exit block
      • Exit loop
      • Export data
      • Foreach
      • Generate document
      • If
      • Import data
      • Invalidate cache
      • Log in
      • Log to console
      • Log out
      • Next iteration
      • Navigate
      • Open/close popover
      • Open confirm dialog
      • Open print dialog
      • Open snackbar
      • Open Unsplash dialog
      • Open URL
      • Persist objects
      • Push notifications
      • Read objects
      • Request permissions
      • Run code
      • Run other action
      • Run service
      • Scan barcode/QR code
      • Send email
      • Send SMS
      • Set client language
      • Set data source attributes
      • Set selection
      • Set theme
      • Set user account image
      • Show install app prompt
      • Sleep
      • Sort objects
      • Throw exception
      • Toggle drawer
      • Update object
      • Update secret
      • Update user account
      • Web request
      • While
  • Reference
    • Appfarm Create
      • Appfarm Commander
      • Blue dots
      • Copy & Paste
      • Farmer's Market
      • Find references
      • Find usage
      • Keyboard shortcuts
      • Undo/Redo
      • User preferences
    • Platform concepts
      • Conditions
      • Data bindings
      • Date and time
      • Event handlers
      • Filters
      • Functions
      • Markdown
      • Objects
      • Operators
      • Value processor
    • Dashboard
    • Apps
      • UI
        • Views
          • Dialog
          • Drawer
        • Layout designer
        • Component properties
        • Shareable UI components
      • Data
        • App variables
        • Data sources
        • Calendar data sources
      • Actions
      • App settings
      • App size
      • App health
    • Services
      • Service Endpoints
      • Service settings
      • Service health
      • API explorer
    • Data model
      • Object classes
      • Object class properties
      • Enumerated types
      • GraphQL
        • Queries
        • Mutations
      • Data Extract API
      • Time series data
    • Operations
      • Deploy
      • Schedules
      • Logs
    • Resources
      • Themes
      • Files
      • Fonts
      • Internationalization
    • Configuration
      • Environments
      • Login
        • Custom auth providers
    • Security
      • Users
      • Service accounts
      • Roles
      • Secrets
      • Permissions
        • Conditional Permissions
    • Appfarm Client
      • Developer tools for Apps
      • Developer tools for Services
      • Warnings and errors
  • How to
    • Data modeling
      • Many-to-many relationships
      • Use naming conventions
      • Offline data handling
      • Data silos and White labelling
    • User interface
      • Manage a many-to-many relationship with a Chip group
      • Configure drag and drop
      • Build a drag-and-drop calendar
      • Design a responsive layout
      • Work with flexbox
      • Use Mapbox as a map layer
      • Understand charts
    • Logic and flow
      • Event Log Design
      • Configure advanced search
    • Themes and styling
      • Change the active theme
      • Add custom email templates
    • Enhance your app
      • Add deep links
      • Add keyboard shortcuts
      • Add link previews for social media
      • Apply SEO best practices
      • Change the active language
      • Generate a PDF from a Container
    • Integrations
      • Integrate with external systems
      • Integrate with OpenAI
      • Integrate with Google Analytics (GA4)
      • Configure a custom email account
      • Integrate with a payment provider
      • Integrate with Signicat
      • Integrate directly with an external database
      • Retrieve a Bearer token from Google Cloud
      • Fetch data from BigQuery
      • Retrieve access token from Microsoft Entra ID
    • Workflow automation
      • Update an OAuth 2.0 access token from a service
    • Authentication and access control
      • Add users and assign roles
      • Configure unauthenticated access
      • Implement third-party authentication
    • Security, testing and deployment
      • Add a custom domain
      • Install an app on a device
      • Get ready for Production
      • Optimize performance
      • Security checklist
      • Test and debug
    • Example apps
      • Create an Instagram clone
        • The end result
        • Designing the feed
        • Create new post
        • Add a like-button
        • Add comment-functionality
  • Solution administration
    • Subscription and billing
    • Dedicated tier benefits
    • Guide to GDPR
      • Key principles
      • How Appfarm protects personal data
      • How you can protect your clients’ data
      • Glossary
    • Appfarm and the EU AI Act
  • Policies
    • Appfarm Policies
    • Data Processors
    • Privacy Policy
Powered by GitBook
On this page
  • Settings
  • Source Format
  • Source Type
  • Result parser (Optional)
  • Data Source
  • Columns
  • Ignore First Row
  • Delimiter
  • Usage

Was this helpful?

Export as PDF
  1. Library
  2. Action nodes

Import data

Import data is used for importing data from a CSV-file, Text-file or JSON-file, and store these as objects in Appfarm.

Settings

Source Format

The file type of the file to be imported. CSV, Text and JSON is supported. Note that you may create CSV files from Excel ("Save as" -> CSV (UTF-8)).

Source Type

  • File: The File Browser will open when this action node is executed, to allow the end user to select the file (according to the Source Format) to be imported. This option is only available when Import Data is used in Apps, not in Services.

  • URL: Instead of opening the file browser, you may enter an URL to retrieve the file from.

  • Text: Instead of retrieving a file (from the file browser or URL) you may define the CSV, Text or JSON content yourself as part of the action node. E.g. you may construct the rows of a CSV file yourself.

Result parser (Optional)

If you need to process the data imported from the document before mapping it to a data source you can write a function in the result parser. The raw import data is provided as a parameter.

For CSV files, the raw import data is an array where each element represents a row of data. Each element is again an array, with each element representing a column. The return value should be of the same structure. The first row will be included, even if you have selected Ignore First Row.

CSV result parser
// Example structure
[
  ["First name"," Last name", "Email"]
  ["Jess", "Renner", "jess@3050labs.com"],
  ["Carolyn", "Green", "carolyn@3050labs.com"],
  ["Frank", "Williams", "frank@3050labs.com"],
  ...
]

For JSON files, the raw import data is an object or array dependent on the original structure. The return value should be of the same structure.

JSON result parser
// Single object
{
    "firstName": "Jess",
    "lastName": "Renner",
    "email": "jess@3050labs.com"
}

// Array
[{
    "firstName": "Jess",
    "lastName": "Renner",
    "email": "jess@3050labs.com"
},
{
    "firstName": "Carolyn",
    "lastName": "Green",
    "email": "carolyn@3050labs.com"
},
{
    "firstName": "Frank",
    "lastName": "Williams",
    "email": "frank@3050labs.com"
}]

Data Source

Columns

Ignore First Row

By ticking this checkbox, you will not import the first row, which often contains column header names.

Delimiter

For CSV files, the delimiter between columns may vary. In the US, the delimiter is normally comma (,) whereas in Europoe it is normally semicolon (;). Appfarm will try to autodetect this, but in the cases you know the delimiter, you may specify e.g. a semicolon here.

Usage

Assuming you have created an object class in the Global Data Model, with properties for storing this data, you now want to import data from a CSV file, storing each row and properties into this object class/database.

Import Data is also explained here, by providing an example case:

We have the Object Class "Invoice" with 4 properties "Invoice Number", "Amount", "Date" and "Description".

  1. Add this as a data source in App Data (e.g. "Invoices (temp)). The data source should be Runtime only, with cardinality "Many". Note that, with both Import data and Web requests, you may only populate "Runtime only" data sources directly from the action node.

  2. Add the action node "Import Data" and set the Data Source setting to "Invoices (temp)"

  3. Add target columns: If your CSV holds 4 columns - add 4 target columns. For each - set which property in Invoices (temp) the column should map to

Note that sometimes the format within the CSV does not match 1-to-1 to the built-in data types of the data source. E.g. a "date" in a CSV file may be formatted differently for different CSV files.

When mapping your columns, you may set a Format:

  • Date types: If the CSV file holds dates such as "24.12.2020" you should set the Format to "DD.MM.YYYY". If the CSV also holds Time (e.g. 24.12.2020 10:00), the Format should be "DD.MM.YYYY HH:mm".

  • Float types: If you are mapping towards a float datatype (e.g. when mapping the CSV column "Amount" to property Invoices (temp).Amount) - the decimal separator may be "," in some files, and "." in others. The default value being interpreted is ".", so you must explicitly state "," if your CSV file holds decimal numbers such as "225,50".

Note that if "Invoices (temp)" has a property "Customer" being an object reference towards the Customer object, you need to deal with this the following way:

  • Your file holds "Customer No", which is a property of the Customer object, not the Invoice object: Navigate to App Data -> Invoices (temp) and add a runtime only property to this data source ("Customer No temp" for instance, with data type Integer)

  • Map the "Customer No" column of your CSV to "Customer No temp"

After the Import Data action node, you may set the Customer reference, best and most efficiently implemented by using an Update Object (update All objects in Invoices (temp)):

  • For the property "Customer" - use a Function

  • Assuming you have a data source "Customers" holding all customers: Add "Customers" as a Function Parameter, and set a filtered selection on this function parameter with filter "Invoices (temp).Customer No temp Equals Customers.Customer No". The list of customers added as a function parameter will be filtered down to 1 object (or 0, if no match)

  • Write a function: return "customers[0]._id". This returns the built-in "id" property of the first record in the list. Yes, it's still a list even though it has been filtered down to a single item.

Tip

CSV files are often saved with different encodings. The best format for importing with Appfarm Create is "CSV UTF-8".

JSON result parser
PreviousIfNextInvalidate cache

Last updated 1 year ago

Was this helpful?

Select the Data Source you want to import data into. The Data Source must be Runtime Only. See section below.

Map column-by-column of the CSV file (or JSON / Text file) to a property in the Data Source. If you want to import all columns of a CSV file with 4 columns, you must add 4 column mappings. See section below.

An example setup of Import Data is showcased in our ! You may view a demo, as well as access the setup in Appfarm Create. If you do not have access, you may register .

Showroom
here
Usage
Usage