Creating automations
The easiest way to create an automation is to ask Faheem Code directly. The Automation Skill handles all the details—you just describe what you want.
Prompt vs plugin automations
There are two types of automations:
Most automations are prompt-based. Just describe the task in natural language:
Create an automation called "Daily Standup Summary" that runs every weekday
at 9 AM Eastern. It should check our GitHub repo for PRs merged yesterday
and post a summary to #engineering on Slack.
This is all you need for reports, monitoring, data syncs, and most common tasks.
For specialized capabilities, include one or more plugins from the Faheem Code extensions repository:
Create an automation using the code-review plugin that runs every weekday
at 9 AM. It should review any Python files changed in the last 24 hours.
Plugins provide additional skills, MCP configurations, or custom commands that extend what the automation can do.
The agent will:
- Confirm the automation name and what it does
- Set up the schedule you requested
- Create the automation (with plugins if specified)
Once created, it runs automatically on schedule.
What to include in your request
When asking Faheem Code to create an automation, include:
- What it should do: Describe the task clearly
- When it should run: Daily, weekly, every hour, etc.
- Timezone (optional): Defaults to UTC if not specified
- Run timeout (optional): Defaults to 10 minutes; the maximum depends on your deployment
- Name (optional): The agent can suggest one based on your description
- Plugins (optional): Mention specific plugins if you need extended capabilities
Writing good automation prompts
The prompt is what the AI agent executes each time the automation runs. Write it like you're giving instructions to a capable assistant.
Be specific
Generate a report
Generate a weekly status report that:
1. Lists all GitHub PRs merged in the last 7 days
2. Summarizes open issues by priority
3. Formats everything as markdown
4. Posts to the #team-updates Slack channel
Include where to send results
Tell the automation what to do with its output:
- "Post to the #alerts Slack channel" (requires Slack MCP)
- "Save to
reports/weekly-summary.md" - "Create a GitHub issue with the findings" (automatic if you logged in with GitHub)
- "Send a message via the configured notification service"
Specify error handling
For monitoring tasks, explain what should happen when things go wrong:
Check the health endpoint at https://api.example.com/health.
If it returns anything other than 200 OK, send an alert to #ops
with the status code and response body.
If it's healthy, just log success without alerting.
What your automation can access
Each automation runs in a full Faheem Code sandbox with:
- Terminal access: Run any bash commands
- File operations: Create, read, and modify files
- Your LLM: Uses your configured model from settings
- Your secrets: Access API keys stored in Settings > Secrets
- MCP integrations: Use your configured MCP servers
- Network access: Make HTTP requests, connect to APIs
- Git provider access: Tokens from your login (GitHub, GitLab, or Bitbucket) are automatically included
Schedules
Tell Faheem Code when you want the automation to run in plain language:
- "every weekday at 9 AM"
- "every Monday morning"
- "hourly"
- "every 15 minutes"
- "first day of each month"
- "twice a day at 9 AM and 5 PM"
The agent converts this to the appropriate cron schedule.
Run timeouts
Each run stops after its timeout. The default is 10 minutes; you can request up to 30 minutes, for example: "Use a 20-minute timeout."
After creation
Once your automation is created:
- It starts enabled by default and will run on the next scheduled time
- You can view past runs in the Faheem Code UI
- Each run creates a conversation you can review or continue
- You can disable, update, or delete it anytime (see Managing Automations)