Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the IFTTT Service API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fifttt.com%2Fifttt" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fifttt.com%2Fifttt" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with IFTTT Service API.
Check that an IFTTT service is up with GET /ifttt/v1/status using the IFTTT-Service-Key header
Request test data from a service's test setup endpoint to drive end-to-end checks
Poll a trigger by stepSlug with trigger_identity, triggerFields, and user to read new events
Run an action by stepSlug with actionFields for a given user
GET STARTED
Perform a query by stepSlug with queryFields and follow the returned cursor
Fetch dynamic dropdown options and validate field values for trigger and action fields
Patterns agents use IFTTT Service API for, with concrete tasks.
★ AI agent testing an IFTTT service through Jentic
A developer building an IFTTT service wants their coding agent to run the same calls IFTTT will make, without hand-writing a test harness. Through Jentic the agent searches for 'run an IFTTT service action', loads the runAction operation with its input schema, and sends actionFields and user for a step slug, with the IFTTT-Service-Key and user bearer token injected at call time. The agent reports which steps respond correctly.
Call POST /ifttt/v1/test/setup, then POST /ifttt/v1/actions/{stepSlug} for each action slug with the returned sample actionFields and user, and report any non-200 responses
Trigger polling checks
IFTTT checks triggers by posting to the service with a trigger_identity, the configured triggerFields, the user, and an optional limit. A developer can replay those calls against their own service to confirm it returns events in the expected shape and honours limit. Field validation endpoints confirm a bad triggerFields value is rejected before users hit it.
POST /ifttt/v1/triggers/{stepSlug} with trigger_identity, triggerFields, user, and limit set to 3, then POST /ifttt/v1/triggers/{stepSlug}/fields/validate with values and compare the results
Dynamic field options
Services that show users a dropdown, such as a list of their boards or lists, serve it from the field options endpoints. Calling the options routes for a trigger, action, or query field returns what IFTTT will display, so a developer can check the labels and values for a test account before publishing.
POST /ifttt/v1/actions/{stepSlug}/fields/{stepFieldSlug}/options for a test user and list the returned option labels
11 endpoints — the ifttt service api defines the endpoints an ifttt service must implement so ifttt can poll its triggers, run its actions, and perform its queries.
METHOD
PATH
DESCRIPTION
/ifttt/v1/status
Service status
/ifttt/v1/test/setup
Set up and return test data
/ifttt/v1/triggers/{stepSlug}
Check a trigger for events
/ifttt/v1/actions/{stepSlug}
Run an action
/ifttt/v1/queries/{stepSlug}
Perform a query
/ifttt/v1/triggers/{stepSlug}/fields/validate
Validate trigger fields
/ifttt/v1/user/info
Get user info
/ifttt/v1/status
Service status
/ifttt/v1/test/setup
Set up and return test data
/ifttt/v1/triggers/{stepSlug}
Check a trigger for events
/ifttt/v1/actions/{stepSlug}
Run an action
/ifttt/v1/queries/{stepSlug}
Perform a query
/ifttt/v1/triggers/{stepSlug}/fields/validate
Validate trigger fields
/ifttt/v1/user/info
Get user info
What agents get from Jentic-routed access to this vendor.
Setup
Wiring the IFTTT Service API by hand means sending the IFTTT-Service-Key header on every service call, adding a user OAuth2 bearer token on user-scoped steps, and building trigger, action, and query bodies per step slug. Through Jentic you install once, import it from the API Directory, store both credentials once, and your agent calls it.
Permission scoping
The IFTTT Service API puts the step slug in the URL path (/ifttt/v1/actions/{stepSlug}), so a rule can pin your agent to one trigger, action, or query and the operations you pick. You choose the operations it may call, so action runs are not included unless you add them.
Credential isolation
Your IFTTT service key and user token are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'run an IFTTT service action' or 'check an IFTTT trigger for new events', and Jentic returns the matching operation with its input schema so the agent builds the right body without reading the protocol docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using IFTTT Service API through Jentic.
What authentication does the IFTTT Service API use?
The IFTTT Service API spec declares two schemes: an API key in the IFTTT-Service-Key header, and a bearer token carrying the user's OAuth2 access token. The status and test setup routes are declared with the service key, while the user info, trigger, action, and query routes list the service key or the user bearer token. Through Jentic both credentials are stored encrypted by your own Jentic One instance and injected at call time.
Can I run an action on my service with the IFTTT Service API?
Yes. POST /ifttt/v1/actions/{stepSlug} takes actionFields and user in the body, with an optional ifttt_source, and runs the action named by stepSlug. Use POST /ifttt/v1/actions/{stepSlug}/fields/{stepFieldSlug}/options to see the values a dynamic action field offers.
What are the rate limits for the IFTTT Service API?
The OpenAPI spec does not specify rate limits. Check the IFTTT developer documentation at https://ifttt.com/docs for the current polling and request guidance for services.
Is there an IFTTT MCP server?
You don't need an MCP server to give your agent the IFTTT Service API. Jentic connects it directly from the API Directory: import it, store your service key and user token once, and your agent calls the trigger, action, and query operations it needs, discovered on demand.
Can I limit what my agent is allowed to do with the IFTTT Service API?
Yes. For example, write a rule that allows GET /ifttt/v1/status and POST /ifttt/v1/triggers/{stepSlug} for a single trigger slug, so the agent can check health and poll that one trigger but cannot run actions. Every call it makes is logged.
How do I poll a trigger through Jentic?
Search Jentic for 'check an IFTTT trigger for new events', load the getTriggerEvents operation, and execute it with the stepSlug plus trigger_identity, triggerFields, and user in the body. To run it on your own infrastructure, install Jentic One from its GitHub repo.
For Agents
Exercise an IFTTT service implementation: check status, load test data, poll a trigger, run an action, perform a query, and fetch or validate field options by step slug.
Use for: Check whether my IFTTT service status endpoint responds, Get the test data my IFTTT service returns for setup, Poll a trigger on my service for recent events, Run an action on my IFTTT service with sample actionFields
Not supported: Does not create applets, manage a user's IFTTT account, or connect other services on their behalf. Use for implementing and testing an IFTTT service's endpoints only.
The IFTTT Service API defines the endpoints an IFTTT service must implement so IFTTT can poll its triggers, run its actions, and perform its queries. It covers a status check, a test setup call that returns test data, user info, trigger event polling with trigger_identity and triggerFields, action runs with actionFields, queries with queryFields and cursor paging, and dynamic field options and validation for each step. Calling these routes directly lets a developer or agent exercise a service implementation the same way IFTTT does, before submitting it.
This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.
Base layer of spec validity and structural soundness.
Aggregated quality score from linter diagnostics, weighted by severity.
Percentage of `$ref` references that resolve successfully.
Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).
Structural correctness score based on schema issues using logarithmic dampening.
Clarity, completeness, and ingestion readiness for developers and tooling.
How richly the API is illustrated with examples.
Percentage of examples that conform to their schemas.
Percentage of operations with complete response definitions (success, client error, server error).
Health of API ingestion, bundling, and resolution within Jentic pipelines.
Semantic breadth, depth, and agent comprehension for AI systems.
Coverage of descriptions across API elements.
Coverage of RFC 9457 Problem Details for error responses.
Coverage, uniqueness, and casing consistency of operationIds for AI inference.
Coverage of summaries across operations/tags/info.
Functional utility, complexity comfort, and AI orchestration readiness.
Agent comfort level based on API operational and structural complexity.
Trust, risk posture, and security compliance.
Average quality of security schemes based on authentication method strength (weakest link for OAuth2).
Findability, semantic richness, and reasoning readiness.
Clarity and depth of descriptions across API elements.
Score it yourself
Every API in the directory is allowlisted, so you can re-score it with no key required.
npx @jentic/api-scorecard-cli score <openapi-url>