Trakt

Trakt is a service that integrates with your media center to better keep track of the TV shows and movies that you've watched.

Integrate the Trakt API with the Google Dialogflow API

Setup the Trakt API trigger to run a workflow which integrates with the Google Dialogflow API. Pipedream's integration platform allows you to integrate Trakt and Google Dialogflow remarkably fast. Free for developers.

List Intents with Google Dialogflow API on New Show Or Movie Rated from Trakt API
Trakt + Google Dialogflow
 
Try it
Create Context with Google Dialogflow API on New Show Or Movie Rated from Trakt API
Trakt + Google Dialogflow
 
Try it
Create Context with Google Dialogflow API on New Show Or Movie Watched from Trakt API
Trakt + Google Dialogflow
 
Try it
Create Entities with Google Dialogflow API on New Show Or Movie Rated from Trakt API
Trakt + Google Dialogflow
 
Try it
Create Entities with Google Dialogflow API on New Show Or Movie Watched from Trakt API
Trakt + Google Dialogflow
 
Try it
New Show Or Movie Rated from the Trakt API

Emit new event on each new rated show or movie.

 
Try it
New Show Or Movie Watched from the Trakt API

Emit new event on each new watched show or movie.

 
Try it
Add To Watchlist with the Trakt API

Add one of more items to watchlist. See the documentation

 
Try it
Create Context with the Google Dialogflow API

Creates a context, See REST docs and client API

 
Try it
Create Entities with the Google Dialogflow API

Batch create entities, See REST docs and client API docs

 
Try it
Create Entity Type with the Google Dialogflow API

Creates an Entity Type, See REST docs and client API docs

 
Try it
Remove From Watchlist with the Trakt API

Remove one of more items from watchlist. See the documentation

 
Try it

Overview of Trakt

The Trakt API provides an interface to track and discover movies and TV shows, allowing you to manage watchlists, get personalized recommendations, and engage with a social community of film and TV enthusiasts. On Pipedream, you can harness this API to create custom workflows that automate your media activities, sync your watch status with other apps, or even analyze your viewing habits.

Connect Trakt

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import { axios } from "@pipedream/platform"
export default defineComponent({
  props: {
    trakt: {
      type: "app",
      app: "trakt",
    }
  },
  async run({steps, $}) {
    return await axios($, {
      url: `https://${this.trakt.$auth.environment}.trakt.tv/users/me`,
      headers: {
        Authorization: `Bearer ${this.trakt.$auth.oauth_access_token}`,
        "Content-Type": `application/json`,
        "trakt-api-version": `2`,
        "trakt-api-key": `${this.trakt.$auth.oauth_client_id}`,
      },
    })
  },
})

Overview of Google Dialogflow

Google Dialogflow API empowers you to create conversational interfaces for websites, apps, and messaging platforms. Think chatbots that can engage in human-like dialogue, provide customer support, guide through sales processes, or control smart home devices with voice commands. With Pipedream's integration capabilities, you can create automated workflows that trigger actions in other apps based on Dialogflow's processed input, enabling seamless interaction across a plethora of services.

Connect Google Dialogflow

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
module.exports = defineComponent({
  props: {
    google_dialogflow: {
      type: "app",
      app: "google_dialogflow",
    }
  },
  async run({steps, $}) {
    // Example code from the Dialogflow Node.js library:
    // https://github.com/googleapis/nodejs-dialogflow
    const dialogflow = require('dialogflow')
    const uuid = require('uuid')
    
    // A unique identifier for the given session
    const sessionId = uuid.v4()
    
    const key = JSON.parse(this.google_dialogflow.$auth.key_json)
     
    // Creates a session client from a Google service account key.
    const sessionClient = new dialogflow.SessionsClient({
      projectId: key.project_id,
      credentials: {
        client_email: key.client_email,
        private_key: key.private_key,
      }
    })
    const sessionPath = sessionClient.sessionPath(key.project_id, sessionId)
    
    // The text query request.
    const request = {
      session: sessionPath,
      queryInput: {
        text: {
          // The query to send to the dialogflow agent
          text: 'hello',
          // The language used by the client (en-US)
          languageCode: 'en-US',
        },
      },
    }
    
    // Send request and log result
    const responses = await sessionClient.detectIntent(request)
    console.log('Detected intent')
    const result = responses[0].queryResult
    console.log(`Query: ${result.queryText}`)
    console.log(`Response: ${result.fulfillmentText}`)
    if (result.intent) {
      console.log(`Intent: ${result.intent.displayName}`)
    } else {
      console.log(`No intent matched.`)
    }
  },
})