Single Record Import


Single Record Import is available in FOLIO as of the Iris release.

The idea is to do:

1) Starting from Inventory, pull the MARC record from a designated source e.g. OCLC World Cat, or Library of Congress by using the Action menu in Inventory. The process will automatically populate the MARC record in Inventory and SRS as in one action whether it's creating a new record, or overlay of an existing record. This approach is less cumbersome than the full Data import app. using predefined targets, then the records are to be retrieved via their control number in the target system (e.g. OCLC number for Connexion, LCCN for Library of Congress)

2) Push the MARC record from OCLC Connexion into FOLIO

Use cases
  1. Acquisitions downloading a record, which will then be ordered
  2. Cataloging overlaying a brief or earlier version of a record with a newer version

Multiple targets can be enabled in Settings > Inventory > Z39.50 target profiles

The little check mark indicates if the Z39.50 target profile has been enabled. Please notice that the OCLC WorldCat profile needs the institutions local Authentication.

Library of CongressOCLC WorldCat

Z39.50 target profiles settings
NameNamewill display on UI


Authenticationsyntax = username/password
  • leave blank if no auth needed
External ID query mapwhich "field" to search e.g. `@attr 1=12 $identifier`
  • Z39.50 Bib-1 Use attributes
    • e.g.
      • @attr 1=7 usually means ISBN
      • @attr 1=12 usually means Control number-local
  • not sure what `$identifier` part does
    • if leave out completely, it'll break
  • Note as of O release, if there's multiple results found, it'll just always use the first result
Internal ID embed pathwhere in Marc to store instance UUID
  • e.g.
    • 999ff$i
Job profile ID for createwhich import profile(s) to use when user select Inventory → Actions → Import
  • you can choose multiple, it'll show up as a dropdown option to choose (will default to the one you set as default)
Job profile ID for updatewhich import profile(s) to use when user select Instance→ Actions → Overlay source bib record
  • you can choose multiple, it'll show up as a dropdown option to choose (will default to the one you set as default)
Target options

extra options to tell the target Z39.50 server what we want. Is there a list of all the options somewhere?

e.g. key:val

  • preferredRecordSyntax: usmarc
  • charset: utf-8
  • syntax: UNIMARC
External identifier typespecify what type of id in the "External ID query map"it'll show list of IDs in the system /settings/inventory/identifierTypes
Enabledallow user to use it?

In Inventory two action menus are present: 

  1. Import. Creates the Instance and the underlying SRS MARC, based on the library's default MARC-to-Instance map.
  2. Overlay. Updates the Instance and creates an underlying SRS MARC (if Instance source is FOLIO), or updates the Instance and the SRS MARC (if Instance source is MARC).
Import - Triggered from main Inventory Action menuOverlay - Triggered from Instance detail view Action menu

When multiple targets are enabled, then the user in Inventory will be shown a dropdown list in the pop up modal, and here the user will then select which option to use for the single record import.

Note that the query sent to the Z39.50 server is specified in the target profile: for OCLC and the OCLC Number, the query template is @attr 1=1211 $identifier. That means that the searched-for identifier is substituted into the template yielding a query such as @attr 1=1211 12345.This means the external identifier — in this case, the OCLC number — is the only thing that gets sent. The app will not parse out any prefix characters; whatever is entered will be sent to the Z39.50 server.

Importing to create a new record

Example from OCLC WorldCat (

InstanceSRS MARC

Importing to overlay an existing record whether it has instance status FOLIO or MARC

InstanceSRS MARC

Limitations with the current implementation (Iris)
  • Tenant can only use one system-defined profile for Creates and one for Overlays

  • The entire MARC record is imported. If there are fields that are not desired (e.g. 938s) or local fields that are desired, they must be edited out or into the MARC record after import

Configuring the Connexion Client to Push Records into FOLIO

These instructions will work for any of the current Reference Environments

See recorded demo here, starting at 1:08:30, and slide deck.

The API key in the web client MUST be under 50 characters (please notice that the UI in the Connexion web client only supports 50 characters in the "Logon ID" field). In this example here on FOLIO wiki we will use the same key for both the desktop and the web client: eyJzIjoiUkZRbEciLCJ0IjoiZGlrdSIsInUiOiJkaWt1In0=

The screen we are going to configure in Connexion is Tools -> Options -> Export -> Create a “Destination”... choose an OCLC Gateway - and enter as Logon Id: eyJzIjoiUkZRbEciLCJ0IjoiZGlrdSIsInUiOiJkaWt1In0= (Note, that this is different from what is shown in the screen dump)

Configure the Host Name to be {folio environment} where {folio environment} is one of:

  • folio-snapshot
  • folio-testing
  • folio-snapshot-load

The Port should be 9000

The Logon Id is an API key that is used to specify a system user to the edge-connexion module. Enter this value: eyJzIjoiUkZRbEciLCJ0IjoiZGlrdSIsInUiOiJkaWt1In0=

You are ready to push records into e.g. FOLIO Snapshot from within Connexion.

NOTE that you can push whatever draft of a record you are looking at within the Connexion Client.

NOTE that some libraries have had the experience where some of their user's Connexion Clients was crashing when exporting a single record to FOLIO. Robert Scheier at Holly Cross uncovered what caused the crashing issue at their institution and has added his tip in the Crashing Issue section of this document below. 

Note that the web interface of Connexion works a little different as far as getting to the settings screen, but here’s the analogous screen to configure in the web interface:

Setting up the web Connexion client

On (the web Connexion client), the settings screen is on the "General" tab, under "Admin Options"/"Preferences":

Then select "Export Options":

There are following important fields:

  • "Export Destination": "Export to a TCP/IP Connection"
  • "TCP/IP Connection Options": "Host Name" and "Port"
  • "TCP/IP Local System User Information": Check "Send Logon ID", put API key in the "Logon ID" field

As Logon Id enter this value: eyJzIjoiUkZRbEciLCJ0IjoiZGlrdSIsInUiOiJkaWt1In0=

When ready with your edits, then click Action and select Export record in MARC.

Here test of record exported to FOLIO Snapshot:


Crashing Issue
  • If the Windows client crashes after attempting to export a record using the following procedure may help.

The resolution that worked for Holy Cross

Delete the existing Connects.ini file so the client can create a new, empty file. This file can become corrupted. All existing export destinations are deleted.  To do this:

  1. Close the client.
  2. Hold down the Windows key (to the left or right of the Alt key) and while holding it down, press the letter R; this brings up the Windows Run box.
  3. Type %AppData% (including both percent (%) signs) and press Enter.
  4. Double-click the OCLC folder.
  5. Double-click the Connex folder.
  6. Scroll down and right-click Connects.ini and choose Delete (if you don't see the .ini extension, look in the 'Type' column for 'Configuration settings').
  7. Start the client and create your export destination under Tools > Options > Export.
  8. Export some records; they should export without a client crash

These OCLC Support pages were helpful in finding the above fix.