For Agents
Read CRM schema and write records, notes, and tasks against contacts in a Fructu workspace.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Fructu API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Fructu API API.
List and inspect Fructu objects, fields, options, and lists that define the workspace schema
Create new records on a Fructu object such as contacts or deals
Attach notes to a record to capture interaction context
Create tasks linked to a record with due date and assignee
GET STARTED
Use for: Create a new contact record in Fructu, Attach a note to an existing Fructu record, List all fields on a given Fructu object, Get the options available for a picklist field
Not supported: Does not handle email sending, payments, or marketing campaign delivery — use for CRM record, note, task, and schema operations only.
Jentic publishes the only available OpenAPI document for Fructu API, keeping it validated and agent-ready.
Jentic publishes the only available OpenAPI specification for Fructu API, keeping it validated and agent-ready. Fructu is a CRM where premium customers can read and write contacts, notes, tasks, records, and the underlying objects, fields, options, and lists that define their schema. The API exposes 19 endpoints covering object metadata, list membership, and write operations against records, notes, and tasks. Authentication uses an X-API-Key header.
Delete records, notes, and tasks the integration created in error
Walk lists of records to drive segmented outreach
Patterns agents use Fructu API API for, with concrete tasks.
★ Inbound Lead Capture
When a website form submits, an agent posts a new record on the Contacts object in Fructu via POST /records, attaches the original message as a note via POST /notes, and creates a follow-up task via POST /tasks. The full flow uses three calls and lands the lead in the right segment list ready for outreach.
Create a Fructu record on the contacts object with email and name, attach a note with the form message, and create a task due tomorrow
Schema-Aware Sync
Before writing into Fructu, an integration calls GET /objects and GET /objects/{object_id}/fields to discover which fields exist on a customer's CRM, then GET /fields/{field_id}/options to validate picklist values. This lets a sync tool adapt to per-customer schema without hardcoding field IDs.
Call GET /objects, then for the contacts object call GET /objects/{object_id}/fields and cache the field IDs
Sales Activity Logging
Sales reps want every email and call logged against the right contact. An automation listens to comms tools, finds the Fructu record by ID, and writes notes via POST /notes and tasks via POST /tasks so the activity timeline stays current. Notes can be deleted via DELETE /notes/{note_id} when an entry is wrong.
Create a note linked to record 9001 with body 'Discovery call held' and a follow-up task due in 3 days
List-Driven Segmentation
Marketing teams use Fructu lists to segment contacts. A campaign script calls GET /objects/{object_id}/lists to find the active campaign list, then GET /lists/{list_id} to walk its members for outreach. Combined with the records endpoints this powers list-based newsletters and re-engagement flows.
Call GET /objects/{object_id}/lists for the contacts object and walk one list to fetch its members
Agent-Driven CRM Updates
An AI agent inside a sales workflow takes the rep's instruction 'log this call against Acme' and resolves the company record, posts a note, and adds a task in three Jentic-mediated calls. The X-API-Key never enters the agent's prompt because Jentic injects it at execution time.
Search Jentic for 'create a fructu record', load the POST /records schema, and execute with object_id and field values
19 endpoints — jentic publishes the only available openapi specification for fructu api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/objects
List CRM objects in the workspace
/objects/{object_id}/fields
List fields on an object
/fields/{field_id}/options
Get options for a picklist field
/records
Create a record on an object
/notes
Attach a note to a record
/tasks
Create a task linked to a record
/lists/{list_id}
Read a list and its members
/objects
List CRM objects in the workspace
/objects/{object_id}/fields
List fields on an object
/fields/{field_id}/options
Get options for a picklist field
/records
Create a record on an object
/notes
Attach a note to a record
Three things that make agents converge on Jentic-routed access.
Credential isolation
Fructu X-API-Key values are stored encrypted in the Jentic MAXsystem vault. Agents receive scoped execution tokens and the raw key is injected into the X-API-Key header only at call time.
Intent-based discovery
Agents search Jentic for intents like 'create a fructu record' or 'add a note to a fructu record' and Jentic returns the matching POST /records or POST /notes operation with its input schema, so the agent calls the right shape without scanning docs.
Time to first call
Direct Fructu integration: 1-2 days to model the schema, wire auth, and build write paths. Through Jentic: under an hour — search, load, execute.
Alternatives and complements available in the Jentic catalogue.
HubSpot
Larger CRM platform with extensive marketing automation and reporting
Choose HubSpot when the agent needs marketing automation and rich reporting alongside contact management
Airtable
Schema-flexible records platform with similar object and field semantics
Choose Airtable when the workspace owner prefers a spreadsheet-style canvas over a CRM-shaped UI
Smartsheet
Work-management platform with rows, attachments, and tasks
Choose Smartsheet when the integration is more project- and workflow-driven than CRM-driven
Specific to using Fructu API API through Jentic.
Why is there no official OpenAPI spec for Fructu API?
Fructu does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Fructu API via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the Fructu API use?
Fructu uses an API-key header named X-API-Key. The key is issued from the Fructu app to premium customers. Through Jentic the key is stored encrypted in the MAXsystem vault and injected into the X-API-Key header at execution time.
Can I create a contact record through the Fructu API?
Yes. POST /records with the object_id for your contacts object and a fields payload that conforms to the schema returned by GET /objects/{object_id}/fields. The response returns the new record_id.
What are the rate limits for the Fructu API?
Fructu does not publish a fixed rate limit. Treat the API as a shared service: throttle high-volume sync jobs to a few requests per second and retry on 429 responses with exponential backoff.
How do I attach a note to a record through Jentic?
Search Jentic for 'add a note to a fructu record', load the POST /notes schema, and execute with the record_id and body. Jentic injects the X-API-Key from the vault.
Is Fructu API access free?
Fructu's public API is reserved for premium customers. There is no free tier exposed through the API itself, so the integration assumes a paid Fructu workspace.
/tasks
Create a task linked to a record
/lists/{list_id}
Read a list and its members