Excel Add-ins
An Excel add-in is a compute process that powers custom functions inside Microsoft Excel. It runs as a server on Datatailr and exposes Python functions that Excel users can call directly from their spreadsheets — just like built-in Excel functions.
Excel add-ins bridge the gap between Python's data processing capabilities and Excel's familiar interface. They are ideal for delivering live data feeds, custom calculations, and model outputs to business users who work primarily in Excel.
How It Works
You define an Addin object and use the @addin.expose() decorator to mark which Python functions should be available in Excel. Each exposed function becomes a callable Excel function that sends its arguments to the Datatailr server, executes your Python code, and returns the result to the spreadsheet.
# my_addin.py
from datatailr.excel import Addin
addin = Addin(name="Finance Tools")
@addin.expose(description="Get the current stock price", help="Returns the latest price for a given ticker symbol")
def stock_price(ticker: str) -> float:
# Your data fetching logic here
prices = {"AAPL": 185.50, "GOOGL": 142.30, "MSFT": 415.20}
return prices.get(ticker, 0.0)
@addin.expose(description="Calculate compound interest", help="Returns the future value given principal, rate, and years")
def compound_interest(principal: float, rate: float, years: int) -> float:
return principal * (1 + rate) ** years
Once deployed, Excel users can use these functions in their spreadsheets:
=stock_price("AAPL") → 185.50
=compound_interest(1000, 0.05, 10) → 1628.89
Key Features
- Native Excel integration — Exposed functions appear as regular Excel functions with autocomplete and help text.
- Live data — Functions can fetch real-time data from databases, APIs, or other sources.
- Streaming support — Functions can stream results back to Excel for live-updating cells.
- Progress bars — Long-running calculations can report progress back to the spreadsheet.
- Access control — Control which users can access the add-in through Datatailr's ACL system.
Deploying an Excel Add-in
Deploy the add-in using the ExcelAddin job type:
# deploy.py
from my_addin import addin
from datatailr import ExcelAddin
excel = ExcelAddin(
name="Finance Tools",
entrypoint=addin,
python_requirements="requests",
)
excel.run()
You can also deploy the demo add-in from a workspace:
python -m examples excel
Once deployed, manage your add-in:
dt job ls # List all compute processes
dt job get finance-tools # View add-in details
dt log read finance-tools # Read add-in logs
Managing in the Dashboard
Navigate to Compute Processes and select the Excel Addins tab to see all your deployed add-ins. The view shows the add-in name, current state, owner, architecture, and resource allocation. Add-ins that are ready have an Open button to access the add-in configuration page.

Use the toggle on the left to start or stop an add-in. Click on any add-in to view its logs, exposed functions, and deployment history.