CRM

Log Intercom Intent Classifications to a Postgres Signals Table

On a schedule, pulls recently closed Intercom conversations, classifies each for product intent and sentiment.

CategoryCRM
Enginesim
Difficultyintermediate
Triggerschedule
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerHourly schedule
  • ActionFetch conversations closed since last runIntercomIntercom
  • ActionClassify intent, sentiment, product areaOpenAI
  • ActionUpsert rows into Postgres signals tablePostgreSQLPostgres
  • OutputEmit run summary with counts by intent

What it does

This batch workflow sweeps all Intercom conversations closed since its last run, classifies each one for intent (expansion, risk, support-only, feature request), sentiment, and the product area mentioned, then upserts one row per conversation into a Postgres signals table. The table becomes the durable source of truth that BI dashboards and account-health scores read from, instead of querying Intercom's API every time.

When to use it

Use it when you want analytics-grade history of support intent rather than per-conversation CRM writes — for example to chart expansion-signal volume by segment or feed an account-scoring model.

How it works

  1. 1A schedule (for example hourly) triggers the run.
  2. 2Conversations closed since the last watermark are fetched in a batch from Intercom.
  3. 3Each conversation is classified for intent, sentiment, and product area.
  4. 4The structured rows are upserted into the Postgres signals table, keyed by conversation ID so reruns are idempotent.
  5. 5A run summary with counts by intent is emitted as the final output.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect IntercomConversations, contacts, articles.
  2. 2
    Connect OpenAIModels, embeddings, files.
  3. 3
    Connect PostgresAny Postgres URL — query, write, migrate.
  4. 4
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  5. 5
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  6. 6
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.