# Flink Udf

> Build and deploy Apache Flink user-defined functions (UDFs) in Java for stream processing over Kafka. Use this skill when users want to create scalar UDFs, user-defined table functions (UDTFs), or process table functions (PTFs) in Java, deploy them to Confluent Cloud or local Docker environments, and invoke them from Flink SQL or the Table API. Trigger on: Flink UDF, custom Flink function, proces…

- **Type:** Skill
- **Install:** `agentstack add skill-confluentinc-agent-skills-flink-udf`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [confluentinc](https://agentstack.voostack.com/s/confluentinc)
- **Installs:** 0
- **Category:** [Databases](https://agentstack.voostack.com/c/databases)
- **Latest version:** 0.1.0
- **License:** Apache-2.0
- **Upstream author:** [confluentinc](https://github.com/confluentinc)
- **Source:** https://github.com/confluentinc/agent-skills/tree/main/skills/flink-udf

## Install

```sh
agentstack add skill-confluentinc-agent-skills-flink-udf
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Flink User-Defined Functions (UDFs)

Build and deploy custom functions in Java for Apache Flink to extend SQL and Table API capabilities with custom logic.

## Function Types

Before proceeding, identify which type of function the user needs:

- **Scalar UDF**: Maps input values to a single output value (e.g., custom hash, string manipulation, calculations)
- **User-Defined Table Function (UDTF)**: Maps input to multiple output rows (e.g., split strings, explode arrays)
- **Process Table Function (PTF)**: Advanced stateful processing with N-to-M semantics, managed state, and timers (e.g., windowing, deduplication, state machines)

## Gather Requirements

Ask the user these questions to determine the implementation path (if not already clear from context):

1. **Deployment target**: Confluent Cloud or local Docker?
2. **Infrastructure**: Deploy new infrastructure (Kafka + Flink) or use existing?
3. **Invocation method**: Flink SQL or Table API?

## Route to Implementation Guide

Based on the answers above, read the appropriate reference file:

### Confluent Cloud Deployment

- **Scalar UDF or UDTF** → Read `references/udf-udtf-java-confluent-cloud.md`
- **Process Table Function (PTF)** → Read `references/ptf-java-confluent-cloud.md`

If infrastructure setup is needed, also read `references/confluent-cloud-setup.md` first.

### Local Docker Deployment

- **Scalar UDF or UDTF** → Read `references/udf-udtf-java-local.md`
- **Process Table Function (PTF)** → Read `references/ptf-java-local.md`

If infrastructure setup is needed, also read `references/local-docker-setup.md` first.

## Implementation Workflow

After reading the appropriate reference:

1. **Set up infrastructure** (if needed)
2. **Generate boilerplate code** for the function
3. **Implement the business logic**
4. **Build and package** the JAR
5. **Confirm the deployment plan with the user.** Before any resource-modifying call (`confluent flink artifact create`, `docker cp` into a running container, `CREATE FUNCTION`, etc.), present the plan and wait for explicit approval. Show:
   - Artifact name and JAR path
   - Function name to register
   - Target environment (Confluent Cloud env + compute pool ID, or local Docker container name)
   - The exact commands and SQL that will run
   Do not proceed to steps 6–7 until the user confirms.
6. **Deploy the artifact**
7. **Register the function** in Flink
8. **Test the function** with sample data
9. **Provide usage examples** (SQL or Table API)

Keep code scaffolding concise and focused on the user's specific requirements. Avoid over-engineering.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [confluentinc](https://github.com/confluentinc)
- **Source:** [confluentinc/agent-skills](https://github.com/confluentinc/agent-skills)
- **License:** Apache-2.0

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-confluentinc-agent-skills-flink-udf
- Seller: https://agentstack.voostack.com/s/confluentinc
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
