AI agent instructions
AI agent instructions
Via Python SDK
The simplest way to call a Function:Run Parameters
run_parameters.py
Handling Results
Via HTTP API
Call Functions as HTTP endpoints. Send your API key both asAuthorization: Bearer and in the x-notte-api-key header. Set "stream": false to get a single JSON response instead of a log stream:
POST Request
Response
Via cURL
Basic cURL Request
Generate cURL Command
Get the exact cURL command for your Function:Via JavaScript/Node.js
Call from JavaScript applications:With Axios
Streaming Logs
Watch function execution in real-time:Via SDK
Via HTTP (Server-Sent Events)
Async Invocation
Create and Start Separately
Use Pythonāsfunction.create_run() or TypeScriptās fn.createRun() only when you need a run ID before execution begins.
It creates the run record only. Pass that ID to function.run(function_run_id=...)
or fn.run(variables, { functionRunId }) to execute it. Omitting the ID automatically creates a new run.
Set NOTTE_FUNCTION_ID to your deployed functionās ID before running these examples:
Run Without Blocking the Event Loop
function.run() is synchronous and waits for completion. stream=True (the default)
prints live logs; stream=False receives the final JSON response without live logs.
Disabling streaming does not make standard-runtime execution non-blocking.
Use asyncio.to_thread() to keep your applicationās event loop available:
async_run.py
Check Run Status
function.get_run(run_id) fetches the current status and result without waiting
for execution to finish. From async code, use await asyncio.to_thread(function.get_run, run_id).
In TypeScript, use await fn.getRun(runId); fn.retrieve(runId) remains a compatible alias.
Stop a Running Function
stop_running.py
Webhook Integration
As Webhook Endpoint
Use Functions as webhook receivers:webhook_handler.py
Testing Webhooks
Test webhook locally:Error Handling
SDK Error Handling
sdk_error_handling.py
Disable Raise on Failure
HTTP Error Handling
Batch Invocations
Run Multiple Functions
Sequential Invocations
Cloud Execution
Functions always run on Notteās cloud infrastructure:- Scalable
- No local resources needed
- Built-in logging
- Session replays available
run handler directly from Python (see Testing Locally).
Rate Limits
Account Limits
Functions have rate limits based on your plan:- Free: 10 concurrent runs
- Pro: 50 concurrent runs
- Enterprise: Custom limits
Handling Rate Limits
Best Practices
1. Use Appropriate Timeout
2. Stream Logs for Debugging
stream_debug.py
3. Handle Errors Gracefully
graceful_errors.py
4. Use Variables for Dynamic Data
use_variables.py
Next Steps
Schedules
Schedule Functions automatically
Management
Update and monitor Functions
Creating Functions
Learn to write Functions
API Reference
Full API documentation