Automations

Dalil nodes in n8n

Dalil AI provides a dedicated n8n node to connect your CRM with thousands of apps and automate your workflows. This guide explains everything you need to know — from basic setup to advanced filters and real-time triggers.

Overview

The Dalil AI n8n node lets you:

  • Perform CRUD operations (create, read, update, delete) on all major CRM resources.

  • Automate workflows across People, Companies, Opportunities, Tasks, Notes, Pipelines.

  • Manage relationships (link tasks/notes to multiple records).

  • Use query parameters to fetch exactly the data you need.

  • Receive real-time triggers via webhooks for instant automations.

This means you can build anything from a simple “New LinkedIn reply → Create contact in Dalil” workflow, to a fully automated multi-step sales process with no manual CRM updates.

Authentication setup

  1. Go to your Dalil AI web app > Settings > API Key.

  2. In n8n, create new credentials:

    • Type: Dalil AI API

    • Paste your API key.

  3. Test connection to confirm.

Once set up, every Dalil node in n8n will automatically use this credential.

Supported resources

Dalil’s n8n nodes work across core CRM entities and their relationships:

  • People: Individual contacts.

    • Key fields: first name, last name, email, phone, company.

  • Companies: Organizations.

    • Key fields: name, domain, industry, employees, address.

  • Opportunities: Sales deals.

    • Key fields: name, amount, stage, close date, company.

  • Tasks: Action items.

    • Key fields: title, body, status, due date, assignee.

  • Notes: Documentation.

    • Key fields: title, body, visibility level.

  • Task Relations: Link tasks to people, companies, opportunities.

  • Note Relations: Link notes to people, companies, opportunities.

  • Pipelines: Define workflows beyond standard deals (e.g., hiring, support).

Core concepts

  • CRUD operations:

    • Create: Add a new record.

    • Get: Fetch one record by ID.

    • Get Many: Fetch multiple records with filters.

    • Update: Modify existing record.

    • Delete: Remove a record.

  • Field types:

    • Text, number, boolean, date/time, select, multi-select, rating.

    • Complex: emails, phones, links, address, money, full name.

    • ⚠️ Important: Select values must use API format (IN_PROGRESS, not “In Progress”).

  • Relationships:

    • Tasks and Notes must be linked via dedicated taskTarget or noteTarget records.

    • Each link must be one relation at a time (e.g., one task → one company, separate record for same task → one person).

Operations guide

Here are examples of creating records:

Person

{
  "firstName": "John",
  "additionalFields": {
    "lastName": "Smith",
    "primaryEmail": "john.smith@company.com",
    "companyId": "uuid-company"
  }
}

Company

{
  "name": "Acme Corp",
  "additionalFields": {
    "domainUrl": "acmecorp.com",
    "industry": "Technology"
  }
}

Opportunity

{
  "name": "Q1 License Deal",
  "additionalFields": {
    "amount": 50000,
    "currencyCode": "USD",
    "stage": "DISCOVERY",
    "companyId": "uuid-company"
  }
}

Tasks and Notes follow the same logic.

For relationships (tasks/notes linked to multiple entities):

  • ❌ Don’t combine multiple IDs in one record.

  • ✅ Create separate relation records per entity.

Query parameters

Dalil supports advanced filtering, sorting, and pagination.

  • limit: number of records (1–60).

  • offset: pagination start.

  • fields: only return specific fields (name,email,score).

  • filters: conditions like score[gt]:70 or address.city[eq]:Dubai.

  • sort: order results (createdAt[DescNullsLast]).

  • depth: how many relationships to expand (0 = object only, 1 = direct relationships, 2 = relationships of relationships).

👉 Example: Get top 5 opportunities in Negotiation, including company details

{
  "limit": 5,
  "filters": { "stage[eq]": "NEGOTIATION" },
  "expand": ["company"],
  "sort": "amount[DescNullsLast]",
  "depth": 1
}

Triggers and webhooks

Dalil Trigger nodes let you react to real-time changes.

  • Entities supported: Companies, People, Opportunities, Tasks.

  • Events supported: create, update, delete, all.

  • Webhook payload includes:

    • eventName (e.g., company.updated)

    • record (the full updated record)

    • updatedFields (fields that changed)

    • eventDate

👉 Example use cases:

  • Notify Slack when a new opportunity is created.

  • Update Google Sheets when a person’s email changes.

  • Auto-assign tasks when an opportunity moves stage.

Advanced features

  • Custom properties: The node automatically loads your workspace custom fields.

  • Complex filters: Use and(), or(), not() for advanced logic.

  • Sorting on nested fields: e.g., emails.primaryEmail[AscNullsLast].

Troubleshooting

  • Unauthorized → Check API key.

  • Invalid value → Make sure select fields use API format (DISCOVERY, not “Discovery”).

  • Date errors → Use ISO 8601 (2024-01-15T10:30:00Z).

  • Relation errors → Ensure IDs exist and only one relation per record.

  • Filter issues → Double-check syntax (field[eq]:value, not field=value).

© Copyright 2024. All rights reserved.