Notion Integration
Transform Notion into a powerful oil price tracking system. Build databases, dashboards, and team wikis that automatically update with the latest commodity prices from OilPriceAPI.
Overview
Notion combines documents, databases, and collaboration tools in one workspace. By integrating OilPriceAPI, you can create centralized commodity tracking systems that your entire team can access and use.
What You Can Build:
- Auto-updating oil price databases
- Team commodity dashboards
- Daily market briefing pages
- Price alert wikis
- Project cost tracking with live fuel prices
- Client-facing price reports
Prerequisites
Before you begin:
- An active OilPriceAPI account with API key (Sign up)
- A Notion account (Create free account)
- A connector tool: Zapier, Make, or n8n
Method 1: Via Zapier
The simplest way to connect OilPriceAPI to Notion.
Step 1: Set Up Your Notion Database
- Create a new page in Notion
- Add a Database - Full page
- Configure these properties:
| Property Name | Type | Description |
|---|---|---|
| Name | Title | Commodity name or code |
| Price | Number (Dollar format) | Current price |
| Change | Number (Percent format) | Daily change |
| Updated | Date | Last update time |
| Trend | Select | Up, Down, Stable |
| Category | Select | Crude, Gas, Refined, etc. |
Step 2: Connect Notion to Zapier
- In Zapier, search for Notion
- Choose Create Database Item as the action
- Click Sign in to Notion
- Select the workspace and grant access to your database
Step 3: Create Your Zap
Trigger: Schedule by Zapier
- Frequency: Every day at 8:00 AM
Action 1: Webhooks by Zapier (GET)
- URL:
https://api.oilpriceapi.com/v1/prices/latest?by_code=BRENT_CRUDE_USD - Headers:
Authorization: Token YOUR_API_KEY
Action 2: Notion (Create Database Item)
- Database: Oil Price Tracker
- Name:
Brent Crude USD - Price:
{{data.items[0].price}} - Change:
{{data.items[0].change_percent}} - Updated:
{{data.items[0].updated_at}} - Trend:
{{data.items[0].change_percent > 0 ? "Up" : "Down"}}
Step 4: Test and Activate
- Test the Zap to create a sample record
- Verify the data appears in your Notion database
- Turn on the Zap
Method 2: Via Make
Build more sophisticated Notion integrations with Make's visual workflows.
Scenario Setup
[Scheduler] → [HTTP: Get Prices] → [JSON Parse] → [Iterator] → [Notion: Create/Update Page]
Step 1: Create Notion Connection
- In Make, add a Notion module
- Click Create a connection
- Authorize Make to access your Notion workspace
- Select the database to connect
Step 2: Configure the Workflow
HTTP Module:
- URL:
https://api.oilpriceapi.com/v1/prices/latest - Headers: Authorization with API key
Iterator:
- Array:
{{1.data.items}}
Notion Module:
- Select Create a Database Item or Update a Database Item
- Map fields from the iterator to database properties
Step 3: Add Update Logic
To update existing records instead of creating duplicates:
- Add Notion: Search Objects before the create module
- Filter by commodity code
- Use a Router to:
- Update if record exists
- Create if record doesn't exist
Method 3: Via n8n (Self-Hosted)
For users who prefer self-hosted automation.
n8n Workflow
[Cron] → [HTTP Request] → [Split In Batches] → [Notion]
Configuration
See the n8n Integration Guide for detailed setup instructions with Notion as a destination.
Building Your Notion Dashboard
Database Views
Create multiple views of your oil price data:
Table View (Default)
- Show all properties
- Sort by Update date (descending)
- Filter by Category if needed
Gallery View
- Create visual cards for each commodity
- Show Price and Change prominently
- Use conditional formatting for trend colors
Board View
- Group by Trend (Up, Down, Stable)
- See at a glance which commodities are moving
Calendar View
- Track price records over time
- See historical entry dates
Dashboard Page Layout
Create a master dashboard page with embedded database views:
# Oil Price Dashboard
## Current Prices
[Embedded Gallery View - filtered to today's prices]
## Price Trends
[Embedded Board View - grouped by trend]
## Historical Log
[Embedded Table View - last 30 days]
## Quick Links
- [Full Database](link)
- [Price Alerts](link)
- [Market Analysis](link)
Use Case Templates
Template 1: Daily Market Briefing
Create an automated daily page with current prices.
Structure:
# Market Briefing - {{date}}
## Key Prices
| Commodity | Price | Change |
|-----------|-------|--------|
| Brent Crude | ${{brent_price}} | {{brent_change}}% |
| WTI | ${{wti_price}} | {{wti_change}}% |
| Natural Gas | ${{gas_price}} | {{gas_change}}% |
## Analysis
[Space for manual notes]
## Action Items
- [ ] Review if prices crossed thresholds
- [ ] Update client reports
Automation: Use Zapier/Make to create this page daily with embedded price data.
Template 2: Project Cost Tracker
Track fuel costs for projects with live prices.
Database Properties:
- Project Name (Title)
- Estimated Fuel (Gallons)
- Current Diesel Price (Rollup from prices database)
- Estimated Cost (Formula: Fuel x Price)
- Budget (Number)
- Variance (Formula: Budget - Estimated Cost)
Template 3: Supplier Comparison
Compare commodity prices across suppliers.
Database Properties:
- Supplier Name
- Commodity
- Quoted Price
- Market Price (Synced from OilPriceAPI)
- Difference (Formula)
- Last Updated
Template 4: Price Alert Log
Track when prices hit important thresholds.
Database Properties:
- Alert Name
- Commodity
- Threshold Type (Above/Below)
- Threshold Price
- Triggered Date
- Actual Price
- Notes
Advanced Notion Features
Formulas for Price Analysis
// Calculate spread between two commodities
prop("Brent Price") - prop("WTI Price")
// Percentage above/below threshold
round((prop("Price") - prop("Threshold")) / prop("Threshold") * 100)
// Trend indicator emoji
if(prop("Change") > 0, "^", if(prop("Change") < 0, "v", "-"))
// Days since last update
dateBetween(now(), prop("Updated"), "days")
Rollups and Relations
Link prices to projects:
- Create a relation between Projects and Prices databases
- Add a Rollup to show the latest price
- Use in cost calculations
Aggregate by category:
- Create a Categories database
- Relate prices to categories
- Rollup average price per category
Templates for Repeated Entries
Create database templates for common scenarios:
- Daily Price Entry: Pre-filled with commodity list
- Weekly Report: Standard format with analysis sections
- Alert Record: Threshold tracking template
Notion API Direct Integration
For developers who want direct Notion integration:
Using Notion API with OilPriceAPI
// Fetch oil prices and update Notion database
const oilResponse = await fetch(
'https://api.oilpriceapi.com/v1/prices/latest',
{ headers: { 'Authorization': 'Token YOUR_OIL_API_KEY' } }
);
const oilData = await oilResponse.json();
// Update Notion
const notionResponse = await fetch(
`https://api.notion.com/v1/pages`,
{
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_NOTION_TOKEN',
'Content-Type': 'application/json',
'Notion-Version': '2022-06-28'
},
body: JSON.stringify({
parent: { database_id: 'YOUR_DATABASE_ID' },
properties: {
'Name': { title: [{ text: { content: oilData.data.items[0].code } }] },
'Price': { number: oilData.data.items[0].price },
'Updated': { date: { start: oilData.data.items[0].updated_at } }
}
})
}
);
Team Collaboration
Sharing Your Dashboard
- Click Share on your dashboard page
- Options:
- Invite team members directly
- Share to workspace
- Create public link (read-only)
Comments and Discussions
- Add comments to specific price records
- Use @mentions to notify team members
- Create discussion threads on analysis pages
Workspace Organization
Structure your oil price tracking:
Workspace
Energy & Commodities
Oil Price Dashboard
Price Database
Market Analysis
Alerts & Thresholds
Troubleshooting
Data Not Appearing in Notion
- Verify Notion connection in Zapier/Make
- Check database permissions (integration must have access)
- Ensure property types match data types
Duplicate Records
- Add update logic using Search before Create
- Use unique identifiers (date + commodity code)
- Set up deduplication automation
Slow Updates
- Notion API has rate limits (3 requests/second)
- Batch updates where possible
- Use Make's built-in rate limiting
FAQ
Can I use Notion's free plan for oil price tracking?
Yes, Notion's free plan includes unlimited pages and databases for individual use. For team features, you'll need a paid plan starting at $8/user/month.
How often can I update prices in Notion?
This depends on your automation tool's plan and OilPriceAPI limits. Daily updates work well for most use cases. For more frequent updates, consider caching or webhook-based approaches.
Can I embed live charts in Notion?
Notion doesn't have native charting. You can embed charts from external tools (Google Sheets, Datawrapper) or use Notion chart integrations from the marketplace.
How do I create alerts based on Notion data?
Use Zapier or Make to monitor your Notion database. Set up automations that trigger when prices in your database cross certain thresholds.
Can multiple team members edit the price database?
Yes, with a Notion team plan. You can set granular permissions so some users can edit while others have view-only access.