How can we define custom CompanyContactRoles (if at all)?
The Admin UI and GraphQL schema expose two roles—“Location admin” and “Ordering only”. The CompanyContactRole object has a name field (String!, examples: “admin”, “buyer”), which implies more roles are possible.
What I observe
- Company page: shows customers, but no job titles or role labels except “Main contact”.
- Company Location page: customers listed with their location‑level permissions (admin / ordering).
What I’ve tried
queried CompanyMutationsFiltered
query CompanyMutationsFiltered {
__schema {
mutationType {
fields(includeDeprecated: true) {
name
description
args {
name
type {
name
kind
ofType {
name
kind
}
}
}
}
}
}
}
→ No companyContactRoleCreate / companyRoleCreate.
manually guessed mutations
I tried: companyRoleCreate, companyContactRoleCreate, roleCreate, contactRoleCreate with various input structures: simple (name only), complex (name, note, companyId)
→ all attempts failed with “undefined field” and “input type not defined” errors
Questions
- Can merchants or apps create additional roles (e.g., “Billing”, “Buyer”)?
- If not today, is that on the roadmap or are roles intentionally fixed?
- Are stores surfacing Customer roles/titles in the admin in any other way?