Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.wcr.is/llms.txt

Use this file to discover all available pages before exploring further.

NocoDB is the structured-data layer that sits alongside WeCareRemote. While the AI assistant handles unstructured conversation, the blog handles long-form content, and the recordings backend handles video — NocoDB handles everything that fits naturally into rows and columns: cases, contacts, resources, referrals, eligibility checklists, content calendars. NGO staff interact with NocoDB through a spreadsheet-style web UI. Other parts of the stack — the AI assistant, n8n workflows, the blog — read and write the same tables through NocoDB’s REST API.

What NocoDB is used for

Typical tables in a WeCareRemote NocoDB deployment:
TablePurpose
casesOne row per refugee case: assigned NGO, status, last contact, summary
contactsRefugees and NGO staff, linked to WeCareRemote user IDs
servicesCatalogue of services and resources the AI assistant can reference
recordingsIndex of Jitsi meeting recordings with case linkage
referralsHand-offs between NGOs, with timestamps and notes
content_calendarBlog posts planned and published, owners, target audience
The exact schema is up to each deployment — NocoDB makes it easy to evolve tables as needs change.

How NocoDB connects to WeCareRemote

NocoDB is not authenticated through WeCareRemote’s JWT. Instead, NocoDB issues its own API tokens, which other services (n8n, the AI assistant, custom scripts) attach to their requests.
xc-token: <your-nocodb-api-token>
Two access patterns are common:
  • Direct from n8n — n8n’s built-in NocoDB node handles credentials and CRUD. Use this for most automation.
  • Direct from the AI assistant — when your organization wires up a NocoDB-backed knowledge source, the assistant can query NocoDB rows the same way it queries any other knowledge base.

Setting up NocoDB

Before you begin

You need:
  • A running NocoDB instance reachable from n8n and from any service that needs to query it
  • A NocoDB workspace and base created for WeCareRemote
  • An NGO admin who can issue API tokens

Issuing an API token

1

Open your NocoDB account

Click your avatar in the top-right of NocoDB and choose Account Settings.
2

Go to Tokens

Open the Tokens tab and click Create token.
3

Name and copy the token

Give the token a descriptive name (for example, wcr-n8n-prod) and copy the generated value — NocoDB shows it only once.
4

Store the token securely

Save the token in your n8n credentials store, an environment variable, or a secrets manager. Do not commit it to version control.

Designing a case table

A minimal cases table works well as a starting point:
ColumnTypeNotes
idAuto NumberPrimary key
thread_idSingle Line TextMatches the AI assistant thread_id
refugee_emailEmailLinks to the WeCareRemote user
assigned_ngoSingle SelectNGO responsible for the case
statusSingle Selectnew, in_progress, waiting, closed
topicSingle Selecthousing, legal, health, education, other
summaryLong TextShort human-readable summary
last_contact_atDate TimeUpdated on every interaction
created_atCreated TimeAuto-managed by NocoDB
You can extend this with linked records to a contacts table, attachments for documents, and rollups for case counts per NGO.

Reading and writing rows via API

NocoDB exposes a REST API per table. The endpoint pattern is:
GET    /api/v2/tables/{tableId}/records
POST   /api/v2/tables/{tableId}/records
PATCH  /api/v2/tables/{tableId}/records
DELETE /api/v2/tables/{tableId}/records

Example: create a case from a webhook

curl -X POST "https://nocodb.example.org/api/v2/tables/<tableId>/records" \
  -H "xc-token: <your-nocodb-api-token>" \
  -H "Content-Type: application/json" \
  -d '{
    "thread_id": "session-abc123",
    "refugee_email": "jane@example.org",
    "assigned_ngo": "Sunflower Care",
    "status": "new",
    "topic": "housing",
    "summary": "Refugee asked about emergency housing in Berlin."
  }'

Example: list cases filtered by status

curl "https://nocodb.example.org/api/v2/tables/<tableId>/records?where=(status,eq,new)" \
  -H "xc-token: <your-nocodb-api-token>"
NocoDB returns paginated JSON. Iterate with the offset and limit query parameters when reading large datasets.

Linking NocoDB to the AI assistant

To let the AI assistant reference NocoDB content (for example, the catalogue of services in a services table), your administrator can connect NocoDB as a knowledge source. The mechanism depends on which AI model and retrieval setup your deployment uses, but the high-level flow is:
1

Expose the data

Make the relevant NocoDB table queryable — either through the NocoDB REST API with a scoped token, or by syncing rows into the assistant’s vector store.
2

Configure the assistant

In the WeCareRemote AI assistant configuration, register the NocoDB endpoint (or the synced index) as a retrieval source.
3

Test with a question

Ask the assistant something that should be answered from NocoDB — for example, “What housing services are available in Berlin?” The response should pull from the services table.
Knowledge-source configuration is administrator-only. If you want to expose a NocoDB table to the assistant, contact your WeCareRemote administrator with the table name and the columns the assistant should be able to read.

Security and best practices

  • Use scoped tokens. NocoDB tokens can be scoped to specific bases. Create separate tokens per integration so a leaked token has a small blast radius.
  • Mirror the JWT role model. Decide which NocoDB users correspond to blog vs org_admin and grant table permissions accordingly.
  • Audit changes. NocoDB’s row history makes it easy to see who changed what; turn on audit logs in production.
  • Avoid storing secrets in rows. NocoDB is the wrong place for credentials, raw JWTs, or other sensitive material.
  • Back up regularly. A nightly export of critical tables to object storage protects you against accidental deletions.

Troubleshooting

Double-check the xc-token header — NocoDB does not accept Bearer tokens. Also confirm the token has not been revoked in Account Settings → Tokens.
A column type does not match. Single Select columns reject values that are not in the option list; date columns reject strings that are not ISO 8601. Inspect the response body for the offending field.
NocoDB paginates by default (often 25 rows). Pass a higher limit or iterate with offset to fetch the full table.
The node lists tables by base. Make sure the base ID in the credentials matches the base that contains your table. Re-authenticating sometimes refreshes the table list.

Where to go next

n8n integration

Wire NocoDB into automated workflows triggered by WeCareRemote events.

Platform overview

See where NocoDB and n8n fit in the overall WeCareRemote architecture.