Archived
This project has been archived by its maintainers, and is no longer receiving any updates.
SignNow SmolAgents Tools
A collection of tools and agents for integrating with the SignNow API using the SmolAgents framework.
Features
This package provides:
- Agents with authorization using login/password and app key
- Tool collection (
ToolCollection) for interacting with SignNow’s core API:- Upload local documents
- Retrieve templates
- Create documents from templates
- Get detailed document information
- Fetch contacts
- Send invites for signing
You can use:
- A full agent (
SignNowSmolagentsCodeAgentorSignNowSmolagentsToolCallingAgent) - Just the tool collection (
SignNowSmolagentsToolset) - Or individual tools separately
Installation
pip install -r requirements.txt
Usage Example
Get Access Token
from sn_smolagent_tools_demo import access_token_from_login_password
token = access_token_from_login_password("your_login", "your_password", "your_app_key")
Using the Agent
from sn_smolagent_tools_demo import SignNowSmolagentsCodeAgent
agent = SignNowSmolagentsCodeAgent(access_token=token)
result = agent.run("Upload the file 'contract.pdf' and send it for signature to John Smith")
Using the Tool Collection
from sn_smolagent_tools_demo import SignNowSmolagentsToolset
tools = SignNowSmolagentsToolset(access_token=token).tools
for tool in tools:
print(tool.name)
Creating a Custom Agent with Individual Tools
from sn_smolagent_tools_demo import (
GetTemplateListTool,
UploadLocalFileTool,
GetContactsTool,
CreateDocumentFromTemplateTool,
GetDocumentInfoTool,
SendInviteTool
)
from smolagents import CodeAgent
# Initialize tools individually
get_templates_list = GetTemplateListTool(access_token=token)
upload_document = UploadLocalFileTool(access_token=token)
get_contacts = GetContactsTool(access_token=token)
create_document_from_template = CreateDocumentFromTemplateTool(access_token=token)
get_document_info = GetDocumentInfoTool(access_token=token)
send_invite = SendInviteTool(access_token=token)
# Create custom agent with selected tools
manager_agent = CodeAgent(
model=model,
tools=[
upload_document,
get_contacts,
get_document_info,
send_invite,
create_document_from_template,
get_templates_list,
],
name='signnow_agent',
description=(
'This agent integrates with the SignNow API to handle electronic signatures.'
' It can send documents for signing, retrieve their signing status, manage templates, and coordinate contacts—all within a streamlined workflow.'
),
managed_agents=[],
planning_interval=10,
verbosity_level=2,
max_steps=20,
)
Integrating the SignNow Agent as a Managed Agent
You can include the SignNow agent in your workflow as a managed agent to seamlessly add e-signature functionality to any agent you build:
from sn_smolagent_tools_demo import SignNowSmolagentsCodeAgent
from smolagents import CodeAgent
sn_agent = SignNowSmolagentsCodeAgent(access_token=token)
your_agent = CodeAgent(
model=model,
tools=[
your_tool_1, # replace with your own tools
your_tool_2,
],
name='your_agent',
managed_agents=[sn_agent], # integrate SignNow capabilities
planning_interval=10,
verbosity_level=2,
max_steps=20,
)
Available Tools
get_template_listupload_local_file_to_signnowget_contacts_from_signnowcreate_document_from_templateget_document_infosend_invite
TODO
- Add wrappers for more SignNow APIs
- Add logging and debugging features
- Improve error handling and retries
License
MIT License
Metadata
Release files for signnow-smolagents 0.1.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| signnow_smolagents-0.1.5.tar.gz | 7.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| signnow_smolagents-0.1.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.7 kB
Release files / signnow_smolagents-0.1.5.tar.gz
| Download URL | signnow_smolagents-0.1.5.tar.gz |
|---|---|
| Size | 7.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c92c79321a177dbc866bae3c8135d5d14df0ba3aaaaa33b4f2be1d1017c2d6fa
|
|
BLAKE2b-256 checksum How to use checksums |
91208495b100caf534bc7e2c2b615c0e49e50971a05f6218d9b646268090491a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.11
|
Release files / signnow_smolagents-0.1.5-py3-none-any.whl
| Download URL | signnow_smolagents-0.1.5-py3-none-any.whl |
|---|---|
| Size | 7.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b7dfe8cd908f21eecb0cd916c32e2731aeb18f8f204a44e1ba3e0265d9953d58
|
|
BLAKE2b-256 checksum How to use checksums |
e90b5f8ebb6d7aae2d32cee971b3981ca91c0f44461b3cda394377b359de238c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.11
|