How are we using Library Open Workflows?

Answer

The Los Rios Libraries adopted Library Open Workflows (LibOW) in August 2025. We are using it to automate tasks in a variety of areas. The list below is intended to help people at Los Rios understand what the tool is capable of; if you have ideas about other tasks we currently do, or should do, that might be aided by the tool, please contact your college's systems librarian.

All but a few of these workflows take action on behalf of each library.

Some links have been added to the end of this page to resources that will help illuminate how the tool works. There are also some links to lists of workflows from other institutions.

The categories below are of course very loose and often a workflow touches multiple functional areas.

About triggers

Triggers are how workflows are initiated.

Alma
This means the workflow is triggered by an Alma webhook. Webhooks take place automatically when certain things happen; for instance, when a loan transaction takes place, Alma can send out a data packet related to the transaction.
Workflow
This means that the workflow is triggered by a different workflow, i.e. it is a sub-workflow. We are currently establishing workflows specifically for Alma triggers and routing these workflows to sub-workflows. The rationale for doing this is that if you want to view execution history, it is very difficult to do so if the workflow contains an Alma trigger, since the workflow will be executed very frequently.
Form
Forms are accessed via the LibOW cloud app. In the Form Trigger node, authentication is set to Alma.
Schedule
This means the Schedule node in LibOW, which can be set very flexibly.
Webhook
This does not mean Alma webhook, rather it means that a script somewhere else calls LibOW to execute a workflow. This typically means we have some JavaScript or PHP on a web page that makes an HTTP request to LibOW.

Some workflows include more than one trigger; for instance, some have a schedule trigger to refresh data and a webhook trigger to serve data.

Workflows

