Jae Wilson @DataCrew
Domo

DomoLibrary + Python || create Custom Attributes and Users in Domo via API

January 5, 2024

Hook

Your user data lives in a Domo dataset — franchise names, store numbers, training completions — but Domo's user profiles are stuck with stale or missing attributes. Here's how to close that gap programmatically using the Domo API and DomoLibrary.

Why It Matters

Without automation, keeping custom managed attributes in sync means manual updates or hoping your IDP handles it — neither scales when you're managing hundreds of franchise or restaurant-level users. Custom attributes are the foundation for Dynamic Groups and PDP policies, so if they're wrong, your data governance is wrong. The Domo API exposes endpoints to both create attributes and update user records, but the auth, pagination, and request patterns are non-trivial to wire up from scratch. DomoLibrary abstracts that surface so you can focus on the logic, not the plumbing.

What You'll Learn

  • Understand how Domo custom managed attributes work — who can set them, where they come from (IDP vs. API vs. manual), and what constraints apply
  • Authenticate against the Domo API using DomoLibrary's credential handling
  • Read user records from a Domo dataset and map them to Domo user objects
  • Create and update custom attributes on existing users via API
  • Think through the governance model — who should be allowed to update which attributes, and how to encode that as policy