First please note el price is 25 USd not Neg.
We're building a LinkedIn Stealth Sourcing system for a B2B tech services company (Núcleo Tecnológico) using NocoDB as the database backend. The system manages lead prospecting workflows with 10 interconnected tables, contextual scoring, and human-in-the-loop approvals via Telegram.
Tech Stack:
NocoDB (self-hosted on infra-svc01.mailerblend.com)
Database: PostgreSQL (via NocoDB)
Integration: n8n workflows
API: NocoDB REST API (v1 & v2)
🎯 What We've Accomplished
✅ Schema Design (Complete)
10 tables with 100 columns total
14 relationships using LinkToAnotherRecord with type: "bt" (belongs-to)
All tables created successfully using atomic creation pattern
Relationships verified at schema level (14/14 confirmed via metadata API)
✅ Tables Created
Pack (3 commercial packages: Guardian/Motor/Fortaleza)
Segment (A/B testing segments by city/reviews)
Company (target companies with Google Places integration)
Lead (LinkedIn prospects with scoring)
Attempt (interaction tracking)
Research_Snapshot (web/places signals)
Message_Template (personalized message templates)
Approval (human-in-the-loop quality control)
Conversation (LinkedIn conversation state)
Outcome (sales outcomes tracking)
✅ What Works
Table creation via /api/v1/db/meta/projects/PROJECT_ID/tables
Data insertion via /api/v2/tables/table_id/records (basic fields only)
Schema relationships verified via metadata API
Field types: SingleSelect (with colOptions), Number, Decimal, Text, Dates, Checkboxes
❌ The Problem
Critical Issue: Record Id Not Accessible via API
Our NocoDB instance does not return the Id field in any API response:
POST Response (insert):
JSON
"pack_key": "GUARDIAN",
"name": "El Guardián",
"price_min": 500,
// ... other fields, but NO "Id"
GET Response (query):
JSON
"list": [
"PackKey": "GUARDIAN",
"Name": "El Guardián",
// ... other fields, but NO "Id"
]
We've tried:
/api/v1/db/data/v1/PROJECT_ID/Pack → No Id
/api/v2/tables/table_id/records → No Id
Query params: ?fields=Id,PackKey → Ignores Id
Query params: ?includeSystemColumns=true&include=all → 404 error
Consequence
We cannot populate relationships because:
Relationships require the parent record's Id
We can insert records but relationships stay null
Example failing payload:
JSON
"segment_key": "BCN_A_GUARDIAN",
"pack": "GUARDIAN", // ← Should be an Id, not a string
"name": "Barcelona Segment A"
Result: "pack": null
🎯 What We Need
Primary Objective
Get relationships working end-to-end so we can insert records with proper FK links.
Specific Deliverables
Identify the correct method to retrieve Record IDs from our NocoDB instance - Via API endpoint we haven't tried - Via specific query parameters - Via alternate field name (not Id but something equivalent)
Working insert pattern for relationships - Either: Direct insert with relationships in one call - Or: Two-step process (insert → link via /api/v2/tables/tableId/links/...)
Documentation/code examples showing: python # Insert Pack pack = create_pack("pack_key": "GUARDIAN", "name": "El Guardián") pack_id = ??? # How to get this? # Insert Segment with relationship segment = create_segment( "segment_key": "BCN_A_GUARDIAN", "pack": pack_id, # ← This needs to work "name": "Barcelona A" )
Verification that relationships work when reading data back
📚 What We've Already Tried
API Exploration
✅ Successfully created all 10 tables with atomic relationships
✅ Verified relationships exist at metadata level
✅ Data inserts work for basic fields
❌ Relationships remain null on insert
❌ No Id field accessible in any GET/POST response
❌ Link endpoint patterns not working
Code Artifacts
We have working Python scripts for:
Table creation with atomic relationships (create_tables_v3_atomic.py)
Schema verification (verify_and_test.py)
Data insertion helpers
Available for review:
Full schema definition (10 tables, 100 fields, 14 relations)
Working connection code
.env configuration
🔍 Technical Details
NocoDB Instance
Host: infra-svc01.mailerblend.com
Base ID: pbydkvvvbvv4pdf (prefixed with p)
Auth: API Token (xc-token header)
Version: Unknown (likely v2.x, self-hosted)
Relationship Pattern Used
Python
"column_name": "pack",
"title": "pack",
"uidt": "LinkToAnotherRecord",
"colOptions": (
"type": "bt", # belongs-to
"parentId": parent_table_id
)
Current Table IDs
Python
"Pack": "msj7irqrtbgijlg",
"Company": "mo6zgdp4taiq8h3",
"Segment": "mkadykbj2vudub2",
"Lead": "mxzt07n7nn6lnxm",
# ... (7 more)
💡 Possible Solutions We're Open To
API endpoint/parameter we missed that returns Id
Different NocoDB version recommendation (if ours is broken)
SDK usage (if REST API doesn't support this)
Workaround pattern used in production by other NocoDB users
Schema redesign (last resort - remove FK relations, use string keys)
👤 Ideal Candidate
Must Have
✅ Proven experience with NocoDB API (REST v1 and/or v2)
✅ Experience creating LinkToAnotherRecord relationships via API
✅ Successfully inserted records with FK relationships via API
✅ Understanding of NocoDB's internal Id vs display fields
Nice to Have
Experience with self-hosted NocoDB instances
PostgreSQL knowledge
Python scripting experience
n8n workflow integration experience
Experience debugging API responses
Red Flags (Please Don't Apply If)
You've only used NocoDB via the UI, never via API
You haven't worked with LinkToAnotherRecord/Links fields
You can't provide examples of relationship inserts working
📦 Deliverables
Minimum Viable Solution
Working code example showing how to: - Insert a Pack record - Get its Id (or equivalent identifier) - Insert a Segment record linked to that Pack - Verify the relationship exists
Documentation explaining: - Why our current approach isn't working - What the correct approach is - Any version/configuration issues
Bonus Points
Update our existing Python scripts to use the working pattern
Verify all 14 relationships work end-to-end
Documentation for n8n integration patterns
📅 Timeline & Budget
Start: ASAP
Duration: 1-3 days (depending on solution complexity)
Budget: $25 USD ( NOT negotiable)
What We'll Provide
Full access to our NocoDB instance (read/write)
All Python scripts and schema definitions
Detailed technical documentation
Responsive communication (Slack/Discord/Email)
Screen sharing sessions if needed
⚠️ Important Notes
We need a working solution, not theoretical advice
Code examples required - we're past the documentation phase
Remote work only - no location requirements
English or Spanish communication is fine
... Show more