Workflows in "published" status. List may not be complete.
Category Name Trigger Description
Alma triggers Loan trigger Alma Receives loan webhooks to distribute to various sub-workflows if certain conditions are met. Doing it this way because otherwise browsing execution history is very difficult.
Alma triggers Request trigger Alma Receives request webhooks to distribute to various sub-workflows if certain conditions are met.
Users, fines, blocks Waive fees on item return Workflow Receives Loan trigger if it is a return with FOUND_ITEM; queries Alma Analytics to connect loan ID to fine/fee ID; waives associated fee with Waive reason Lost Item Was Found. Our bursar integration required us to stop using the "refund on return of lost item" functionality; instead fees must be waived so that they match the fee at the bursar.
Users, fines, blocks Waive fees based on Analytics report Schedule To address scenarios where the real-time approach fails. Retrieves an Analytics report showing replacement fees connected to not-lost barcodes; queries Alma APIs to verify the current situation; waives fees with waive reason Lost item was found.
Users, fines, blocks Add user block on lost loan Workflow + schedule When an item goes to lost, Alma (puzzlingly) removes any circulation block it had previously added. This workflow adds users to a local data table when an item turns to lost as part of the overdue and lost loan profiles. Then on a schedule it reads the table, checks the users' accounts via API and adds a block if needed (i.e. they have overdues and do not already have a block).
Users, fines, blocks Clear blocks after item return Schedule Checks a local data table updated by the Waive fees on item return workflow and, if the user has no outstanding overdues/fees, clears their circulation block.
Users, fines, blocks Correct user blocks based on Analytics reports Schedule For cases where real-time processes fail, checks two Analytics reports designed to detect cases where a block has not properly been applied or removed, checks the situation in real time, adds or removes blocks as appropriate, and emails a report.
Users, fines, blocks Reconcile transferred Alma fees with PeopleSoft Schedule 2x/week, ingests an Excel-formatted report sent from the bursar and then uses an Analytics report combined with API queries to find discrepancies between fees currently residing at the bursar and fees Alma thinks are currently at the bursar (in transferred status). Emails a report showing fees that only exist in Alma, or only at the bursar, or that have different balances in the two systems.
Users, fines, blocks Send notification to users who paid fees in previous week Schedule Retrieves Analytics report showing fees paid in previous week and sends an email to each user showing details of items that were paid, also encouraging them to return the items for a refund. Also attaches copy of the notification to user record.
Users, fines, blocks Import payments and export waivers Schedule The bursar export/import integration profile jobs can only be scheduled to run once per day. This workflow runs them once per hour during our open hours, so that for instance when we waive a fee, the bursar reflects the credit promptly.
Users, fines, blocks Remove unneeded user notes Schedule Once/week, retrieves Analytics report showing users without current loans/fees and notes not matching particular patterns. Removes the notes once/week.
Users, fines, blocks Delete "profile name" notes Schedule Once/week, queries Analytics report filtered to current users and removes notes of type "Profile name: Patron, Profile ID: 13110570000231"
Users, fines, blocks Set expiration date for non-current employees Form Receive form upload derived from SIS sync file, which provides all current employees; query Analytics report filtered to employees with no expiration date and very old status date; compare to find user IDs not present in uploaded file; set expiration date for those users via Alma API.
Electronic resources Process EBSCO DDA dropped titles Form Copy-paste EBSCO accession IDs from dropped-title email into form in LibOW cloud app. Workflow locates matching portfolio via Analytics report, deactivates and adds "dropped title" to portfolio internal description, deletes portfolio. More info
Electronic resources Set coverage of Overdrive Magazines portfolios Schedule On daily basis, checks set containing recently created Overdrive Magazine portfolios with periodical resource type; adds local coverage going back 38 months. On monthly basis, does this for entire collection based on Analytics report.
Electronic resources Log needhost errors to Alma Webhook Receive webhook from EZproxy needhost.htm file; save certain data to Alma parameters.
Electronic resources Send needhost errors to LibAnswers queue Schedule Once/week, retrieve data from Alma parameters, format HTML table, and create LibAnswers ticket. Clear Alma parameters.
Electronic resources Set portfolio Activation Date based on Available From Date Schedule 2x/week, retrieve Analytics report showing active portfolios with null activation dates in particular e-collections. This happens when a portfolio is scheduled to become active at a later date—Alma does not update the activation date. The workflow checks the Available From date, updates the activation date, and sends an email report.
Fulfillment Update stuck-in-transit spreadsheet Schedule Once a day in the morning, retrieves an Analytics report showing items that have been in transit beyond a certain threshold and updates a spreadsheet with the current report data while preserving columns meant for staff to leave notes. Hourly throughout the workday, queries Alma to get current status and updates a cell if the item is no longer in transit. More info
Fulfillment SCC morning overdues report Schedule Checks a logical set of overdue items in particular short-term-reserve locations. Generates an email to designated staff showing item information and due dates so they can check shelves.
Fulfillment Report transit from SCC to SCC Lockers Schedule Checks Analytics report and sends email to designated if any items are in transit from SCC Circ Desk to SCC Lockers library (this only happens as a result of error).
Fulfillment Change loan due dates based on Excel file or user ID Form Changes a set of due dates based on user ID + loan ID (file) or user IDs (text input). If only user ID is provided, all the user's loans will be changed. Unlike UI, can due date may be later than user expiration date.
Fulfillment Add users to Luxer One locker database Workflow, form Sub-workflow: in cases where request is made designating locker pickup, add user to Luxer One database for relevant "building" (if user already exists, update). Form: enter a user ID to add / update the user in Luxer.
Fulfillment Retrieve Luxer token Workflow Luxer credential type is not supported by n8n (it's similar to OAuth but not quite that), so Alma parameters are used to store/retrieve the token for Luxer's API
Fulfillment Email and attach laptop agreement to borrower (SCC-only) Workflow, schedule Workflow: receives Alma data from loan workflow if it matches particular MMS IDs and adds user ID to local data table. Schedule: once per day, retrieves user IDs from table, retrieves PDF file from Google Drive, emails users with PDF attachment, attaches file to their user account in Alma, clears table.
Fulfillment Process ILL submissions Webhook Receives webhook from our custom ILL form, creates HTML table. Depending on college, sends email to designated recipients or creates a ticket in LibAnswers.
Fulfillment Export current SCC hotspot availability Schedule, workflow Once/day Mon-Fri, queries Alma and exports current number of SCC hotspots (which are suppressed from discovery) to Google Sheet. Workflow receives Alma trigger data if MMS ID matches hotspot bib and updates the Google Sheet.
Fulfillment Send notice to users with ASHE/RAZA lost loans Schedule Once/month, query an Analytics report showing lost items from certain locations that do not generate lost-item replacement fees and send a custom notice to users asking them to return items. Since we do not send out regular activity reports and these lost loans did not generate fees, without this workflow the users would not receive any further notifications from us. 
Fulfillment Correct item policies Schedule Once/day, query a series of Analytics reports that identify mismatches in our item policy / physical location mapping. Use Alma APIs to adjust the item policy and send an email report of items edited.
Fulfillment Items currently at IT Schedule Once/day, retrieve Analytics report showing SCC items currently in IT Maintenance work order and update spreadsheet. Later in day, check status of each item in Alma and update again. Preserve columns where Library and IT staff enter notes.
Reserves Create empty reading lists for courses without one Schedule Checks set showing active courses without a reading list and creates one, so that if citations need to be added, there's one less step (also used manually for bulk creation of reading lists after rollover for coming term)
Discovery Send problem report to LibAnswers Webhook Receives submissions from our custom Primo problem reporter and sends them to a designated queue using the LibAnswers API. More info
Discovery Fix sticky reserve records Schedule During intersession periods where no courses are active, searches Primo "textbook" profiles to find titles still showing as reserves, adds them to an itemized set, and runs the Recalculate Local Resource Types job
Discovery Run recalculate job on all citations Schedule Early in term, retrieve Analytics reports of all titles attached to reading lists, add them to a set, and run the Recalculate Local Resource Types job
Discovery Send professor names to web server Schedule For the autocomplete in the instructor field of the textbook search form, retrieve an Analytics report of all instructor last names on reading lists that have citations, generate files with JSON array, and send to our web server. These are done for each college and college / department.
Discovery LibAnswers FAQ items for NDE Webhook Respond to GET call in NDE custom component that shows selection of college-level FAQs with short list of FAQ data cached to a local data table. Periodically refresh cache by retrieving current API response when cache is old, condensing it, and updating the data table.
Discovery Refresh and serve collections data for NDE widgets Schedule, webhook Scheduled: update cache containing information about various Alma collections (collection discovery) for each college. Webhook: serve JSON file of information about various collections for use in NDE custom component that displays a random selection of 4 collections on the home page
Discovery Send new titles lists to Alma Collections Schedule Check Google Sheet containing parameters for a number (50+) of Alma collection focusing on new acquisitions. Workflow retrieves parameters from sheet, queries Analytics reports, processes results, and sends to Process collections from Analytics data sub-workflow. More info
Discovery Process collections from Analytics data (sub-workflow) Workflow Receives collection ID and array of MMS IDs and maintains given collection by removing titles no longer needed and adding new ones.
Discovery Populate Alma collection with most-used journals Schedule Once/month, retrieve Analytics report showing most-used journals (TR, unique item requests, title has ISSN); query Primo Search API, journal search scope, to retrieve MMS IDs; dedup; send to Process collections from Analytics data sub-workflow. Output (SCC)
Discovery Find new titles collections with less than 10 members Schedule Once/week, check itemized set and query Alma collections managed by Send new title lists to Alma collections workflow; if any have fewer than 10 titles, notify librarian in charge of that college's collections.
Discovery Send Vea data to Google Sheet Schedule, webhook Query our people-counter vendor's API to retrieve various stats and update a Google Sheet, which then supplies graphs called into a web page at LibAnswers. Also store the data output in the workflow to supply Excel files on request for accessibility. Output
Discovery Refresh and serve new titles lists for Primo VE display Schedule, webhook Schedule: once/day, query Analytics union report of newly added physical and electronic titles; update local data table. Webhook: serve JSON file to AngularJS component used in ARC and SCC's Primo VE (not NDE), resulting in widget on home page.
Discovery Provide SCC "on order" via LibGuides Schedule, webhook Schedule: once/day, query Analytics report showing SCC active monograph orders and save to local data table. Webhook: serve JSON to web page. Result
Discovery Refresh and serve vendor privacy / accessibility data Webhook Listen for webhook coming from web page (in Libguides) and serve JSON from local data table. If contents are stale, query Alma vendor records to refresh data. More info
Discovery Retrieve, cache, and serve LRSA faq items for web display Schedule, webhook Schedule: query LibAnswers API to get any entries in our Los Rios Libraries System Alerts faq group and update local data table. Webhook: serve this as JSON to scripts in NDE header and LibGuides A-to-Z page.
System administration Add AI-generated quote to Analytics letter Schedule Once/day, query an LLM using free tier from CloudFlare or GitHub to produce an obviously anachronistic quote from a historical figure that mentions data, analytics, reporting, etc. Replace a label in the Analytics letter with this quote so that it is included in the next morning's Analytics letters.
System administration Set new end-of-term event Schedule Here we need to update the desired end-of-term date and the date the workflow is to run once per term. After end-of-business on last day of term, update the end-of-term event in our institution-level Opening Hours table and send an email to systems librarians indicating that this was done.
Metadata Delete bibs without inventory Schedule Once/month, retrieve a set of All Titles - Has Inventory: No; Has Orders: No. Retrieve bibs from Alma and parse the Availability area of the bib record to confirm that there are indeed no holdings/portfolios/representations, since the set often contains titles with inventory. Delete bibs confirmed not to have inventory. Email a report showing which MMS IDs were deleted.
Metadata Unset WorldCat holdings - withdrawn titles Schedule This is done because Alma's standard OCLC publishing does not handle removing holdings well when there are multiple OCLC symbols in an institution. Once/month, retrieve a date timestamp saved in an Alma parameter, and retrieve an Analytics report, filtering with that date timestamp. The report shows deleted holdings, filtered to exclude bibs with other active holdings. Use OCLC API to remove holdings from WorldCat. Email a report to systems librarians. The workflow does this for each college/OCLC symbol.
Acquisitions Create COUNTER-type reports from Overdrive "insights" file Form Receives a file upload of an Overdrive Insights report and produces a JSON file imitating a TR or TR_B1 report for any of the four colleges. More info
Acquisitions Create IR_M1 from Swank csv file Form Receives a file upload of a Swank video Monthly Usage Date Report (1 or more months) and produces a JSON file imitating an IR_M1 report.
Acquisitions Create IR_M1 from Kanopy spreadsheet Form Receives a file upload of a Kanopy Analytics - Video report for 1 month and produces a JSON file imitating an IR_M1 report.

 

  • Last Updated Aug 05, 2026
  • Views 29
  • Answered By Jeff Karlsen

FAQ Actions

Was this helpful? 0 0