User-ID is a unique string identifier for a user in your app or agent. Function Calls and Integrations are associated to a user ID. It will be the email address you used during the signup process on Integry.
Below code snippet initializes the Integry class to interact with the Integry API using the App-Key and App-Secret.
You can view and copy your App-Key and App-Secret from the Workspace Settings.
Workspace Setting
Now initializing the instance of the ChatOpenAI class to interact with OpenAI's GPT-4o model. You can get the API Key from the OpenAI Platform
3. Initialize Agent with an Integry Function as a Tool
Perfect! Before you can use the functions available in Integry, you need to add the app to Integry. Slack, however, is pre-added to Integry by default, so there’s no need to add it manually.
Now that we've set everything up, we will proceed to send a message in Slack using the slack-post-message function from Integry. You can copy the function ID from the dropdown.
For example
In this case the function ID is slack-post-message
After getting the function ID, we then registers it with the Crew AI agents to enable the assistant to call the function.
4. Connect Your Slack Account
To allow the agent to send a message on Slack on your user's behalf, the user must connect their Slack account. To connect a Slack account against the provided user ID, execute the following snippet.
This will print a URL which can be opened in a web browser to connect Slack.
5. Execute Agent
This will execute the agent and send a Hello from crewai to the team message in the Slack random channel.
slack_post_message = await integry.functions.get("slack-post-message", user_id)
tools = [
slack_post_message.get_langchain_tool(CrewStructuredTool.from_function, user_id)
]
crewai_agent = Agent(
role="Integration Assistant",
goal="Help users achieve their goal by performing their required task in various apps",
backstory="You are a virtual assistant with access to various apps and services. You are known for your ability to connect to any app and perform any task.",
verbose=True,
tools=tools,
llm=llm,
)
task = Task(
description="Say hello from crewai to my team on slack in #random channel.",
agent=crewai_agent,
expected_output="Result of the task",
)
crew = Crew(agents=[crewai_agent], tasks=[task])
result = crew.kickoff()