Skip to content

Repository files navigation

Shuffle and Singul agentic API

Connect to your favorite services with a Singul line of code.

This documentation will help you get started with Singul, understand its capabilities, and integrate it into your workflows easily. Whether you're a developer, a security analyst, or an automation engineer — Singul is built for you.

Singul is an API handler that allows you to get or update data in tools like Jira, Outlook, Gmail, Service Now, and more - with a single line of code.

Usage

Run AI Agent: run_agent("action to perform")

fromshufflepyimportSingulsingul=Singul(
"APIKEY"
)
singul.run_agent("Handle my emails from yesterday so I don't have to")

Sample functions below. If none of these match, try to use the shuffle.connect() function to run ANYTHING. By default returns the matching translation standard if available, otherwise the raw output.

fromshufflepyimportSingul# If you want to use REMOTE singul (shuffler.io / open source Shuffle)singul=Singul(
"APIKEY",
url='https://shuffler.io',
)
singul.cases.create_ticket("jira", title="Title")
singul.communication.send_message("slack", message="Test")
singul.communication.send_message("teams", message="Test")
tickets=singul.cases.list_tickets("jira")
# If you want to run it 100% locallyresp=singul.run("jira", action="list_tickets")

Normal App run control:

singul.run_app(app_id="bc78f35c6c6351b07a09b7aed5d29652", action="repeat_back_to_me", params={"call": "The value to repeat"})

Manual:

# General connectresp=singul.cases.list_tickets(
app="jira",
org_id=os.environ.get("SHUFFLE_ORG_ID"),
fields=[{
"key": "max-amount",
"value": "10"
}]
)
### Common Use Cases# General transformer - Transforms from any data into a standard, e.g. "list_tickets"sourcedata= [{"title": "Tickettitle", "id": "hiya"}]
tickets=singul.transform(sourcedata, "list_tickets") # (coming soon)*Sendemailsusing**OutlookorGmail***Fetchandmanageticketsfrom**Jira, GitHub, orTheHive***Pullalertsfrom**SIEMorSOARplatforms***Automatesecurityinvestigations*Triggerworkflowactionsacrosstools*BuildlightweightautomationusingsimpleAPIsBasicoutputfor`list_tickets`: ```json
[{
"id": "P-123",
"title": "Ticket 1"
},
{
"id": "P-124",
"title": "Ticket 2"
}]

See default standards - Standards are modifiable, and you will see your own standards on the File page in Shuffle.

Exploring usage

To look through past executions, see the execution debugger available on /workflows/debugimage

Available Apps & categories

Local testing

cd build_singul
cp -r ../shufflepy singul
python3 -m pip install -e . --break-system-packages
# You can now import the library locally :)

About

Connect to your favorite services with a single line of code

Topics

Resources

Stars

2 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages