Patterns

Use Case: Contract Management

Track contracts linked to vendors and owners, with status, value, expiry, and automated renewal management.

Contracts are one of the most common things organizations track in spreadsheets long after they should have moved on. They have their own lifecycle, they involve multiple parties, they expire, they renew, and multiple people need visibility into them — none of which a spreadsheet handles well once you have more than a few dozen.

A Contract object type in Atomicwork gives you structured, searchable records linked to the real people and vendors in your system, with automation to handle the parts that shouldn't require human memory.


The Data Model

Contracts in production use two linked object types:

  • Vendor — the external company you have a contract with. Has its own name and internal manager.
  • Contract — the agreement itself. References its owner (an internal employee) and its vendor (the Vendor record).

This is a real example: the Contract type has three fields in production — Name (short text), Owner (relationship to person), and Vendor (relationship to the Vendor object type). Every contract record shows its vendor and owner pulled from live records.

You'll build on top of this base to add the operational fields your team needs.


Setting Up the Vendor Object Type

If you don't have a Vendor type yet, start here.

Go to Settings → Custom Objects → New Object Type.

  • Name: Vendor (plural: Vendors)
  • Display ID prefix: VEN
  • Scope: Global

Suggested fields

FieldTypeNotes
Vendor NameShort textRequired — primary identifier
ManagerRelationship to personInternal owner of the vendor relationship
CategoryDropdowne.g. Software, Hardware, Consulting, Legal, Facilities
StatusDropdownActive, Under Review, Suspended, Offboarded
WebsiteURL
Primary ContactShort textName of the vendor's main contact
Contact EmailEmail
NotesLong textRelationship history, caveats

Setting Up the Contract Object Type

Go to Settings → Custom Objects → New Object Type.

  • Name: Contract (plural: Contracts)
  • Display ID prefix: CON
  • Scope: Global

Suggested fields

Organize into two sections: Contract Details and Parties.

Contract Details section

FieldTypeNotes
Contract NameShort textRequired — e.g. "Okta Enterprise License 2026"
Contract TypeDropdownSaaS, Hardware Lease, Consulting, Maintenance, NDA, MSA
StatusDropdownDraft, Active, Under Review, Renewal Pending, Expired, Terminated
Contract ValueDecimalAnnual or total value
Start DateDate
End DateDateExpiry or renewal date
Auto-RenewalCheckboxWhether this contract renews automatically
Notice Period (days)NumberDays required to cancel before renewal
Document LinkURLLink to the signed contract in your document system

Parties section

FieldTypeNotes
OwnerRelationship to personRequired — internal employee responsible for this contract
VendorRelationship to VendorRequired — links to the Vendor record

The Vendor field is a custom-to-custom relationship — it points to a record in your Vendor object type, not just a text string. When you open a contract, you see the vendor's name, status, and manager pulled live from the Vendor record. When a vendor changes its contact or status, every contract referencing it reflects that automatically.


Creating Records

Publish both object types, then start creating records.

Create vendors first — you'll need them to link from contracts. Go to Directory → Vendors → New Vendor, fill in the details, and save.

Then create contracts from Directory → Contracts → New Contract. The Owner field searches your employee directory. The Vendor field searches your Vendor records. Both are live lookups — no typing raw names that go stale.


Views That Actually Get Used

All Contracts — unfiltered table view. Sortable by End Date, Contract Value, or Status. Your procurement team's default view.

Expiring This Quarter — filter: End Date is within 90 days AND Status is Active. Pin this for the team leads who own renewals.

My Contracts — filter: Owner is current user. Each person sees their own contracts without having to scan the full list.

By Vendor — group by Vendor. See all contracts with a given vendor in one place. Useful during vendor reviews and offboarding.

High Value Active — filter: Status is Active AND Contract Value is greater than [your threshold]. Keeps the contracts that matter most visible.


Automations

Renewal alert — trigger: End Date is 30 days from today AND Status is Active. Action: notify Owner — "Contract [Contract Name] expires in 30 days. Review and initiate renewal."

Auto-renewal cancellation window — trigger: End Date is [Notice Period] days from today AND Auto-Renewal is checked. Action: notify Owner — "Your contract with [Vendor] auto-renews in [Notice Period] days. Cancel by [deadline] to opt out."

Status change notification — trigger: Status changes to Renewal Pending. Action: notify Owner and send a service request to procurement to kick off the renewal workflow.

Expired contract cleanup — trigger: scheduled, run monthly. Condition: Status is Active AND End Date is in the past. Action: update Status to Expired. Keeps your active list clean without requiring anyone to manually audit it.

To build these: open the Contract object type → AutomationsNew automation.


Asking Atom About Contracts

Once your contract records are populated, Atom can answer questions about them if the Custom Objects MCP tool is configured for your workspace. Your team can ask things like:

  • "Which contracts are expiring this quarter?"
  • "Who owns the Okta contract?"
  • "Show me all active contracts with Acme Corp"
  • "What vendors do we have in the Consulting category?"

The answers come from live record data, not from someone maintaining a summary document.