Files
2026-07-13 12:38:34 +08:00

65 lines
1.6 KiB
Python

from datetime import datetime
from composio_openai import OpenAIProvider
from openai import OpenAI
from composio import Composio
# Initialize tools.
openai_client = OpenAI()
composio = Composio(provider=OpenAIProvider())
# Retrieve actions
actions = composio.tools.get(
user_id="default",
tools=["NOTION_ADD_PAGE_CONTENT"],
)
# Setup openai assistant
assistant_instruction = (
"You are a super intelligent personal assistant."
+ "You have been given a set of tools that you are supposed to choose from."
+ "You decide the right tool and execute it."
)
# Prepare assistant
assistant = openai_client.beta.assistants.create(
name="Personal Assistant",
instructions=assistant_instruction,
model="gpt-5",
tools=actions, # type: ignore
)
# Give a task to execute via Openai Assistants
my_task = (
f"Can you copy all the events in coming week from google calendar to notion? "
f"Today's date is {datetime.now()} and day is {datetime.now().strftime('%A')}"
)
# create a thread
thread = openai_client.beta.threads.create()
print("Thread ID: ", thread.id)
print("Assistant ID: ", assistant.id)
# start the asssitant with my task
message = openai_client.beta.threads.messages.create(
thread_id=thread.id,
role="user",
content=my_task,
)
# Execute Agent with integrations
run = openai_client.beta.threads.runs.create(
thread_id=thread.id,
assistant_id=assistant.id,
)
# Execute function calls
run_after_tool_calls = composio.provider.wait_and_handle_assistant_tool_calls(
user_id="default",
client=openai_client,
run=run,
thread=thread,
)
print(run_after_tool_calls)