Docugenerate

Learn how to use Docugenerate with Composio

Overview

SLUG: DOCUGENERATE

Description

DocuGenerate simplifies document generation by converting Word templates and JSON data into professional PDF files with ease. It supports automation of contracts, invoices, letters, certificates, and more, catering to both developers and non-developers. With an intuitive REST API and no-code integrations, it ensures seamless functionality for any scale.

Authentication Details

generic_api_key
stringRequired

Connecting to Docugenerate

Create an auth config

Use the dashboard to create an auth config for the Docugenerate toolkit. This allows you to connect multiple Docugenerate accounts to Composio for agents to use.

1

Select App

Navigate to Docugenerate.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Docugenerate Auth Config”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using API Key

1from composio import Composio
2
3# Replace these with your actual values
4docugenerate_auth_config_id = "ac_YOUR_DOCUGENERATE_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/app
6
7composio = Composio()
8
9def authenticate_toolkit(user_id: str, auth_config_id: str):
10 # Replace this with a method to retrieve an API key from the user.
11 # Or supply your own.
12 user_api_key = input("[!] Enter API key")
13
14 connection_request = composio.connected_accounts.initiate(
15 user_id=user_id,
16 auth_config_id=auth_config_id,
17 config={"auth_scheme": "API_KEY", "val": {"generic_api_key": user_api_key}}
18 )
19
20 # API Key authentication is immediate - no redirect needed
21 print(f"Successfully connected Docugenerate for user {user_id}")
22 print(f"Connection status: {connection_request.status}")
23
24 return connection_request.id
25
26
27connection_id = authenticate_toolkit(user_id, docugenerate_auth_config_id)
28
29# You can verify the connection using:
30connected_account = composio.connected_accounts.get(connection_id)
31print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Docugenerate toolkit’s playground

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["DOCUGENERATE"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Generate documents from template

Description

Tool to generate document(s) from a template by merging JSON data or uploading a data file. Use when you need to programmatically produce one or more documents and receive metadata including a download URL.

Action Parameters

attach
string
data
object
file
object
merge_with
string
name
string
output_format
string
output_name
string
page_break
boolean
single_file
boolean
template_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Generate documents as ZIP

Description

Tool to bulk generate multiple documents into a ZIP archive. Use when you need a batch of docs packaged as ZIP.

Action Parameters

attach
string
data
array
file
object
merge_with
string
name
string
output_format
string
page_break
boolean
single_file
boolean
template_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Generate document with attachments

Description

Tool to generate a PDF with embedded attachments. Use when you need to bundle extra files into the PDF output.

Action Parameters

attach
string
data
object
file
object
merge_with
string
name
string
output_format
stringDefaults to pdf
output_name
string
output_quality
integer
page_break
boolean
single_file
boolean
template_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Generate document with merge

Description

Tool to generate a PDF and append additional PDF files. Use when you need to merge extra pages into a generated document.

Action Parameters

data
objectRequired
merge_with
array
output_format
stringDefaults to pdf
output_name
string
page_break
boolean
single_file
booleanDefaults to True
template_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Document

Description

Tool to update a document's metadata. Use when renaming an existing document after confirming the document ID.

Action Parameters

id
stringRequired
name
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get or list templates

Description

Tool to retrieve or list existing templates. Use when needing template IDs and metadata before making updates or generating documents.

Action Parameters

page
integerDefaults to 1
per_page
integerDefaults to 50

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Template

Description

Tool to update a template’s file and settings. Use after confirming the template ID and desired inputs.

Action Parameters

file
object
id
stringRequired
name
string
region
string
versioning_enabled
boolean

Action Response

data
objectRequired
error
string
successful
booleanRequired